Innholdsfortegnelse:

Nok en klokke: 4 trinn
Nok en klokke: 4 trinn

Video: Nok en klokke: 4 trinn

Video: Nok en klokke: 4 trinn
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Nok en klokke
Nok en klokke

Som det kan sees fra mine tidligere opplastinger, skaffet jeg meg rundt 7 segmentskjermplater fra gammelt veieutstyr.

Min forrige innsats brukte en Arduino med en sanntidsklokke -modul.

Denne instruksen bruker en ESP8266 D1 Mini koblet til en NTP -server!

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

Jeg kommer ikke til å gå i detalj med ledninger for 7 -segmentskjermene, siden det er dusinvis av eksempler på nettet. De 2 kortene jeg har, bruker MAX7219 dekoder driver -chip, disse krever bare 3 pinner for å kontrollere opptil 8 x 7 segmentdisplays.

Jeg ville også vise datoen, så ytterligere 3 pins var nødvendig!

Jeg trengte ytterligere 7 utskrifter for å vise dagen! For å omgå mangelen på utgangspinner, valgte jeg en Neo Pixel -skjerm, 1 pinne, 7 utganger!

Trinn 1: Maskinvaren

Maskinvaren
Maskinvaren
Maskinvaren
Maskinvaren
Maskinvaren
Maskinvaren

Deler nødvendig

12 x 7 segmentdisplayer (i mitt tilfelle var jeg veldig heldig som hadde et par gamle veimaskinbrett som sparte fryktelig mye ledninger.

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

2 x MAX7129 (Igjen var jeg så heldig å ha displaybordene for veiemaskinen)

1 x Rett 8 NeoPixel -skjerm

2 x nivåskifter

1 x 5v strømforsyning

Trinn 2: DAY -skjermen

DAY -skjermen
DAY -skjermen
DAY -skjermen
DAY -skjermen

Til dette brukte jeg en del av et gammelt kredittkort for basen, noe tykt kort (i mitt tilfelle 300gsm fotopapir) og litt dobbeltsidig monteringstape.

Det er bare 2 strimler av båndet med spor skåret med en håndverkskniv. Avstanden er avstanden mellom lysdiodene på NeoPixel -kortet.

Tynne strimler av kortet brukes til å lage en kanal for hver dag.

Dagsnavnene skrives ut på klar tape med en Dymo etikettmaskin.

Trinn 3: Koble til og programvaren

ESP8266 -produktserien er utmerket maily pga

a) De er skitt billige

b) De trenger svært få eksterne komponenter

Jeg trengte 5v for displayene og 3v for ESP, så jeg brukte et par nivåskifter med 5v strømforsyning.

MAX7219 trenger bare 3 pinner for å kontrollere opptil 8 skjermer, disse er pinner 1 (Din), 12 (Load / CS) og 13 (Klokke).

Disse er koblet til via en nivåskifter.

Koden er som følger:

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

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

Antall sjetonger er satt til 1 fordi jeg behandler de 2 skjermene som separate elementer i stedet for å bruke DOUT og kaskade dem.

NeoPixel er koblet til digital utgang 4

#definere PIN 4

#define NUMPIXELS 7 (ignorerer 1 av de 8 lysdiodene)

Det er noen få #som alle finnes på GitHub.

Router SSID & PASSWORD må angis og en NTP -server velges (jeg googlet gratis NTP -servere).

Trinn 4: Slå på strømmen

Ved oppstart blir NeoPixel -lysdiodene bølget igjennom. Deretter viser de 7 segmentdisplayene alternative 'c' og '8' til en tilkobling er gjort til ruteren.

Hvis alle segmenter viser en innhold c8 betyr det at en NTP -serverforbindelse ikke ble etablert, en tilbakestilling bør løse dette.

Når en tilkobling er opprettet, vises tid og dato, dagen indikeres med en blå LED.

Anbefalt: