INHOUDSOPGAWE:

Nog 'n klok: 4 stappe
Nog 'n klok: 4 stappe

Video: Nog 'n klok: 4 stappe

Video: Nog 'n klok: 4 stappe
Video: Необычный 4 тактный двигатель - БЕЗ КЛАПАНОВ гильза вращается Что за зверь такой ??? 2024, November
Anonim
Nog 'n klok
Nog 'n klok

Soos uit my vorige oplaaie gesien kan word, het ek 'n paar sewe segmentbordjies van ou weegapparate gekry.

My vorige poging het 'n Arduino met 'n Real Time Clock -module gebruik.

Hierdie instruksies gebruik 'n ESP8266 D1 Mini wat gekoppel is aan 'n NTP -bediener!

Die kode is gebaseer op 'n voorbeeld uit die ESP8266WiFi -biblioteek.

Ek gaan nie in detail gaan oor die bedrading van die 7 -segmentskerm nie, aangesien daar tientalle voorbeelde op die internet is. Die twee borde wat ek het, gebruik die MAX7219 dekodeerder -chip, dit benodig slegs 3 penne om tot 8 x 7 segmentskerms te beheer.

Ek wou ook die datum wys, so nog 3 penne was nodig!

Ek het nog 7 keer nodig gehad om die dag te wys! Om die gebrek aan uitvoerpenne te vermy, het ek 'n Neo Pixel -skerm, 1 pen, 7 uitgange gekies!

Stap 1: Die hardeware

Die hardeware
Die hardeware
Die hardeware
Die hardeware
Die hardeware
Die hardeware

Onderdele benodig

12 x 7 segmentskerms (in my geval was ek baie gelukkig om 'n paar ou weegmasjienborde te hê wat baie bedrading bespaar het.

1 x ESP8266 D1 Mini OF enige ESP8266 met 7 of meer digitale uitsette

2 x MAX7129 (Weereens was ek bevoorreg om die weegmasjien se borde te hê)

1 x reguit 8 NeoPixel -skerm

2 x vlakverskuiwers

1 x 5V kragtoevoer

Stap 2: Die DAY -vertoning

Die DAY -vertoning
Die DAY -vertoning
Die DAY -vertoning
Die DAY -vertoning

Hiervoor het ek 'n deel van 'n ou kredietkaart vir die basis gebruik, 'n dik kaart (in my geval 300gsm fotopapier) en 'n dubbelzijdige plakband.

Dit is slegs 2 stroke band met gleuwe wat met 'n handwerkmes gesny is, en die afstand tussen die LED's op die NeoPixel -bord.

Dun stroke van die kaart word gebruik om 'n kanaal vir elke dag te skep.

Die dagname word op 'n duidelike band gedruk met 'n Dymo -etiketmaker.

Stap 3: Verbind en die sagteware

Die ESP8266 -produkreeks is uitstekend as gevolg van

a) Hulle is goedkoop

b) Hulle benodig baie min eksterne komponente

Ek het 5v nodig vir die uitstallings en 3v vir die ESP, en ek het 'n paar niveauskakelaars met 'n 5v -kragtoevoer gebruik.

Die MAX7219 benodig slegs 3 penne om tot 8 skerms te beheer; dit is penne 1 (Din), 12 (Load / CS) en 13 (Clock).

Hierdie is verbind met 'n vlakversneller.

Die kode is soos volg:

// insette: DIN -pen, CLK -pen, LOAD -pen. aantal skyfiesLedControl mydisplay = LedControl (3, 2, 1, 1)

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

Die aantal skyfies word op 1 gestel, want ek behandel die twee skerms as aparte items eerder as om die DOUT te gebruik en dit te laat vaar.

Die NeoPixel is gekoppel aan digitale uitset 4

#definieer PIN 4

#define NUMPIXELS 7 (ignoreer 1 van die 8 LED's)

Daar is 'n paar #wat almal op GitHub gevind kan word.

Die SSID en die wagwoord van die router moet ingevoer word en 'n NTP -bediener gekies word (ek het gratis NTP -bedieners op Google gesoek).

Stap 4: Aanskakel

By die aanskakeling word die NeoPixel -LED's deurmekaar, dan wys die 7 segment -skerms alternatiewe 'c' en '8' totdat 'n verbinding met die router gemaak is.

As alle segmente 'n inhoud c8 toon, beteken dit dat 'n NTP -bedienerverbinding nie tot stand gekom het nie, 'n herstel moet dit oplos.

Sodra 'n verbinding tot stand gekom het, word die tyd en datum vertoon, die dag word deur 'n blou LED aangedui.

Aanbeveel: