Go Down

Topic: Controllare 20 LED in funzione del tempo (Read 1 time) previous topic - next topic

Standardoil

#15
Apr 01, 2019, 07:49 am Last Edit: Apr 01, 2019, 07:52 am by Standardoil
Lasciami dire che il tuo approccio non mi piace
Una lunga enumerazione di tanti stati successivi, quando quello che cerchi è  in realtà la sovrapposizione  di tre cicli più corti e più semplici, che con tre tabelle corte te la cavi
Se vuoi usare tabelle, perché  quello che vuoi ottenere si può ottenere per via sintetica (Cioè calcolando) invece che per via estensiva (Cioè enumerando)
Sono comunque convinto che impostando bene il programma, con tre shift register e un Rtc, riesci a fare tutto anche su un Arduino  UNO
Prima legge di Nelson (che sono io): A parità di risultato maggiore è il pensiero, minore il lavoro. Quindi prima di fare pensa!
Non si da retta a studenti: andate a copiare da un'altra parte...
Lo hai visto su Youtube? -> lo chiedi su Youtube

gpb01

>Standardoil: ... credo tu abbia perso di vista la parte iniziale della sua richiesta:

... vorrei  aggiungere che non cerco, sia dal punto di vista software che hardware, soluzioni sofisticate: ne preferisco macchinose ma semplici, piuttosto che eleganti ma complesse.
Guglielmo
Search is Your friend ... or I am Your enemy !

srecalcati

Buongiorno a tutti :). Non metto in dubbio il fatto che ci siano modi più sofisticati ed efficienti, ma utilizzando un unica matrice e 20 output è il modo in cui io lo saprei fare da solo (dopo un input da un esperto come voi). Altrimenti dovrei quasi totalmente affidarmi ad una gentile persona che si prenda la briga di seguirmi passo passo nell'utilizzo di shift register etc. Oppure dimmi tu Standardoil, potrei riuscire a studiare l'utilizzo di tali componenti in tempo relativamente breve o è necessaria l'esperienza "di una vita elettronica" per azzeccare il modo e l'uso (non so se mi spiego sinceramente)? Se sì, avrei bisogno di documentazione e riferimenti, voi riuscireste a indirizzarmi?
Però, senza offendere nessuno, preferisco la semplicità.

Vi ringrazio tutti molto, Stefano

Standardoil

#18
Apr 01, 2019, 09:11 am Last Edit: Apr 01, 2019, 09:12 am by Standardoil
Per Guglielmo: io piuttosto temo che lui abbia perso di vista di essere uno studente di "matematica"
Io no ho mai visto un matematico che preferisce soluzioni goffe a soluzioni eleganti
Credo anzi che sia qualcosa di più di una tendenza, sia un "piacere" per i matematici trovare eleganza e simmetria
Poi, per carità...
Si tratta di gusti personali.
Prima legge di Nelson (che sono io): A parità di risultato maggiore è il pensiero, minore il lavoro. Quindi prima di fare pensa!
Non si da retta a studenti: andate a copiare da un'altra parte...
Lo hai visto su Youtube? -> lo chiedi su Youtube

Standardoil

Per lo op, invece
Studiare non è mai sbagliato
Io affermo che la strada che consiglio io è meno lunga che scrivere una numerazione completa, anche tenendo conto del tempo di apprendimento
Poi, scelte personali sono
Prima legge di Nelson (che sono io): A parità di risultato maggiore è il pensiero, minore il lavoro. Quindi prima di fare pensa!
Non si da retta a studenti: andate a copiare da un'altra parte...
Lo hai visto su Youtube? -> lo chiedi su Youtube

srecalcati

Standardoil, è proprio una questione di efficienza razionale che mi spinge a prendere queste decisioni. Non ho molto tempo da dedicare a progetti extra accademici e addentrarmi nei meandri dell'elettronica non è al momento la mia priorità. Passo la vita a ottimizzare soluzioni(e pure mi piace) , almeno nel mio tempo libero vorrei poter agire liberamente e mettere la semplicità al primo posto. Che io utilizzi un Arduino Uno o mega, poco cambierà le sorti di questo progetto.

Grazie!

maubarzi

Se vuoi evitare pcb per saldarci gli UNL2003A prova a vedere se sono più semplici i PCA9685.
Quì trovi un documento che spiega bene come usarlo. Pilotano servo motori ma il principio è analogo a quello dei led.
Quì hai datasheet, schemi, librerie ecc. che ti possono servire.

Sono multiplexer, quindi hai un ingresso binario per selezionare una delle 16 uscite e poi gli imposti valore (acceso/spento) ed intensità (puoi gestire eventualmente una luminosità differente in PWM).
Ti fai il giro di tutte e 16 le uscite per tutte e 3 le schede e hai impostato i tuoi 20 led.
Hai un elemento in più da gestire via software ma uno in meno via hardware perchè non devi crearti un pcb ma puoi collegare i cavi direttamente alle schede.

Poi vedi tu quale soluzione è più semplice per te.
Nessuna buona azione resterà impunita!

Preistoria -> medioevo -> rinascimento -> risorgimento -> rincoglionimento!

srecalcati

Quindi con questa scheda posso controllare 16 led con due pin, ciò implica che potrei usare un arduino uno, giusto? In oltre volevo chiedere: posso controllare gli altri quattro con le uscite standard di arduino uno? Se così fosse, tu hai parlato di 3 schede, io ne conto 2 (16 led li controllo con PCA9685, e fa una scheda, e 4 con output di arduino, e fa due schede). Spero di non aver detto stron****, sono un neofita mi scuso.

Grazie molte, Stefano.

maubarzi

no, la str... l'ho detta io, scusami, i tuoi conti sono giusti io ero andato in automatico facendo una sostituzione 1:1, quando non accendi del tutto il cervello capita ;)

1 scheda con 16 uscite + 4 pin diretti + 2 pin per la comunicazione I2C con la scheda che sono quelli già previsti nella scheda (A4 (SDA), A5 (SCL)), che se aggiungi un RTC con interfaccia sempre I2C li puoi usare anche per leggere l'ora senza dover usare altri pin.

Se ti serve il PWM i 4 pin aggiuntivi li devi scegliere tra i pin 3, 5, 6, 9, 10 e 11 che gestiscono il PWM, altrimenti vanno bene anche gli altri.
Nessuna buona azione resterà impunita!

Preistoria -> medioevo -> rinascimento -> risorgimento -> rincoglionimento!

srecalcati

#24
Apr 01, 2019, 07:48 pm Last Edit: Apr 01, 2019, 10:40 pm by srecalcati
Perfetto direi. A questo punto l'unico problema sembra il software.

Quindi avrei intenzione di comprare questi componenti:

Arduino UNO - https://www.futurashop.it/arduino-uno-rev-3-con-cavo-usb-8500-comb06g?search=arduino%20uno

RCT - https://www.futurashop.it/Breakout-DS3231-EEPROM-3085-DS3231RTC

PCA9685 - https://www.futurashop.it/16-CANALI-PWM-12BIT-SERVO-8300-YB607?search=PCA9685%20

Secondo voi avrò bisogno di altro?

Grazie!


srecalcati

#25
Apr 01, 2019, 10:43 pm Last Edit: Apr 01, 2019, 11:49 pm by srecalcati
Mi sono reso conto che dovrò utilizzare dei circuiti di potenza poiché dovrò controllare fino a 9 led con un singolo pin. Mi chiedevo, ci sono delle schede con 16/20 transistor e alimentazione a 12 volt per questo scopo? Dallo schema del PCA9685 non mi sembra che possa fare direttamente questa cosa.

Grazie

Edit: ho trovato queste schede,credo che facciano a caso mio, giusto?

www.ebay.it/itm/8-way-transistor-Interface-Board-for-PIC-AVR-ARDUINO-PI/113702400395?hash=item1a7930f18b:g:s80AAOSwxYxUuk9p

maubarzi

Quindi devi pilotarne 200 e non 20, a gruppi di 10 (circa)?
Allora ci devi mettere anche il cip che ti aveva suggerito Guglielmo, cioè gli ULN2803A che sono array di transistor darlington che se non ho letto male sopportano fino a 500mA per ogni canale.
Che guardando bene le immagini sono esattamente quelli del tuo link.

A questo punto, però, ha senso continuare con il PCA9685? oppure semplifichi il tutto tornando al suggerimento iniziale di usare un Arduino MEGA, che ha pin a sufficienza, e gli ULN2803A?

Nessuna buona azione resterà impunita!

Preistoria -> medioevo -> rinascimento -> risorgimento -> rincoglionimento!

-zef-

Mi sfugge come mai non siano stati consigliati i neopixel, si pilotano con un unico pin, non necessitano di driver di potenza, sono relativamente semplici anche da programmare e inoltre essendo RGB potrebbe anche variare il colore in fascie orarie, rendere più luminoso di giorno e meno di notte, ecc. ecc.

srecalcati

Quindi devi pilotarne 200 e non 20, a gruppi di 10 (circa)?
Sì circa, in realtà "solo" 110 in gruppi da 3 fino a 9 led.

A questo punto, però, ha senso continuare con il PCA9685? oppure semplifichi il tutto tornando al suggerimento iniziale di usare un Arduino MEGA, che ha pin a sufficienza, e gli ULN2803A?
E' esattamente ciò a cui stavo pensando, secondo me non ha senso continuare con il PCA9685, prenderò Arduino MEGA e ci attacco direttamente 3 ULN2803A.

Con il rtc a livello hardware sono a posto.

Mi farò sentire tra una settimana circa per il software, spero che qualcuno mi possa aiutare! (Anche se qualche idea già ce l'ho.)

Ringrazio tutti, in particolare Guglielmo e maubarzi.

Un caro saluto, Stefano

gpb01

Mi raccomando un attento studio del datasheet del ULN2803A di cui ti ho messo il link ... specie per i diagrammi di pagina 9 (massime correnti in funzione del numero di uscite attive) e delle indicazioni di pagina 18.

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up