Sommario:

Ancora un altro orologio: 4 passi
Ancora un altro orologio: 4 passi

Video: Ancora un altro orologio: 4 passi

Video: Ancora un altro orologio: 4 passi
Video: 883 - Aeroplano 2024, Novembre
Anonim
Ancora un altro orologio
Ancora un altro orologio

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

L'hardware
L'hardware
L'hardware
L'hardware
L'hardware
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

Il display GIORNO
Il display GIORNO
Il display GIORNO
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.

Consigliato: