Indholdsfortegnelse:

Endnu et ur: 4 trin
Endnu et ur: 4 trin

Video: Endnu et ur: 4 trin

Video: Endnu et ur: 4 trin
Video: АЗЕРБАЙДЖАНСКИЙ ПЛОВ с тыквой / Сталик Ханкишиев Казан-Мангал 2024, Juli
Anonim
Endnu et ur
Endnu et ur

Som det kan ses fra mine tidligere uploads, fik jeg nogle 7 Segment Display boards fra noget gammelt vejeudstyr.

Min tidligere indsats brugte en Arduino med et modul i realtid.

Denne instruktør bruger en ESP8266 D1 Mini tilsluttet en NTP -server!

Koden er baseret på et eksempel fra ESP8266WiFi -biblioteket.

Jeg vil ikke gå i detaljer vedrørende ledningsføringerne i 7 segmenter, da der er snesevis af eksempler på nettet. De 2 tavler jeg har, bruger MAX7219 dekoder driverchip, disse kræver kun 3 ben for at styre op til 8 x 7 segmentdisplays.

Jeg ville også vise datoen, så der var brug for yderligere 3 pins!

Jeg havde brug for yderligere 7 ouputs for at vise dagen! For at omgå manglen på output pins, valgte jeg en Neo Pixel display, 1 pin, 7 output!

Trin 1: Hardware

Hardwareen
Hardwareen
Hardwareen
Hardwareen
Hardwareen
Hardwareen

Dele påkrævet

12 x 7 segmentdisplays (i mit tilfælde var jeg meget heldig at have et par gamle vejemaskinekort, hvilket sparede frygtelig mange ledninger.

1 x ESP8266 D1 Mini ELLER enhver ESP8266 med 7 eller flere digitale udgange

2 x MAX7129 (Igen var jeg så heldig at have vejemaskinens displaybrætter)

1 x lige 8 NeoPixel display

2 x niveauskiftere

1 x 5v strømforsyning

Trin 2: DAY -displayet

DAY -displayet
DAY -displayet
DAY -displayet
DAY -displayet

Til dette brugte jeg en del af et gammelt kreditkort til basen, noget tykt kort (i mit tilfælde 300gsm fotopapir) og noget dobbeltsidet monteringstape.

Det er kun 2 strimler af båndet med slots skåret med en håndværkskniv. Afstanden er afstanden mellem lysdioderne på NeoPixel -kortet.

Tynde strimler af kortet bruges til at oprette en kanal for hver dag.

Dagenavne udskrives på klart tape med en Dymo -labelmaskine.

Trin 3: Tilslutning og softwaren

ESP8266 -produktsortimentet er fremragende maily pga

a) De er snavs billige

b) De har brug for meget få eksterne komponenter

Jeg havde brug for 5v til displays og 3v til ESP, så jeg brugte et par niveauskiftere med en 5v strømforsyning.

MAX7219 behøver kun 3 ben til at styre op til 8 skærme, disse er ben 1 (Din), 12 (Load / CS) & 13 (Ur).

Disse er forbundet via en niveauskifter.

Koden er som følger:

// indgange: DIN pin, CLK pin, LOAD pin. antal chipsLedControl mydisplay = LedControl (3, 2, 1, 1)

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

Antallet af chips er sat til 1, fordi jeg behandler de 2 skærme som separate elementer i stedet for at bruge DOUT og kaskade dem.

NeoPixel er tilsluttet digital udgang 4

#definer pinkode 4

#define NUMPIXELS 7 (ignorerer 1 af de 8 lysdioder)

Der er et par #omfattende, som alle kan findes på GitHub.

Router SSID & PASSWORD skal indtastes og en NTP -server vælges, (jeg googlede gratis NTP -servere).

Trin 4: Tænd for strømmen

Ved opstart bliver NeoPixel -lysdioderne krøllet igennem, og derefter viser de 7 segmentdisplayer alternative 'c' og '8', indtil der er oprettet forbindelse til routeren.

Hvis alle segmenter viser en kontant c8, betyder det, at der ikke blev oprettet en NTP -serverforbindelse, en nulstilling skulle løse dette.

Når en forbindelse er etableret, vises tid og dato, dagen er angivet med en blå LED.

Anbefalede: