Home

Zegar internetowy

Zegar2Jakiś czas temu trafił w moje ręce wyświetlacz matrycowy typu MAX7219.
Jest to moduł zbudowany na płytce
wyposażonej w cztery sterowniki
obsługujące cztery segmenty LED
o matrycy 8 x 8 diod.
Czyli łącznie mamy do dyspozycji 256 punktów.
Poszczególne segmenty matrycy można wyjmować ponieważ są osadzone w gniazdkach zamontowanych na płytce sterownika. W moim przypadku wykorzystuję wyświetlacze w kolorze czerwonym ale są również dostępne w innych kolorach.
Cały moduł zasilany jest napięciem 5 V DC oraz komunikuje się ze światem zewnętrznym przez magistralę
SPI co daje możliwość raz że dołączania większej ilości segmentów a dwa wystarczają tylko trzy przewody
do sterowania całym wyświetlaczem  plus dwa zasilające.

Żeby cokolwiek wyświetlić niezbędna jest biblioteka „LedControl.
Wyświetlacz łączymy z pinami Arduino w następującej kolejności.
MAX7219
PIN 10 – CS
PIN 11 – CLK
PIN 12 – DIN
VCC + 5V
GND - minus

Oczywiście do sterowania wyświetlaczem można użyć innych modułów arduino. Ja w swoim projekcie wykorzystałem „NodeMCU. W takim przypadku czasami trzeba obłożyć inne piny w zależności od specyfikacji samego układu. Więcej szczegółowych informacji można znaleźć między innymi w tym miejscu.

Budowa:

Zanim zaczniemy odpowiemy sobie na podstawowe pytanie. Po co mi kolejny zegar?
Odpowiedź jest bardzo prosta. Jest to prosty sposób żeby przetestować możliwości nowego wyświetlacza. Poza tym stworzymy sobie platformę do późniejszych projektów.
Jak się domyślacie na wyświetlaczu oprócz godzin zegara można wyświetlać dowolne dane tekstowe
i graficzne ograniczone tylko rozdzielczością modułu. Poza tym możemy pouczyć się adresowania poszczególnych pikseli.

Zaczniemy od schematu połączeń:

SchMax

Jak widać na załączonym schemacie układ połączeń jest bardzo prosty. Również zwróćcie uwagę na to
że wykorzystałem inne piny do podłączenia wyświetlacza.
Oczywiście jest to wersja podstawowa. W mojej konstrukcji użyłem dużej płytki uniwersalnej która pozwoli
mi później o rozszerzenie mojego zegara o regulator jasności świecenia, pomiar temperatury i ewentualnie inne pomysły które przyjdą mi do głowy.

Program:

Tu postanowiłem użyć gotowego programu opublikowanego w sieci internetowej przez pana
Johna Rogersa.
Żeby zegar zadziałał musimy dokonać w programie kilku zmian.
Przede wszystkim trzeba zdefiniować odpowiednie piny w zależności od tego z jakiej wersji modułu
arduino chcemy skorzystać.
Poza tym w miejscu „nazwa sieci i hasło musimy podać nazwę i hasło naszej domowej sieci WiFi.
W linii  „float utcOffset = +1; ustalamy strefę czasową w jakiej ma pracować zegar.
Pamiętać musimy również o załadowaniu biblioteki LedControl.
Po dokonaniu tych korekt ładujemy program do arduino i podziwiamy efekt naszej pracy.

Link do programu: