This shows you the differences between two versions of the page.
pm:prj2023:iotelea:clocksetdatatime [2023/05/29 14:37] asmaa_gamal.al [Software Design] |
pm:prj2023:iotelea:clocksetdatatime [2023/05/30 19:36] (current) asmaa_gamal.al [Bibliografie/Resurse] |
||
---|---|---|---|
Line 40: | Line 40: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | Codul furnizat este o implementare a unui ceas cu alarmă utilizând un Arduino și un modul RTC (Real-Time Clock). Acesta folosește o serie de biblioteci precum Wire.h, RTClib.h, TimeLib.h și LiquidCrystal_I2C.h pentru a permite comunicarea cu modulul RTC și afișarea datelor pe un afișaj LCD. Codul este structurat în jurul unei bucle principale **loop()**, care se execută în mod continuu. În această buclă, se verifică valoarea variabilei **menu** pentru a determina starea curentă a programului și se apelează funcțiile corespunzătoare pentru a afișa și gestiona diferitele aspecte ale ceasului. \\ | + | Codul furnizat este o implementare a unui ceas cu alarmă utilizând un Arduino și un modul RTC (Real-Time Clock). Acesta folosește o serie de biblioteci precum **Wire.h**, **RTClib.h**, **TimeLib.h** și **LiquidCrystal_I2C.h** pentru a permite comunicarea cu modulul RTC și afișarea datelor pe un afișaj LCD. Codul este structurat în jurul unei bucle principale **loop()**, care se execută în mod continuu. În această buclă, se verifică valoarea variabilei **menu** pentru a determina starea curentă a programului și se apelează funcțiile corespunzătoare pentru a afișa și gestiona diferitele aspecte ale ceasului. \\ |
De exemplu, funcția **DisplayDateTime()** afișează data și ora curentă pe afișajul LCD. Utilizatorul poate apăsa butonul "SET" pentru a trece în modul de setare a orei, minutei, anului, lunii sau zilei, iar funcțiile corespunzătoare precum **DisplaySetHour()** sau **DisplaySetMinute()** permit modificarea valorilor corespunzătoare. Există, de asemenea, funcția **DisplaySetAlarm()** care permite setarea alarmei. Utilizatorul poate ajusta ora și minutul alarmei utilizând butoanele specifice, iar starea alarmei (pornită sau oprită) poate fi modificată prin apăsarea butonului "ALARM ON/OFF". | De exemplu, funcția **DisplayDateTime()** afișează data și ora curentă pe afișajul LCD. Utilizatorul poate apăsa butonul "SET" pentru a trece în modul de setare a orei, minutei, anului, lunii sau zilei, iar funcțiile corespunzătoare precum **DisplaySetHour()** sau **DisplaySetMinute()** permit modificarea valorilor corespunzătoare. Există, de asemenea, funcția **DisplaySetAlarm()** care permite setarea alarmei. Utilizatorul poate ajusta ora și minutul alarmei utilizând butoanele specifice, iar starea alarmei (pornită sau oprită) poate fi modificată prin apăsarea butonului "ALARM ON/OFF". | ||
- | În funcția **Saving()**, valorile actualizate ale datei și orei sunt salvate în modulul RTC, iar utilizatorul primește un mesaj de confirmare pe afișaj. Codul conține, de asemenea, utilizarea funcției `tone()` pentru a genera un sunet de alarmă dacă ora curentă se potrivește cu ora și minutul setate pentru alarmă. | + | În funcția **Saving()**, valorile actualizate ale datei și orei sunt salvate în modulul RTC, iar utilizatorul primește un mesaj de confirmare pe afișaj. Codul conține, de asemenea, utilizarea funcției **tone()** pentru a genera un sunet de alarmă dacă ora curentă se potrivește cu ora și minutul setate pentru alarmă. |
Line 68: | Line 68: | ||
===== Download ===== | ===== Download ===== | ||
- | {{:pm:prj2023:iotelea:pm_-_proiect.zip|}} | + | Acest fisier {{:pm:prj2023:iotelea:pm_clock_set_data_time_-_files.zip|}} contine toate resursele necesare pentru proiectul "Clock with Alarm" pe platforma Arduino. Fisierul include urmatoarele elemente:\\ |
+ | 1. Codul sursa: **PM_Software.ino**: Este fisierul principal al proiectului care contine codul sursa pentru implementarea unui ceas cu functie de alarma. Acesta poate fi deschis si editat cu Arduino IDE. | ||
+ | 2. Biblioteci:\\ | ||
+ | - RTClib: O biblioteca pentru a permite comunicarea cu modulul RTC (Real-Time Clock).\\ | ||
+ | - LiquidCrystal_I2C: O biblioteca pentru controlul display-ului LCD (I2C).\\ | ||
+ | - Alte biblioteci specifice pot fi incluse in fisierul ZIP, daca sunt folosite in proiect.\\ | ||
+ | |||
+ | 3. README.md\\ | ||
+ | 4. Imagini: contine imagini relevante pentru proiect, cum ar fi scheme de conexiune sau capturi de ecran ale aplicatiei.\\ | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 88: | Line 97: | ||
* <html><a class="https://www.instructables.com/Simple-Arduino-Clock/" href="?do=export_pdf">Simple Arduino Clock</a></html> | * <html><a class="https://www.instructables.com/Simple-Arduino-Clock/" href="?do=export_pdf">Simple Arduino Clock</a></html> | ||
* <html><a class="https://www.tinkercad.com" href="?do=export_pdf">Tinkercad</a></html> | * <html><a class="https://www.tinkercad.com" href="?do=export_pdf">Tinkercad</a></html> | ||
+ | * <html><a class="pm_final.pdf" href="?do=export_pdf">Clock Set Data Time - PDF</a></html> | ||
+ | |||