Go Down

Topic: Costruzione Orologio a led da parete - guida per dummies (Read 70143 times) previous topic - next topic

ghezzia

Attenzione comunque che sono ad ANODO comune, quindi li dovrai pilotare a logica inversa (LOW accende il segmenteo, HIGH lo spegne).
Ecco... qui iniziamo ad entrare in tecnicismi per me incomprensibili. Comunque credo che si sia già in ambito di programmazione della scheda parlando di questi aspetti, corretto?

Ah ... naturalmente NON puoi collegare i singoli segmenti ai pin di Arduino (richiedono troppa corrente), ma dovrai usare dei driver.
A questo proposito volevo chiedere: ma la scheda di arduino può essere alimentata direttamente dalla rete elettrica? trasformandola in bassa tensione ovviamente :)

Alex

Etemenanki

...
Attenzione comunque che sono ad ANODO comune, quindi li dovrai pilotare a logica inversa (LOW accende il segmenteo, HIGH lo spegne).
...
... oppure usare dei 2803 o 2003 per pilotare i catodi ... ;) ... se vuoi fare il multiplexing alla vecchia maniera, dovrai anche usare 4 transistor PNP (6 se metti anche i secondi) che reggano una certa corrente, oppure mosfet a canale P pilotati da comuni BC337, per gli anodi comuni ... nulla di trascendentale, comunque ...
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

claudio_f

Quote
così complicato?
Ma elettronica e programmazione sono oggettivamente materie molto vaste che richiedono studio e pratica prima di poter progettare qualcosa da zero. I sistemi di oggi (librerie software e moduli già pronti come Arduino e i vari shield) semplificano un po', nel senso che permettono entro certi limiti di "assemblare" senza doversi occupare di tutti i minimi dettagli progettuali, ad esempio per pilotare display LCD "intelligenti" bastano pochi fili e si trovano molti esempi di base sul software da scrivere. Ma usare componenti non intelligenti (come i display LED in questione) richiede di sapere come vanno usati i diodi, calcolare quanta corrente serve per l'intero insieme, che dissipazioni di potenza ci sono in gioco, come realizzare un apposito "driver" per i segmenti (o sceglierne e comandarne uno esistente). Per questo è praticamente impossibile una "guida passo passo".

Direi che le strade (stiamo parlando di hobby) sono due:
-la prima è quella di trovare un progetto già bello e pronto e copiarlo pari pari (magari chiedendo per i dubbi)
-la seconda è tenere si a mente l'obiettivo dell'orologio (perché senza un obiettivo difficilmente si è motivati a fare qualcosa), ma prima di arrivare ad esso fare una lunga serie di (già interessanti ed istruttivi in sè stessi) esperimenti intermedi con ogni componente, che permettano di acquisire a piccoli passi la pratica e le conoscenze necessarie.

Sicuramente va letto qualcosa sui componenti base (diodi, transistor, calcolo resistenze acc), bisogna provare ad alimentare "a mano" in modo corretto un solo display, provare a comandare con Arduino dei LED semplici in modo da vedere come si fa ad accendere/spegnere qualcosa e a creare delle sequenze comandate da programma, poi come si può comandare un segmento tramite Arduino e un driver di potenza intermedio. Poi mettere insieme tutte queste cose e provare a fare ad esempio conteggio avanti e indietro su un solo display premendo due pulsanti (più o meno quello che hanno fatto qui: www.evilmadscientist.com/2009/giant-seven-segment-displays). Poi vedere come si possono controllare più display insieme (multiplex, driver seriali ecc). Quando si saprà visualizzare il numero a quattro cifre che si vuole, allora si può dire "ho acquisito lo skill visualizzazione" (e nel frattempo un sacco di sottoskill), e si può partire con quello della gestione dell'ora, preferibilmente leggendo un real time clock già pronto di cui si trovano già esempi.

Quote
Ecco... qui iniziamo ad entrare in tecnicismi per me incomprensibili. Comunque credo che si sia già in ambito di programmazione della scheda parlando di questi aspetti, corretto?
Si e no, le due cose (hardware e software) non sono svincolate tra loro, si può costruire un hardware tenendo conto di come lo si vuole comandare con il software. Il discorso anodo/catodo è prettamente elettronico, il modo di usare HIGH e LOW a software dipende da come si è progettato il circuito di comando del singolo segmento.

