Differences

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

Link to this comparison view

pm:prj2023:iotelea:clocksetdatatime [2023/05/29 13:32]
asmaa_gamal.al [Introducere]
pm:prj2023:iotelea:clocksetdatatime [2023/05/30 19:36] (current)
asmaa_gamal.al [Bibliografie/Resurse]
Line 6: Line 6:
 ===== Introducere ===== ===== Introducere =====
  
-{{:​pm:​prj2023:​iotelea:​pm_final.jpg?​780}}+{{:​pm:​prj2023:​iotelea:​pm_final.jpg?​750}}
  
 Odată cu dezvoltarea tehnologiei,​ gadget-urile și aparatele electronice devin din ce în ce mai sofisticate,​ iar multe dintre acestea au integrat un ceas sau o alarmă. În acest proiect, vom explora cum putem să creăm propriul ceas digital cu funcție de setare a orei și datei, dar și cu alarmă integrată. Pentru aceasta, vom utiliza un circuit integrat RTC (Real Time Clock), microcontrolerul Arduino și alte componente electronice necesare. Scopul acestui proiect este să oferim o soluție practică și utilă pentru oricine dorește să își creeze propriul ceas cu alarmă, sau să înțeleagă mai bine cum funcționează un astfel de dispozitiv. Odată cu dezvoltarea tehnologiei,​ gadget-urile și aparatele electronice devin din ce în ce mai sofisticate,​ iar multe dintre acestea au integrat un ceas sau o alarmă. În acest proiect, vom explora cum putem să creăm propriul ceas digital cu funcție de setare a orei și datei, dar și cu alarmă integrată. Pentru aceasta, vom utiliza un circuit integrat RTC (Real Time Clock), microcontrolerul Arduino și alte componente electronice necesare. Scopul acestui proiect este să oferim o soluție practică și utilă pentru oricine dorește să își creeze propriul ceas cu alarmă, sau să înțeleagă mai bine cum funcționează un astfel de dispozitiv.
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 =====
  
-TODO+{{:​pm:​prj2023:​iotelea:​pm_all.jpg?​750}} 
 + 
 +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.\\ 
 + 2. Posibilitatea utilizatorului de a seta ora 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.\\ 
 + 5. Posibilitatea utilizatorului de a seta luna 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.\\ 
 + 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.\\
 ===== 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 78: 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.1685356368.txt.gz · Last modified: 2023/05/29 13:32 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