Cuprins:

Un alt ceas: 4 pași
Un alt ceas: 4 pași

Video: Un alt ceas: 4 pași

Video: Un alt ceas: 4 pași
Video: Cum Conectez Mi Smart Band 4 la Telefon 2024, Iulie
Anonim
Încă un alt ceas
Încă un alt ceas

După cum se poate vedea din încărcările mele anterioare, am obținut câteva panouri de afișare pe 7 segmente de la unele echipamente de cântărire vechi.

Efortul meu anterior a folosit un Arduino cu un modul Ceas în timp real.

Acest instructabil folosește un ESP8266 D1 Mini conectat la un server NTP!

Codul se bazează pe un exemplu din biblioteca ESP8266WiFi.

Nu am de gând să intru în detalii cu privire la cablajul afișajului pe 7 segmente, deoarece există zeci de exemple pe net. Cele 2 plăci pe care le am, folosesc cipul driverului de decodor MAX7219, acestea necesită doar 3 pini pentru a controla până la 8 x 7 Segment Displays.

De asemenea, am vrut să arăt data, așa că era nevoie de încă 3 pini!

Aveam nevoie de încă 7 ieșiri pentru a afișa Ziua! Pentru a rezolva lipsa pinilor de ieșire, am ales un afișaj Neo Pixel, 1 pin, 7 ieșiri!

Pasul 1: Hardware-ul

Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul

Piese necesare

Afișaje de 12 x 7 segmente (în cazul meu, am fost foarte norocos să am câteva plăci vechi de mașină de cântărit care au economisit o mulțime de cabluri.

1 x ESP8266 D1 Mini SAU orice ESP8266 cu 7 sau mai multe ieșiri digitale

2 x MAX7129 (Din nou, am avut norocul să am panourile de afișare ale mașinii de cântărit)

1 x afișaj NeoPixel drept 8

2 x schimbătoare de nivel

Sursa de alimentare 1 x 5v

Pasul 2: Afișajul DAY

Afișajul DAY
Afișajul DAY
Afișajul DAY
Afișajul DAY

Pentru aceasta am folosit o parte a unui vechi card de credit pentru bază, un card gros (în cazul meu hârtie foto de 300gsm) și o bandă de montaj pe două fețe.

Are doar 2 benzi de bandă cu fante tăiate cu un cuțit manual. Distanța fiind distanța dintre LED-urile de pe placa NeoPixel.

Fâșiile subțiri ale cardului sunt folosite pentru a crea un canal pentru fiecare zi.

Numele de zi sunt tipărite pe bandă transparentă cu un producător de etichete Dymo.

Pasul 3: Conectarea și software-ul

Gama de produse ESP8266 este excelentă datorită

a) Sunt ieftine

b) Au nevoie de foarte puține componente externe

Aveam nevoie de 5v pentru afișaje și 3v pentru ESP, așa că am folosit câteva schimbătoare de nivel cu o sursă de alimentare de 5v.

MAX7219 are nevoie doar de 3 pini pentru a controla până la 8 afișaje, aceștia sunt pinii 1 (Din), 12 (Încărcare / CS) și 13 (Ceas).

Acestea sunt conectate printr-un schimbător de nivel.

Codul este după cum urmează:

// intrări: pin DIN, pin CLK, pin LOAD. număr de jetoane LedControl mydisplay = LedControl (3, 2, 1, 1)

LedControl dateisp = LedControl (7, 6, 5, 1);

Numărul de jetoane este setat la 1, deoarece tratez cele două afișaje ca elemente separate, mai degrabă decât să folosesc DOUT și să le cascadez.

NeoPixel este conectat la ieșirea digitală 4

#define PIN 4

#define NUMPIXELS 7 (ignorând 1 din cele 8 LED-uri)

Există câteva #include toate care pot fi găsite pe GitHub.

Trebuie introdus SSID-ul routerului și parola de parolă și selectat un server NTP (am căutat pe serverele NTP gratuite).

Pasul 4: Pornire

La pornire, LED-urile NeoPixel sunt înclinate, apoi afișajele pe 7 segmente arată alternativ „c” și „8” până când se face o conexiune la router.

Dacă toate segmentele arată un contant c8 înseamnă că nu a fost stabilită o conexiune de server NTP, o resetare ar trebui să rezolve acest lucru.

Odată stabilită o conexiune, sunt afișate ora și data, ziua este indicată de un LED albastru.

Recomandat: