Hej,
ostatnio naszła mnie chęć i ochot by podzielić się moim zegarkiem na Arduino - wraz z datą, oraz możliwością ustawienia wszystkiego z guziczków.
Na wstępie zaznaczę, że widziałem iż sporo osób ma z tym problem, dlatego wstawiam swój.
Dodam też że jestem mocno początkujący, i wiem że na 100% dałoby się to zrobić inaczej, czy też lepiej - nie mniej działa i nie kosztuje majątku
Co potrzebujemy ?
Arduino (ja używałem Mega, myślę że PRO MINI jednak lepiej się sprawdzi) akurat się walała
Moduł DS1307
Wyświetlacz OLED 128x64 na SSD1306 I2C
Podłączenie jest następujące:
piny SDA i SCL łączymy z wyświetlaczem i modułem zegarka
+5V i GND tak samo do stosownych wyjść Arduino (zasilam przez DC12V zintegrowaną wtyczką w Arduino).
piny 2 (menu), 3 (plus), 4 (minus) podłączamy do przełącznika (który zwiera je do masy).
Program, w załączeniu.
Do obsługi zegarka mamy 3 guziki:
1. Menu
2. +
3. -
Tego chyba tłumaczyć nie trzeba
Zegarek dodaje automatycznie 0 na początku w liczbach mniejszych niż 10.
Zasada działania:
Samo menu jest obsługiwane przez dodawanie 1 do wartości początkowej 0 w zmiennej MenuState.
Wciśnięcie guzika menu, dodaje tą wartość zaczynając od początkowej 0 (główny ekran zegara), gdy dojdziemy do ostatniego menu (menu zapisu), wartość MenuState jest zerowana.
Obudowa to wytwór mojej wyobraźni, zrealizowanej na drukarce 3D - z racji tego że nikt raczej takiego zegarka na Mega nie będzie robił to raczej ona się nie przyda, dodaję wiec tylko na sam moduł wyświetlacza.
Słowa krytyki mile widziane, choć wolałbym konstruktywne, które nakierują mnie w przyszłości co robie nie tak w kodzie, na pewno wiem że za dużo zmiennych walę i zaśmiecam RAM, ale niestety tego nie wiem jak przeskoczyć
Fajne? Ranking DIY
