Arduino zegar ds3231 z dużą czytelną czcionką

Arduino zegar ds3231 z dużą czytelną czcionką

Cześć , od dawna czytam poradniki na majsterkowie i sam uczę się o arduino najczęściej stąd. Chciałbym podzielić się z wami projektem zegarka opartego na najdokładniejszym układzie RTC (Real Time Clock) a mianowicie DS3231, wyświetlać będzie czas na wyświetlaczu LCD 16×2 sterowanym przez konwerter na magistrali I2C. Powiem też o podstawach pracy ze stringami ;).
IMG_20151230_011900[1]
Co nam będzie potrzebne :
-Arduino (ja używam Leonardo ale może być jakiekolwiek, lub sama Atmega np 328) link
-Wyświetlacz z konwerterem I2C link
-Moduł ds3231 link
-Płytka stykowa link
-Kabelki/zworki

Podłączenie jest banalnie proste, piny SDA i SCL obu modułów podłaczamy do SDA i SCL w Arduino, to samo z zasilaniem, VCC do 5V a GND do GND w Arduino. Do magistrali I2C możemy podłączać wiele urządzeń gdyż każde ma swój własny adres.

Arduino zegar ds3231 z dużą czytelną czcionkąArduino zegar ds3231 z dużą czytelną czcionką

 

Opublikuj swój projekt i odbierz 50% rabatu do wykorzystania w sklepie Nettigo.pl

Poniżej kod

Potrzeba jeszcze aby wyjaśnić operacje na stringu : 
dzien[0] –> wyświetla pierwszy znak stringa „dzien”
ioo=dzien[0]-48 –> przyrównuje zmienną „ioo” typu int do pierwszego znaku stringa „dzien” pomniejszonego o 48 gdyż string zapisuje się w kodzie ASCII a INTa chcemy w DEC.

Na wyświetlaczu pokaże się na czas godzina:minuta w dużej czcionce oraz mała sekunda, po 10 sekundach ekran wyczyści się i pokaże się dużą czcionką aktualny dzień roku i po 10 sekundach ekran wróci na czas i tak w kółko :)

Aby wszystko działało poprawnie musimy posiadać bibliotekę DS3231, przygotował ją Pan Korneliusz Jarzębski strona.
Ja ją delikatnie przerobiłem i można pobrać poniżej :
Arduino-DS3231-master
Należy dodać również bibliotekę LiquidCrystalI2C :
LiquidCrystal_I2C

Jeśli będą jakieś pytania to proszę zadawać pod wpisem lub na pw, jeśli się spodobało proszę o ocenę :)
Pozdrawiam

Ocena: 4.25/5 (głosów: 63)
Nettigo - patron działu Elektronika

Podobne posty

Notifikator

Notifikator

Notyfikator - czyli urządzenie które poinformuje Was gdy coś się stanie: przyjdzie mail, zepsuje się…

27 komentarzy do “Arduino zegar ds3231 z dużą czytelną czcionką

  • Zmiana czasu Lato/Zima czy korekta zegara – niemożliwe. Projekt prosty by nie powiedzieć banalny. Ciekawy i interesujący dla początkującego.

    Jeżeli o początkujących chodzi, to oni oczekują informacji. Tych tu brak. Jest prosty kod gdzie nie jest wytłumaczona każda linijka, jest artykuł który nic nie mówi.
    Są też biblioteki których arduino nie posiada, to też taki żółtodziób nie poradzi sobie z LCD na I2C – gdyż bibliotekę trzeba „dograć”, a szkoda że tu nie jest ona dostępna.

    Pomysł – pewne 5
    Wykonanie – 3-

    Odpowiedz
    • poradników o podłączeniu lcd na i2c jest multum więc nie widziałem potrzeby opisywania tego, pracuję nad rozwiązaniem czasu lato zima jakoś sensownie oraz roku przestępnego, a co do korekty zegarka to inny na ds3231 działa u mnie w domu już ponad rok i nawet o minutę się nie „rozklekotał” ale dzięki za konstruktywną krytykę :)

      Odpowiedz
  • Witam, zrobiłem sobie ten projekt, działa super, lecz pozmieniałem sobie czcionkę na taką co mi się podoba. I teraz mam problem bo z niej się nie da zrobić dwukropka pomiędzy godzinami a minutami. Gdy dodaje nowe Char’y i próbuje je inicjalizować i dodać jako dwukropek to na całym wyświetlaczu robią sie krzaczki. Jak wymyślić dwukropek?

    Odpowiedz
      • Zastanawiam się gdzie tu napisać na pw.. i nie znalazłem..
        Dobra ale ok. poradziłem sobie jako tako z dwukropkiem, ale mam inny problem. Jak już pisałem zmieniłem sobie czcionkę. Dodałem też temperaturę. I ogólnie to działa dobrze, godzinę i temperaturę pokazuje ale problem mam z tym że czasami tak jakby liczby się nie odświeżają i nachodzi 1 na 2, czy 3 na 4. Zastanawiam się ale nie umiem do tego dojść dlaczego.
        Ogólnie kod jest praktycznie taki sam tylko ta czcionka zmieniona a u Ciebie liczby się nie nachodzą..
        wrzucam kod tutaj: http://wklejaj.pl/lziOP2Pk8QXX
        Pozdrawiam i z góry dzięki

        Odpowiedz
        • Nie widzę błędu u Ciebie w kodzie, masz przy zmianie ekranu lcd.clear() więc nie powinno się nic nakładać :) co do temperatury, zrób może na 3 albo 4 znaki będzie fajniej wyglądać

          Odpowiedz
  • Witam, mam problem z wyświetleniem temperatury pobranej z modułu RTC rtc ds3231, a konkretnie to mam problem z konwersją clock.readTemperature() do String’a.
    Szukałem już rozwiązania w sieci niestety z marnym skutkiem ;/

    Liczę na Wasza pomoc!

    Odpowiedz
  • Cześć, podoba mi się bardzo pomysł na wyświetlanie dużych cyfr. Natomiast kod jest straszny. Polecam bardziej rozsądne nazywanie zmiennych, wtedy 90% komentarzy byłoby zbędnych a czytelność kodu wzrosłaby znacznie. To razi najbardziej. Jest też dużo zduplikowanego kodu. Można byłoby go sporo skrócić.

    Odpowiedz
  • Witam. Zegar działa fajnie z małym ale… Nie mam drugiej cyfry sekund a w dniu roku tylko D i R… Co może być powodem?
    Pozdrawiam
    Andrzej

    Odpowiedz
  • Super wydaje się proste do zrobienia ale nie będę ryzykował, mam pytanko kończę budować automat arcade i szukam kogoś kto mógłby zrobić coś podobnego co Pan z tym żeby można było podłączyć pod wrzutnik monet ch923 procesorowy (z Botland.pl) + Pc + pod minipaca, żeby wyświetlało godzinę i ile kasy zostało już wrzucone taka mini prywatna skarbonka z aktualnym czasem ;)
    Ktoś jest w stanie się podjąć takiego bajeru ?

    Odpowiedz

Odpowiedz

anuluj

Arduino zegar ds3231 z dużą czytelną czcionką

Nie przegap nowych projektów!

Zapisując się na nasz Newsletter będziesz miał pewność, że nie przegapisz żadnego nowego projektu opublikowanego w Majsterkowie!

Od teraz nie przegapisz żadnego projektu!

Masz uwagi?