Sistemul este gandit sa afiseze in timp real ora, data si ziua saptamanii, iar datorita bateriei de backup de pe modulul DS1302, ora se pastreaza chiar si atunci cand alimentarea este oprita. Astfel, vei avea un ceas complet functional, usor de realizat si potrivit pentru orice proiect de automatizare sau decor electronic.
Ce este un modul RTC DS1302 si cum functioneaza
Modulul RTC DS1302 (Real Time Clock) este un ceas in timp real care comunica cu Arduino printr-o conexiune seriala simpla, folosind doar trei pini: DAT, CLK si RST. Acesta contine un cristal de cuart si un circuit intern care masoara precis timpul, iar o baterie de tip CR2032 pastreaza informatiile chiar daca dispozitivul nu mai este alimentat.
Astfel, odata setata ora corecta, DS1302 continua sa o actualizeze in mod autonom, iar Arduino doar citeste valorile pentru a le afisa pe ecran.
Componente necesare1 x Placa de dezvoltare compatibila Arduino R4 WiFi
1 x Modul ceas RTC DS1302
1 x Ecran OLED 0.96" cu interfata IIC/I2C
1 x Breadboard 830 puncte
5 Fire tata-tata
5 Fire tata-mama
1 x Baterie DS1302
Schema de conectare

Cod sursa
Dupa ce ai realizat conexiunile, este timpul sa incarci codul sursa. Pentru a-l descarca, click AICI.
Conecteaza placa Arduino UNO R4 WiFi la computer folosind cablul USB, apoi deschide Arduino IDE. Din meniul Tools, selecteaza placa si portul serial corespunzator, iar apoi apasa butonul Upload (sageata spre dreapta).
Pentru ca acest proiect sa functioneze corect, este important sa instalezi cateva librarii in Arduino IDE. Acestea ii permit placii sa comunice cu modulul RTC si sa afiseze informatiile pe ecranul OLED.
- Adafruit SSD1306 - pentru controlul ecranului OLED 0.96" prin interfata I2C.
- Adafruit GFX Library - libraria grafica de baza folosita impreuna cu SSD1306 pentru text si elemente grafice.
- Rtc by Makuna - pentru comunicarea cu modulul de ceas in timp real DS1302.
In codul sursa exista o linie speciala pentru setarea orei manuale:
RtcDateTime manual(2025, 10, 9, 22, 45, 0);
rtc.SetDateTime(manual);
Inainte de prima incarcare, modifica data si ora conform momentului real. Dupa ce proiectul afiseaza corect ora pe ecranul OLED, comenteaza aceste linii (adaugand // la inceputul fiecareia) si incarca din nou codul in Arduino.
Aceasta a doua incarcare este importanta, fara ea, ceasul ar continua sa se reseteze la ora manuala de fiecare data cand placa este repornita.
Cum functioneaza proiectul
Odata pornit, Arduino comunica cu modulul DS1302 si citeste in permanenta informatiile despre ora, minut, secunda, data si ziua saptamanii. Ecranul OLED afiseaza ora mare pe centru, iar sub aceasta apar data completa si ziua corespunzatoare.
Actualizarea se face in timp real, la fiecare secunda, iar sincronizarea dintre RTC si afisaj este perfecta. Daca opresti alimentarea, modulul isi pastreaza ora exacta, astfel incat, la repornire, afisajul isi continua functionarea corecta fara interventii suplimentare.
Proiectul este ideal pentru a invata cum functioneaza un ceas in timp real, cum se lucreaza cu protocolul I2C si cum poti integra un afisaj OLED intr-un proiect practic si elegant.
Daca ai intrebari sau sugestii, scrie-mi la electronica@bitmi.ro. Si daca faci acest proiect, trimite-mi poze sau video. Abia astept sa vad cum l-ai personalizat!