Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:iotelea:clocksetdatatime [2023/05/29 14:29]
asmaa_gamal.al [Rezultate Obţinute]
pm:prj2023:iotelea:clocksetdatatime [2023/05/30 19:36] (current)
asmaa_gamal.al [Bibliografie/Resurse]
Line 40: Line 40:
 ===== Software Design ===== ===== Software Design =====
  
-Algoritmul principal implementat în aplicație ​este unul simplu de afișare ​timpului curent ​și verificare a activării alarmei în funcție de valorile setate de utilizatorAu fost implementate următoarele surse și funcții:​\\ +Codul furnizat ​este o implementare ​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\\ 
-    ​Funcția ​**setup()**: Această funcție inițializează mediul de lucru și setează stările inițiale ale piniilorEa configurează ​modulul RTC, inițializează afișajul LCD și afișează un mesaj de inițializare pe afișajul LCD.\\ +De exemplufuncț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 oreiminutei, 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"​ 
-    * Funcția ​**loop()**: Aceasta reprezintă bucla principală a aplicațieiîn care se execută ​logica principală a programului. ​În cadrul buclei loopse afișează ​timpul ​și data curentă pe afișajul LCD, se verifică ​apăsarea butonului ​"Set" pentru ​activarea modului de setare ​alarmei și se implementează ​modul de setare a alarmeicare permite utilizatorului să stabilească ora și minutul ​pentru alarmă. De asemenea, ​se verifică dacă ora curentă se potrivește cu ora și minutul setate ​de utilizator ​pentru alarmă ​și se activează un buzzer în caz de potrivire. +Î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ă.
-Codul aplicației este structurat într-un mod clar și modular, cu funcții separate pentru diverse funcționalități și bucle de execuție distincte pentru diferite stări ale aplicației. Aceasta facilitează înțelegerea,​ întreținerea și extinderea codului.\\+
  
-Aplicația utilizează următoarele librării și surse terțe:\\ 
-    * **Wire**: Biblioteca Wire facilitează comunicarea prin protocolul I2C, utilizată pentru a interacționa cu modulul RTC DS1307 și cu afișajul LCD utilizat în proiect.\\ 
-    * **RTClib**: Această bibliotecă oferă funcționalitatea necesară pentru a comunica cu modulul RTC (Real-Time Clock), în acest caz modelul DS1307. Biblioteca RTClib simplifică operațiile de citire și scriere a timpului și datei.\\ 
-    * **LiquidCrystal_I2C**:​ Această bibliotecă permite controlul unui afișaj LCD prin intermediul protocolului I2C. Afișajul LCD utilizat în proiect are o configurație I2C, ceea ce face ca această bibliotecă să fie utilă pentru a simplifica interacțiunea cu afișajul.\\ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 55: Line 50:
  
 Utilizatorul poate seta ora, minutul, anul, luna, ziua și alarma folosind butoanele disponibile. Rezultatele obținute prin utilizarea acestui cod includ:\\ Utilizatorul poate seta ora, minutul, anul, luna, ziua și alarma folosind butoanele disponibile. Rezultatele obținute prin utilizarea acestui cod includ:\\
-  ​1. Afișarea curentă a datei și a orei pe ecranul LCD.\\ + 1. Afișarea curentă a datei și a orei pe ecranul LCD.\\ 
-  2. Posibilitatea utilizatorului de a seta ora curentă prin intermediul butoanelor.\\ + 2. Posibilitatea utilizatorului de a seta ora curentă prin intermediul butoanelor.\\ 
-  3. Posibilitatea utilizatorului de a seta minutul curent prin intermediul butoanelor.\\ + 3. Posibilitatea utilizatorului de a seta minutul curent prin intermediul butoanelor.\\ 
-  4. Posibilitatea utilizatorului de a seta anul curent prin intermediul butoanelor.\\ + 4. Posibilitatea utilizatorului de a seta anul curent prin intermediul butoanelor.\\ 
-  5. Posibilitatea utilizatorului de a seta luna curentă prin intermediul butoanelor.\\ + 5. Posibilitatea utilizatorului de a seta luna curentă prin intermediul butoanelor.\\ 
-  6. Posibilitatea utilizatorului de a seta ziua curentă prin intermediul butoanelor.\\ + 6. Posibilitatea utilizatorului de a seta ziua curentă prin intermediul butoanelor.\\ 
-  7. Posibilitatea utilizatorului de a seta alarmă și de a o activa/​dezactiva prin intermediul butoanelor.\\ + 7. Posibilitatea utilizatorului de a seta alarmă și de a o activa/​dezactiva prin intermediul butoanelor.\\ 
-  8. Salvarea valorilor actualizate ale datei și orei în modul RTC.\\+ 8. Salvarea valorilor actualizate ale datei și orei în modul RTC.\\
  
 Astfel, prin utilizarea acestui cod, utilizatorul poate ajusta și menține data și ora corectă pe ceas, precum și să configureze o alarmă pentru a fi activată la o anumită oră și minut specificate.\\ Astfel, prin utilizarea acestui cod, utilizatorul poate ajusta și menține data și ora corectă pe ceas, precum și să configureze o alarmă pentru a fi activată la o anumită oră și minut specificate.\\
 ===== Concluzii ===== ===== Concluzii =====
 proiectul Clock Set Data Time și Alarma este o modalitate excelentă de a învăța cum să utilizați un circuit integrat RTC și un afișaj LCD pentru a construi un ceas digital cu alarmă. Prin intermediul acestui proiect, puteți învăța cum să utilizați funcțiile de programare ale Arduino și să vă familiarizați cu procesul de conectare a componentelor hardware la o placă de dezvoltare.\\ proiectul Clock Set Data Time și Alarma este o modalitate excelentă de a învăța cum să utilizați un circuit integrat RTC și un afișaj LCD pentru a construi un ceas digital cu alarmă. Prin intermediul acestui proiect, puteți învăța cum să utilizați funcțiile de programare ale Arduino și să vă familiarizați cu procesul de conectare a componentelor hardware la o placă de dezvoltare.\\
-Proiectul poate fi, de asemenea, util în viața de zi cu zi, fiind un instrument util pentru monitorizarea timpului și setarea alarmelor pentru diferite activități. Prin personalizarea și adaptarea proiectului la nevoile dvs., puteți obține un dispozitiv personalizat și util, care poate fi utilizat în diferite situații.+ 
 +În concluzie, codul furnizat permite implementarea unui ceas digital cu funcționalități de afișare a datei și orei, setare a valorilor pentru oră, minut, an, lună, zi și activare/​dezactivare a alarmei. Acesta oferă o interfață simplă și intuitivă utilizatorului prin intermediul butoanelor, permițându-i să ajusteze și să mențină corectitudinea datelor și orei afișate. Prin adăugarea funcționalității de alarmă, utilizatorul poate programa un semnal sonor la o oră și minut dorite. Codul reprezintă o bază solidă pentru dezvoltarea unui ceas digital personalizat și poate fi adaptat și extins pentru a îndeplini cerințe specifice.\\ 
 + 
 +Proiectul poate fi, de asemenea, util în viața de zi cu zi, fiind un instrument util pentru monitorizarea timpului și setarea alarmelor pentru diferite activități. Prin personalizarea și adaptarea proiectului la nevoile dvs., puteți obține un dispozitiv personalizat și util, care poate fi utilizat în diferite situații.\\
 ===== 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 90: 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>​
 +   
        
  
  
pm/prj2023/iotelea/clocksetdatatime.1685359771.txt.gz · Last modified: 2023/05/29 14:29 by asmaa_gamal.al
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0