Sommario:
- Passaggio 1: l'hardware
- Passaggio 2: il display GIORNO
- Passaggio 3: Connessione e software
- Passaggio 4: all'accensione
Video: Ancora un altro orologio: 4 passi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 10:17
Come si può vedere dai miei caricamenti precedenti, ho ottenuto alcuni tabelloni a 7 segmenti da alcune vecchie apparecchiature di pesatura.
Il mio sforzo precedente utilizzava un Arduino con un modulo Real Time Clock.
Questo Instructable utilizza un ESP8266 D1 Mini connesso a un server NTP!
Il codice si basa su un esempio della libreria ESP8266WiFi.
Non entrerò nei dettagli per quanto riguarda il cablaggio del display a 7 segmenti in quanto in rete ci sono dozzine di esempi. Le 2 schede che ho, usano il chip del driver del decodificatore MAX7219, queste richiedono solo 3 pin per controllare fino a 8 x 7 display a segmenti.
Volevo anche mostrare la data, quindi servivano altri 3 pin!
Avevo bisogno di altre 7 uscite per visualizzare il giorno! Per ovviare alla mancanza di pin di uscita, ho scelto un display Neo Pixel, 1 pin, 7 uscite!
Passaggio 1: l'hardware
Parti necessarie
Display a 12 x 7 segmenti (nel mio caso sono stato molto fortunato ad avere un paio di vecchie schede per pesatrici che hanno risparmiato un sacco di cablaggio.
1 x ESP8266 D1 Mini O qualsiasi ESP8266 con 7 o più uscite digitali
2 x MAX7129 (Ancora una volta ho avuto la fortuna di avere i tabelloni della bilancia)
1 x display NeoPixel dritto da 8
2 x traslatori di livello
1 x alimentatore 5v
Passaggio 2: il display GIORNO
Per questo ho usato parte di una vecchia carta di credito per la base, della carta spessa (nel mio caso carta fotografica da 300 gsm) e del nastro biadesivo per il montaggio.
Sono solo 2 strisce di nastro con le fessure tagliate con un taglierino. La distanza è la distanza tra i LED sulla scheda NeoPixel.
Le strisce sottili della carta vengono utilizzate per creare un canale per ogni giorno.
I nomi dei giorni sono stampati su nastro trasparente con un'etichettatrice Dymo.
Passaggio 3: Connessione e software
La gamma di prodotti ESP8266 è eccellente principalmente grazie a
a) Costano poco
b) Hanno bisogno di pochissimi componenti esterni
Avevo bisogno di 5v per i display e 3v per l'ESP quindi ho usato un paio di traslatori di livello con un alimentatore da 5v.
Il MAX7219 necessita solo di 3 pin per controllare fino a 8 display, questi sono i pin 1 (Din), 12 (Load/CS) e 13 (Clock).
Questi sono collegati tramite un traslatore di livello.
Il codice è il seguente:
// ingressi: pin DIN, pin CLK, pin LOAD. numero di chipLedControl mydisplay = LedControl(3, 2, 1, 1)
LedControl datedisp = LedControl(7, 6, 5, 1);
Il numero di chip è impostato su 1 perché sto trattando i 2 display come elementi separati anziché utilizzare il DOUT e sovrapporli.
Il NeoPixel è collegato all'uscita digitale 4
#definisci PIN 4
#define NUMPIXELS 7 (ignorando 1 degli 8 LED)
Ci sono alcuni #include che possono essere trovati su GitHub.
È necessario inserire SSID e PASSWORD del router e selezionare un server NTP (ho cercato su Google server NTP gratuiti).
Passaggio 4: all'accensione
All'accensione, i LED NeoPixel vengono fatti scorrere, quindi i display a 7 segmenti mostrano "c" e "8" alternati fino a quando non viene stabilita una connessione al router.
Se tutti i segmenti mostrano un contant c8 significa che non è stata stabilita una connessione al server NTP, un ripristino dovrebbe risolvere questo problema.
Una volta stabilita la connessione, vengono visualizzate l'ora e la data, il giorno è indicato da un LED blu.