Poi ovviamente si, Arduino si alimenta non solo via USB ma anche con un alimentatore esterno, ad esempio a 12V, la cui potenza va calcolata in base a quanto deve assorbire l'intero progetto.

Giusto per cominciare con qualche numero... i display che hai linkato su RS (belli, non li conoscevo, anche a me sembra che il prezzo sia sceso -occhio che va aggiunta l'iva più trasporto-), prima di tutto bisogna conoscerne le caratteristiche elettriche, e a questo serve il datasheet sulla destra (rigorosamente in inglese), da cui si evince che ogni segmento richiede da 7.5 a 10V di tensione e 60mA di corrente. Sette segmenti completamente accesi al massimo della luminosità (escluso il punto decimale) richiedono perciò 420mA, che usando un alimentatore da 12Vcc significano almeno 5 watt di potenza. Ora, considerando che i segmenti non saranno sempre tutti accesi, che la luminosità non sarà tenuta al massimo, e che probabilmente le diverse cifre verranno comandate in multiplex (una sola accesa per volta in rapida sequenza), un normale alimentatorino 12Vcc 1A dovrebbe bastare.

Etemenanki

#18
Oct 27, 2016, 11:21 am Last Edit: Oct 27, 2016, 11:25 am by Etemenanki
... un normale alimentatorino 12Vcc 1A dovrebbe bastare.
Sempre meglio abbondare leggermente, che male non gli fa mai ;) (e poi comunque ormai gli alimentatori da 12V 2A costano quasi come quelli da 1 ... :D)


> ghezzia: ti allego un paio di esempi (apri l'immagine in un'altra pagina, altrimenti non si vede bene perche' il forum rimpicciolisce le immagini grandi) di schema per il multiplexing di display a 7 segmenti ... il primo dei due andrebbe bene con display piccoli, che possano essere alimentati a 5V (anche perche' altrimenti, con l'alimentazione dei display piu alta di quella della logica, i darlington non funzionerebbero correttamente ... inoltre, come detto da Guglielmo, con quello schema per accendere la cifra bisogna dargli LOW, mentre i segmenti sono accesi a HIGH) ... il secondo invece puo usare per i display una tensione piu alta di quella della logica, quindi andrebbe bene nel tuo caso, e non e' a logica invertita ...

Sono per 6 cifre, ma se non usi i secondi, basta non montare i relativi display ...


"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

ghezzia

Grazie degli schemi Etemenanki, much appreciated :).
Sicuramente è un buon punto di partenza.
Vi faccio una ulteriore domanda: quale Arduino mi consigliereste? Arduino UNO è sufficiente? oppure visto la scalabilità di cui parlavo e che vorrei mantenere è meglio qualcosa di diverso?
inizio a studiare intanto ;)

Etemenanki

Tieni presente che se usi 6 cifre e vuoi fare il multiplexing "vecchia maniera", gia ti servono 13 pin di uscita (11 se usi solo 4 cifre) ... se prevedi di volerci aggiungere qualcosa in seguito, direi che e' meglio partire gia da subito con una MCU che offra piu pin disponibili ;)

La mega ti mette a disposizione 50 (o erano 52 ? ... e' meglio lasciare la seriale libera, mi pare ? ) pin liberi, mentre invece se vuoi costruirti uno standalone ottimizzato, il mega1284P (che si trova ancora in formato PDIP) ti da, se non ricordo male, 32 pin disponibili per l'utilizzo ...
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

ghezzia

rieccomi,
in effetti ho visto la MEGA e mi sembra la più completa... forse inizia a diventare un orologio un pò troppo costoso. Comunque la soddisfazione, come ha detto qualcuno in precedenza, di costruirsi qualcosa di personale mi darà la giusta motivazione :).

Immagino servano altri componenti oltre la scheda e i display. Sapreste dirmi cosa posso iniziare a cercare?

zoomx

Forse ti complico la vita ma magari si potrebbe utilizzare una scheda STM32 economica (costa meno della Mega) ma non so se il fatto che vada a 3.3V invece che 5 poi dia problemi.

Edit: LaSTM32 ha pure tanti pin

Etemenanki

Se lo vuoi preciso, un RTC, anche ... schedina con DS3231, economico e piu preciso dei predecessori ... poi ovviamente i driver e le resistenze, per la sezione display ... ed immagino ti servira' qualche pulsante per le impostazioni ... contenitore da appendere, li devi vedere tu ... fili per i cablaggi ... stagno di buona qualita' ... una confezione formato famiglia di pazienza ... (ah, no, quelle non le vendono piu ... ;))
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

ghezzia

Forse ti complico la vita ma magari si potrebbe utilizzare una scheda STM32 economica (costa meno della Mega) ma non so se il fatto che vada a 3.3V invece che 5 poi dia problemi.

Edit: LaSTM32 ha pure tanti pin
si in effetti ho visto la scheda e sicuramente è più economica, solo che utilizzando quella andrei a "snaturare" la filosofia DIY che Arduino ha creato nel mondo e che vorrei dare alla creazione dell'orologio ;)... comunque grazie del suggerimento.

Se lo vuoi preciso, un RTC, anche ... schedina con DS3231, economico e piu preciso dei predecessori ... poi ovviamente i driver e le resistenze, per la sezione display ... ed immagino ti servira' qualche pulsante per le impostazioni ... contenitore da appendere, li devi vedere tu ... fili per i cablaggi ... stagno di buona qualita' ... una confezione formato famiglia di pazienza ... (ah, no, quelle non le vendono piu ... ;))
Secondo voi se prendessi un KIT iniziale come questo (https://store.arduino.cc/product/GKX01007) potrei già avere tutti i componenti necessari per iniziare?
Lo stagno ce l'ho già in casa non so giudicare la qualità dello stagno però :) e il saldatore anche. La pazienza è sempre stato il mio forte... però se non inizio a costruire qualcosa non mi diverto :).
Grazie ancora

Alex

ghezzia

(https://store.arduino.cc/product/GKX01007)
Scusate,
in effetti non avevo realizzato che questo Kit include la UNO che abbiamo già scartato per il numero di connettori non sufficienti...
Avete altri suggerimenti?
Dove posso reperire uno schema più dettagliato dei componenti necessari? tipo che mi indichi che tipo di resistenze devo prendere, quali pulsanti o altro?

Grazie
Alex

menniti

#26
Oct 31, 2016, 05:48 pm Last Edit: Oct 31, 2016, 05:52 pm by Michele Menniti
Hai pensato ad una cosa del genere in allegato? 24 LED per le ore/mezzore, 60 LED per i minuti, un LED centrale per lo scandire dei secondi, un pugno di componenti old style (costo qualche euro per tutta la logica), niente programmazione e precisione assicurata da un quarzo? Alimentabile a batterie ricaricabili o mediante alimentatore standard a 5V.
Presentato sul n. 182 di Elettronica In dal sottoscritto, la rivista dovrebbe essere scaricabile gratuitamente a motivo di un'offerta temporanea per chi si registra sul sito.
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

ghezzia

Hai pensato ad una cosa del genere in allegato?
Grazie del suggerimento Michele, in effetti non è male neanche questo. Avrei tuttavia pensato a qualcosa anche per i bambini quindi di lettura più semplice.

Sulla falsa riga di questo non si può creare con i LED in fila una sorta di display a 7 segmenti?

Mi spiego meglio, io mettendo in fila i LED creo 4 display a forma di 8 e poi con arduino faccio in modo che con lo scandire del tempo si illuminino i segmenti (o per meglio dire le file di LED) necessari a visualizzare le ore e i minuti corretti.

Non credo sia tanto diverso dal tuo come concetto, o mi sbaglio?

Qualcuno sa dirmi se è fattibile?

menniti

Sì, è da squilibrati ma si può fare, se usi tot LED per ogni singolo segmento e li accendi/spegni tutti assieme, ma con la logica che ti è stata suggerita finora e non con quella che ho usato io; infatti nel tuo caso realizzi un orologio digitale, il mio progetto invece è una emulazione dell'orologio analogico, con il "movimento" delle lancette.
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

ghezzia

Sì, è da squilibrati ma si può fare
Beh! In effetti io sono un pochino squilibrato :)... ma pensavo che così facendo si potesse "risparmiare" almeno sul costo dei display

Go Up