Spisu treści:

Jeszcze inny zegar: 4 kroki
Jeszcze inny zegar: 4 kroki

Wideo: Jeszcze inny zegar: 4 kroki

Wideo: Jeszcze inny zegar: 4 kroki
Wideo: Aida - Mucha W Mucholocie (Official Music Video) 2024, Lipiec
Anonim
Jeszcze inny zegar
Jeszcze inny zegar

Jak widać z moich poprzednich plików, otrzymałem kilka tablic 7-segmentowych ze starego sprzętu do ważenia.

Mój poprzedni wysiłek wykorzystywał Arduino z modułem zegara czasu rzeczywistego.

Ta instrukcja używa ESP8266 D1 Mini podłączonego do serwera NTP!

Kod oparty jest na przykładzie z biblioteki ESP8266WiFi.

Nie zamierzam wchodzić w szczegóły dotyczące okablowania wyświetlacza 7-segmentowego, ponieważ w sieci są dziesiątki przykładów. Dwie płyty, które mam, używają układu sterownika dekodera MAX7219, wymagają one tylko 3 pinów do sterowania wyświetlaczami 8 x 7 segmentowymi.

Chciałem też pokazać datę, więc potrzebne były kolejne 3 piny !

Potrzebowałem kolejnych 7 wyjść, aby wyświetlić Dzień! Aby obejść brak pinów wyjściowych, wybrałem wyświetlacz Neo Pixel, 1 pin, 7 wyjść!

Krok 1: Sprzęt

Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt

Wymagane części

Wyświetlacze 12 x 7-segmentowe (w moim przypadku miałem szczęście, że miałem kilka starych płytek do wag, które zaoszczędziły strasznie dużo okablowania.

1 x ESP8266 D1 Mini LUB dowolny ESP8266 z 7 lub więcej wyjściami cyfrowymi

2 x MAX7129 (znowu miałem szczęście mieć tablice z wyświetlaczem wagi)

1 x Prosty wyświetlacz 8 NeoPixel

2 x manetki poziomu

Zasilanie 1x5 v

Krok 2: Wyświetlacz DNIA

Wyświetlacz dnia
Wyświetlacz dnia
Wyświetlacz dnia
Wyświetlacz dnia

Do tego użyłem części starej karty kredytowej jako podstawy, trochę grubej karty (w moim przypadku papier fotograficzny 300gsm) i trochę dwustronnej taśmy montażowej.

To tylko 2 paski taśmy ze szczelinami wyciętymi nożem rzemieślniczym. Odstępy to odległość między diodami LED na płytce NeoPixel.

Cienkie paski karty służą do tworzenia kanału na każdy dzień.

Nazwy dni są drukowane na przezroczystej taśmie za pomocą drukarki etykiet Dymo.

Krok 3: Podłączanie i oprogramowanie

Asortyment ESP8266 jest doskonały ze względu na

a) Są tanie jak barszcz

b) Potrzebują bardzo mało komponentów zewnętrznych

Potrzebowałem 5V do wyświetlaczy i 3V do ESP, więc użyłem kilku przełączników poziomów z zasilaczem 5V.

MAX7219 potrzebuje tylko 3 pinów do sterowania maksymalnie 8 wyświetlaczami, są to piny 1 (Din), 12 (Load / CS) i 13 (Clock).

Są one połączone za pomocą przełącznika poziomu.

Kod wygląda następująco:

// wejścia: pin DIN, pin CLK, pin LOAD. liczba żetonówLedControl mydisplay = LedControl(3, 2, 1, 1)

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

Liczba żetonów jest ustawiona na 1, ponieważ traktuję 2 wyświetlacze jako oddzielne elementy, zamiast używać DOUT i łączyć je kaskadowo.

NeoPixel jest podłączony do wyjścia cyfrowego 4

#zdefiniuj PIN 4

#define NUMPIXELS 7 (ignorowanie 1 z 8 diod LED)

Jest kilka #includes, z których wszystkie można znaleźć na GitHub.

Należy wprowadzić SSID i HASŁO routera oraz wybrać serwer NTP (wygooglowałem darmowe serwery NTP).

Krok 4: Po włączeniu

Po włączeniu diody LED NeoPixel są pulsowane, a następnie 7-segmentowe wyświetlacze pokazują naprzemiennie „c” i „8”, dopóki nie zostanie nawiązane połączenie z routerem.

Jeśli wszystkie segmenty pokazują zawartość c8, oznacza to, że połączenie z serwerem NTP nie zostało nawiązane, reset powinien rozwiązać ten problem.

Po nawiązaniu połączenia wyświetlane są godziny i data, dzień jest wskazywany przez niebieską diodę LED.

Zalecana: