Innehållsförteckning:

Ännu en klocka: 4 steg
Ännu en klocka: 4 steg

Video: Ännu en klocka: 4 steg

Video: Ännu en klocka: 4 steg
Video: Т - 95 Аэротачка - испытания соосной схемы 2024, Juli
Anonim
Ännu en klocka
Ännu en klocka

Som jag kan se från mina tidigare uppladdningar fick jag några 7 segmentskivor från en gammal vägningsutrustning.

Min tidigare insats använde en Arduino med en Real Time Clock -modul.

Denna instruktionsbok använder en ESP8266 D1 Mini ansluten till en NTP -server!

Koden är baserad på ett exempel från ESP8266WiFi -biblioteket.

Jag tänker inte gå in på detaljer angående kabeldragning med 7 segment eftersom det finns dussintals exempel på nätet. De två kort jag har använder MAX7219 -avkodare -drivrutinschipet, dessa kräver bara 3 stift för att styra upp till 8 x 7 segmentdisplayer.

Jag ville också visa datumet, så ytterligare 3 stift behövdes!

Jag behövde ytterligare 7 ut för att visa dagen! För att komma runt bristen på utgångsstiften valde jag en Neo Pixel -skärm, 1 stift, 7 utgångar!

Steg 1: Hårdvaran

Hårdvaran
Hårdvaran
Hårdvaran
Hårdvaran
Hårdvaran
Hårdvaran

Delar krävs

12 x 7 segmentdisplayer (i mitt fall hade jag turen att ha ett par gamla vägningsmaskinskort som sparade oerhört mycket ledningar.

1 x ESP8266 D1 Mini ELLER alla ESP8266 med 7 eller fler digitala utgångar

2 x MAX7129 (Återigen hade jag turen att ha displayborden för vägningsmaskinen)

1 x rak 8 NeoPixel -skärm

2 x nivåväxlar

1 x 5v strömförsörjning

Steg 2: DAY -displayen

DAY -displayen
DAY -displayen
DAY -displayen
DAY -displayen

För detta använde jag en del av ett gammalt kreditkort för basen, lite tjockt kort (i mitt fall 300gsm fotopapper) och lite dubbelsidig monteringstejp.

Det är bara 2 remsor av tejpen med slitsar skurna med en hantverkskniv. Avståndet är avståndet mellan lysdioderna på NeoPixel -kortet.

Tunna remsor av kortet används för att skapa en kanal för varje dag.

Dagnamnen skrivs ut på tydlig tejp med en Dymo -etikettmaskin.

Steg 3: Ansluta upp och programvaran

ESP8266 produktsortimentet är utmärkt maily pga

a) De är smutsiga billiga

b) De behöver väldigt få externa komponenter

Jag behövde 5v för skärmarna och 3v för ESP så jag använde ett par nivåväxlar med en 5v strömförsörjning.

MAX7219 behöver bara 3 stift för att styra upp till 8 skärmar, dessa är stift 1 (Din), 12 (Load / CS) & 13 (Klocka).

Dessa är anslutna via en nivåväxel.

Koden är följande:

// ingångar: DIN -stift, CLK -stift, LOAD -stift. antal chipsLedControl mydisplay = LedControl (3, 2, 1, 1)

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

Antalet marker är satt till 1 eftersom jag behandlar de två skärmarna som separata objekt snarare än att använda DOUT och kaskade dem.

NeoPixel är ansluten till digital utgång 4

#definiera PIN 4

#define NUMPIXELS 7 (ignorerar 1 av de 8 lysdioderna)

Det finns några #inkluderar alla som finns på GitHub.

Router SSID & LÖSENORD måste anges och en NTP -server väljas (jag googlade gratis NTP -servrar).

Steg 4: Starta

Vid uppstart krusas NeoPixel -lysdioderna igenom, sedan visar de 7 segmentdisplayerna alternativa 'c' och '8' tills en anslutning har gjorts till routern.

Om alla segment visar en contant c8 betyder det att en NTP -serveranslutning inte upprättades, en återställning bör lösa detta.

När en anslutning upprättats visas tid och datum, dagen indikeras med en blå lysdiod.

Rekommenderad: