Stai visualizzando 8 post - dal 9 a 16 (di 22 totali)
  • Autore
    Post
  • #8100
    Picmicro675
    Moderatore

    Se sei a corto di piedini per pilotare diversi LEDs conviene che opti per un MAX7219, che con 3 piedini ci potrai pilotare 64 LEDs con tanto di memoria interna (cambi quando cambi una qualcosa), di regolazione della luminosità. Di questi periodi, penso che dovresti trovare con acquisti online. Ci sono i soliti modulini cinesi per un paio di euro. Il Circuito integrato magari lo fan pagare se lo vuoi in DIP.
    Sempre che non hai già tutto assemblato e cerchi la soluzione spiccia.

    • Questa risposta è stata modificata 1 anno, 3 mesi fa da Picmicro675.
    • Questa risposta è stata modificata 1 anno, 3 mesi fa da Picmicro675.
    • Questa risposta è stata modificata 1 anno, 3 mesi fa da Picmicro675.
    #8106
    Picmicro675
    Moderatore

    Per casi che invece si pensa di ampliare il numero dei piedini, allora si può pensare a un IO-expander a 8 o 16 bit, come PCF8574 o MCP27013, rispettivamente. Le librerie poi ci sono per entrambe.

    #8201
    gvsoft
    Partecipante

    PicMicro, leggo soltanto oggi i tuoi commenti.
    i tuoi suggerimenti sono utilissimi, ma non ho problemi di piedini o di numero di led: nel progetto che sto portando a termine uso: un max7219 per pilotare un display 7 seg, e per pilotare i dodici led uso un vecchio 74154 (decoder con 16 uscite che vanno a “0” singolarmente). L’ingresso di questo decoder (A0/A3) viene connesso alle uscite di un 7493 che conta dodici impulsi Il mio problema iniziale (risolto parzialmente) è che questo contatore non si resetta all’accensione del sistema, ma presenta sulle uscite Q0/Q3 un valore casuale. Questo interferisce con la logica del progetto: il 7493 si azzera a 12^ impulso ma devo azzerarlo anche all’accensione. Accensione che in realtà dovrebbe essere “una tantum” ma se arriva un blackout ? (dalle mie parte capita….). Tra l’ altro questo progetto è una riedizione di un vecchio orologio progettato ben 8 anni fa con un picf1684.
    Appena avrò finito pubblicherò lo schema elettrico e avrò piacere di leggere i Vs commenti.
    Ciao
    gvsoft

    #8215
    Picmicro675
    Moderatore

    Devo dire che è un po macchinoso per ottenere l’accensione di uno dei 12 LED. Forse sei ancora amante dei circuiti integrati 74xxx degli anni ’70. In tempi più recenti si può pensare ad un secondo MAX7219, oppure una coppia di 74HC595 (La serie HC son già più moderni).
    > questo contatore non si resetta all’accensione del sistema, ma presenta sulle uscite Q0/Q3 un valore casuale.
    Il classico CR sul piedino di reset. Se anche arduino lo vuole resettare, allora il segnale non collegato al positivo ma ad un piedino di Arduino. Oppure entrambe dando un impulso sufficientemente lungo da far passare attraverso il condensatore. Con 2 si dovrebbe avere un piccolo disturbo all’arduino, ma i diodi di protezione dei piedini possono tenere, altrimenti ci dovrebbe essere una resistenza che limita il picco di corrente, Ma quello potrebbe anche allungare il tempo di far cambiare il livello logico sui piedini di reset.

    ++++ Caricamento immagine FidoCad ++++
    vedi sorgente fidocadJ Zoom fidocad

    Devo dire che lo schizzo in fidocad non rende bene la presentazione, allora si deve ingrandire.

    • Questa risposta è stata modificata 1 anno, 3 mesi fa da Picmicro675.
    • Questa risposta è stata modificata 1 anno, 3 mesi fa da Picmicro675.
    #8222
    gvsoft
    Partecipante

    Allora,
    premetto che lo scopo di questo progetto è non solo modermizzare il vecchio progetto di 8 anni fa ma sopratutto recuperare il più possibile i dispositivi già presenti.
    Il 74154 anche se vecchissimo è proprio uno di quelli.
    Io ho un’ altra teoria: Ciò che non può essere facilmente risolvibile via Hardware (parlo sopratutto per i non esperti o principianti e io sono tra quelli) si può risolvere anche via software. Poichè il problema è sempre lo stesso (azzerare il 7493 al 12 impulso) ecco come a mio parere si può risolvere via software.
    0) Un pin di arduino pone a “1” logico i MR1/MR2 del 7493 (Condizione iniziale al setup per azzerare il 7493 all’ accensione) per poi riportarlo a “0” logico.
    1) Il clock viene posto a “1” logico (il contatore rirmane fermo)
    2) Il clock al 7493 viene fornito da un pin di arduino quando i secondi dell RTC valgono zero o cinque (4 bit lower) Transizione “H-L-H”
    3) Conteggiamo allora quanti clock vengono emessi.
    4) Poichè ne sevono 12 allora all’ undicesimo impulso (conteggio da “0” a “11”) un pin arduino pone a “1” logico Mr1/Mr2 del 7493 che si azzera.
    5) Riportiamo a “0” logico il suddetto pin
    6) Riprendiamo il ciclo ci conteggio
    Logicamente tra un impulso e l’ altro un ritardo di qualche us.

    Tutto ciò è ovviamente teorico: mi riservo di effettuare delle prove.
    Saluti
    gvsoft

    #8224
    Picmicro675
    Moderatore

    > premetto che lo scopo di questo progetto è non solo modernizzare il vecchio progetto
    Allora non si discute oltre.

    #8226
    Amilcare
    Amministratore del forum

    Se nella condizione iniziale una delle uscite è a zero e tu gli dai potenziale uno lo integrato fa il permaloso e decide di non collaborare più a vita. Sei costretto a sostituirlo 😉

    #8256
    gvsoft
    Partecipante

    Amilcare, scusa ma non ho capito il tuo messaggio
    Quale uscita del 7493 è a “0” ? Solo Q0/Q3 che cambiano stato in base al clock (verificato più di una volta) in modo binario.
    MR1/MR2 sono ingressi a quanto dicono i datasheet (con un AND) e li collego ad un pin di arduino che viene posto a “0” per avanzare il clock e a “1” per azzerarlo.
    Se questi due ingressi non vengono connessi o posti a zero logico il contatore si azzererà solo al sedicesimo impulso.
    ciao
    giovanni

Stai visualizzando 8 post - dal 9 a 16 (di 22 totali)
  • Devi essere connesso per rispondere a questo topic.