Witam,
dziś postanowiłem przedstawić szerszej publiczności mój ostatni projekt jakim jest zegar LED. Nie będę ściemniać, że jest on wyjątkowy i innowacyjny, ale po raz pierwszy od dłuższego czasu (w moim mniemaniu) udało mi się zrobić coś co działa i nawet nie odraża swoim wyglądem (choć kto wie jak dla innych...
).
Zegar wykorzystuje cztery matryce LED 8x8 punktów z sterownikiem MAX7219. Procesorem sterującym całością jest ESP8266 a układ zegara RTC to DS3231. Zegar oprócz wyświetlania czasu potrafi wyświetlać temperaturę, wilgotność i ciśnienie. Do tego celu korzysta z DHT22 zamontowanego na tyle obudowy i BMP280 w jej środku (ten czujnik i wyświetlanie ciśnienie to bardziej opcja).
Zegar potrafi pobierać czas z internetu - na moim serwerze znajduje się skrypt w PHP, który odpytany, zwraca datę w JSON. ESP to dekoduje i wpisuje do RTC. Zegar nie ma żadnych przycisków do ustawiania godziny, w całości opiera się o czasie z internetu. Dodatkowo RTC jest podtrzymywany bateryjnie, wiadomo, zegar wystartuje wcześniej niż router i wtedy nie mógłby zaktualizować czasu od razu. Poza tym, chciałem nieco wykorzystać miejsce na płytce
Płytka zaprojektowana w Eagle i wykonana w Chinach przez JLCPCB - to była moja pierwsza płytka zamawiana w Chinach i w ten sposób chciałem sprawdzić tą drogę robienia PCB. Nie jest idealna, ale spełnia swoje zadanie. Projekt płytki dwustronnej powstał właśnie po to by zobaczyć jak będzie to wyglądać w wykonaniu z fabryki. Nigdy wcześniej nie projektowałem płytek dwustronnych, więc warstwa bottom jest dość mało zagospodarowana.
Jasność ekranu jest regulowana na podstawie odczytu z ADC, do którego podłączony jest dzielnik napięcia z fotorezystorem. Pozwala to na zmniejszenie jasności nocą i podbicie jej w dzień.
Całość zasilana jest z zasilacza wtyczkowego 5V 500mA, który podłącza się z tyłu do złącza DC 5.5/2.1mm. Pobór prądu waha się od 1,5 do 2,5W w zależności od jasności świecenia wyświetlacza.
Program powstał w Arduino - co zapewne części forumowiczów się nie spodoba
napisany trochę niechlujnie, ale spełnia swoje zadanie. Korzystam z biblioteki MD Parola do obsługi wyświetlacza, dodatkowo oczywiście biblioteki do obsługi każdego z peryferiów.
Poza wyświetlaniem danych, zegar również wysyła je na serwer. Zbieram je przy pomocy skryptu PHP do bazy danych, skąd dane mogą być potem pobierane do wyświetlania np. wykresy itp. Domyślnie zegar wysyła pomiary co 5 minut.
Miałem problem wyświetlaczem, jeden z segmentów (pierwszy od frontu, ostatni od strony przewodów) po kilku godzinach przestawał odpowiadać. Pomogło wlutowanie kondensatorów na zasilaniu w jego okolicach (100nF i 100uF). Widać je na jednym ze zdjęć.
Poniżej kilka zdjęć, schemat oraz podgląd płytki.
Po więcej szczegółów (zdjęć a nawet gifów z działania oraz kodu programu i plików projektu) zapraszam na moją stronę.
dziś postanowiłem przedstawić szerszej publiczności mój ostatni projekt jakim jest zegar LED. Nie będę ściemniać, że jest on wyjątkowy i innowacyjny, ale po raz pierwszy od dłuższego czasu (w moim mniemaniu) udało mi się zrobić coś co działa i nawet nie odraża swoim wyglądem (choć kto wie jak dla innych...

Zegar wykorzystuje cztery matryce LED 8x8 punktów z sterownikiem MAX7219. Procesorem sterującym całością jest ESP8266 a układ zegara RTC to DS3231. Zegar oprócz wyświetlania czasu potrafi wyświetlać temperaturę, wilgotność i ciśnienie. Do tego celu korzysta z DHT22 zamontowanego na tyle obudowy i BMP280 w jej środku (ten czujnik i wyświetlanie ciśnienie to bardziej opcja).
Zegar potrafi pobierać czas z internetu - na moim serwerze znajduje się skrypt w PHP, który odpytany, zwraca datę w JSON. ESP to dekoduje i wpisuje do RTC. Zegar nie ma żadnych przycisków do ustawiania godziny, w całości opiera się o czasie z internetu. Dodatkowo RTC jest podtrzymywany bateryjnie, wiadomo, zegar wystartuje wcześniej niż router i wtedy nie mógłby zaktualizować czasu od razu. Poza tym, chciałem nieco wykorzystać miejsce na płytce

Płytka zaprojektowana w Eagle i wykonana w Chinach przez JLCPCB - to była moja pierwsza płytka zamawiana w Chinach i w ten sposób chciałem sprawdzić tą drogę robienia PCB. Nie jest idealna, ale spełnia swoje zadanie. Projekt płytki dwustronnej powstał właśnie po to by zobaczyć jak będzie to wyglądać w wykonaniu z fabryki. Nigdy wcześniej nie projektowałem płytek dwustronnych, więc warstwa bottom jest dość mało zagospodarowana.
Jasność ekranu jest regulowana na podstawie odczytu z ADC, do którego podłączony jest dzielnik napięcia z fotorezystorem. Pozwala to na zmniejszenie jasności nocą i podbicie jej w dzień.
Całość zasilana jest z zasilacza wtyczkowego 5V 500mA, który podłącza się z tyłu do złącza DC 5.5/2.1mm. Pobór prądu waha się od 1,5 do 2,5W w zależności od jasności świecenia wyświetlacza.
Program powstał w Arduino - co zapewne części forumowiczów się nie spodoba

Poza wyświetlaniem danych, zegar również wysyła je na serwer. Zbieram je przy pomocy skryptu PHP do bazy danych, skąd dane mogą być potem pobierane do wyświetlania np. wykresy itp. Domyślnie zegar wysyła pomiary co 5 minut.
Miałem problem wyświetlaczem, jeden z segmentów (pierwszy od frontu, ostatni od strony przewodów) po kilku godzinach przestawał odpowiadać. Pomogło wlutowanie kondensatorów na zasilaniu w jego okolicach (100nF i 100uF). Widać je na jednym ze zdjęć.
Poniżej kilka zdjęć, schemat oraz podgląd płytki.













Po więcej szczegółów (zdjęć a nawet gifów z działania oraz kodu programu i plików projektu) zapraszam na moją stronę.
Cool? Ranking DIY