Costruzione Orologio a led da parete - guida per dummies

NO! NO! ragazzi!,
non sono sparito, solo che oggi sono stato fuori tutto il giorno per lavoro (trasferta a CN da MI)…
Allora riassumo:

essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI

Fatto :slight_smile:

6"1/2, ovvero 15 cm, possono bastare ? QUI

è esattamente quello che cercavo (e che non trovavo) anche se avendo delle morsettiere (non so esattamente come si chiamano) sulle quali montare i led che poi si sarebbero accesi nel modo corretto poteva essere una valida alternativa

con le cifre alte magari 45cm e largo 1 metro e venti ? … (:stuck_out_tongue: :D)

ecco… magari vorrei evitare di essere denunciato per “illuminazione molesta” :smiley: :smiley:

Comunque quanto sopra riportato è esattamente quello che vorrei fare, anche a costo di fare del bricolage spinto.
Qualcuno ha dei suggerimenti sulla lista della spesa dei vari componenti? Oltre ai Display ovviamente… Oltre a questo poi mi servirà un suggerimento per la programmazione di Arduino…

Grazie ancora dei suggerimenti

Alex

ghezzia: avendo delle morsettiere (non so esattamente come si chiamano) sulle quali montare i led che poi si sarebbero accesi nel modo corretto poteva essere una valida alternativa

Connettori strip?

Comunque quanto sopra riportato è esattamente quello che vorrei fare, anche a costo di fare del bricolage spinto. Qualcuno ha dei suggerimenti sulla lista della spesa dei vari componenti? Oltre ai Display ovviamente... Oltre a questo poi mi servirà un suggerimento per la programmazione di Arduino...

Ok per il bricolage (in questo caso il valore è la soddisfazione per il lavoro svolto e non l'ormai inesistente risparmio nel costruirsi le cose da sè)... però, la lista della spesa mi sembra un'attimino prematura... cioè non si può fare una lista spesa senza un progetto chiaro, e non si può fare un progetto chiaro se non si è deciso come strutturare (far funzionare) il tutto, ovvero di quali componenti funzionali debba essere formato (ad esempio un pannello pulsanti e un real time clock i2c) e di come si vuole far "comunicare" o usare questi sottosistemi.

Il solo pilotaggio dei display ha diverse alternative, multiplex software "alla vecchia maniera"? Shift register da comandare in SPI? Controller i2c? Ciascuna di queste alternative richiede un discreto studio... che darebbe il vero valore aggiunto (leggi esperienza + soddisfazione) all'intero lavoro.

La parte programmazione va poi impostata sull'hardware che si è deciso di usare (studiando la documentazione dei componenti o dei moduli usati).

Grazie della risposta Claudio_F

Claudio_F:
Connettori strip?

heheh!! può essere… anzi credo proprio siano questi :slight_smile:

Claudio_F:
Il solo pilotaggio dei display ha diverse alternative, multiplex software “alla vecchia maniera”? Shift register da comandare in SPI? Controller i2c? Ciascuna di queste alternative richiede un discreto studio… che darebbe il vero valore aggiunto (leggi esperienza + soddisfazione) all’intero lavoro.

wow!! così complicato? eventualmente avete consigli su testi (non troppo tecnici) da leggere che mi possano aiutare in queste scelte?

A me interessava creare qualcosa che potesse avere le dimensioni dei succitati display e che mi indichi l’ora per il momento… magari in futuro vorrei che si potessero aggiungere dei moduli relativi al meteo esterno o qualcosa di simile. Tipo che sia “scalabile”…

Claudio_F:
“alla vecchia maniera”

Mi piace molto :wink:

Alex

Ho trovato anche questi display che non mi sembrano male... leggermente più piccoli ma rifiniti meglio e più cheap ;). Che ne dite?

ghezzia: Ho trovato anche questi display che non mi sembrano male... leggermente più piccoli ma rifiniti meglio e più cheap ;). Che ne dite?

Ottimi ed effettivamente più gradevoli alla vista ;)

Attenzione comunque che sono ad ANODO comune, quindi li dovrai pilotare a logica inversa (LOW accende il segmenteo, HIGH lo spegne).

Ah ... naturalmente NON puoi collegare i singoli segmenti ai pin di Arduino (richiedono troppa corrente), ma dovrai usare dei driver.

Guglielmo

gpb01: 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?

gpb01: 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

gpb01: ... 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 ...

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.

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.

Claudio_F:
… un normale alimentatorino 12Vcc 1A dovrebbe bastare.

Sempre meglio abbondare leggermente, che male non gli fa mai :wink: (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 …

esempio-display-multiplex.png

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 ;)

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 ...

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?

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

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 ... ;))

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

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.

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 ... ;))

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

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.

OROLed alle 12 e 17.jpg|1181x1104

[quote author=Michele Menniti date=1477932520 link=msg=2982202] Hai pensato ad una cosa del genere in allegato? [/quote] 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?

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.

[quote author=Michele Menniti link=msg=2982230 date=1477933687] Sì, è da squilibrati ma si può fare [/quote] Beh! In effetti io sono un pochino squilibrato :)... ma pensavo che così facendo si potesse "risparmiare" almeno sul costo dei display