This is an old revision of the document!


Clock Set Data Time

Autor: Asmaa Alaghbari
Grupa: 336CB

Introducere

pm_final.jpg

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.

Descriere generală

Scopul acestui proiect este de a construi un ceas digital cu alarmă utilizând un circuit integrat RTC (Real Time Clock) și un microcontroler Arduino. Dispozitivul va afișa ora și data curente, iar utilizatorii vor putea seta ora și data în mod manual. De asemenea, va exista și o funcție de alarmă, care va activa un buzzer la momentul setat.

Proiectul implică utilizarea unui circuit integrat RTC, care este proiectat pentru a menține timpul real, chiar și în cazul întreruperilor de alimentare. RTC-ul va fi conectat la microcontrolerul Arduino, care va fi programat să afișeze ora și data curente pe un afișaj LCD. Utilizatorii vor putea seta manual ora și data folosind un buton și o roată de potențiometru.

Pentru funcția de alarmă, se va utiliza un buzzer, care va fi activat la momentul setat. Utilizatorii vor putea seta momentul alarmei folosind butonul și potențiometrul.

Proiectul va fi construit utilizând componente electronice comune, cum ar fi breadboard-ul, firele de conexiune, circuitul integrat RTC, afișajul LCD și buzzerul. De asemenea, va fi necesar să se programeze microcontrolerul Arduino utilizând Arduino IDE.

În general, acest proiect este o soluție practică și utilă pentru oricine dorește să își construiască propriul ceas digital cu alarmă, sau să înțeleagă mai bine cum funcționează un astfel de dispozitiv.

Hardware Design

Un proiect complet pentru Clock Set Data Time și Alarm ar implica proiectarea și construirea unui circuit integrat care să aibă capacitatea de a afișa ora curentă, data și să genereze o alarmă atunci când este setată la un anumit moment de timp. Acest circuit ar avea nevoie de următoarele componente:

  • Microcontroler - Pentru a controla afișajul, setarea timpului și alarmei, și pentru a genera sunetul de alarmă, se utilizeaza un microcontroler (Arduino Uno)
  • Afișaj - Pentru a afișa ora și data, se utilizeaza un afișaj LCD.
  • Buton - Un buton poate fi folosit pentru a seta timpul și data, precum și pentru a activa sau dezactiva alarmele.
  • Buzzer - Pentru a genera sunetul de alarmă, se poate utiliza un buzzer.
  • RTC (Real Time Clock) - Pentru a menține ora și data exactă, se poate utiliza un RTC, cum ar fi modelul DS1307.

Schemă electrică:

Implementarea circuitului:
Circuitul poate fi construit folosind un breadboard și cabluri de legare, împreună cu componentele menționate mai sus. După ce circuitul este construit, microcontrolerul trebuie programat pentru a gestiona RTC-ul și afișajul, precum și pentru a activa buzzer-ul la ora setată pentru alarmă.

Software Design

Algoritmul principal implementat în aplicație este unul simplu de afișare a timpului curent și verificare a activării alarmei în funcție de valorile setate de utilizator. Au fost implementate următoarele surse și funcții:

  • Funcția setup(): Această funcție inițializează mediul de lucru și setează stările inițiale ale piniilor. Ea configurează modulul RTC, inițializează afișajul LCD și afișează un mesaj de inițializare pe afișajul LCD.
  • Funcția loop(): Aceasta reprezintă bucla principală a aplicației, în care se execută logica principală a programului. În cadrul buclei loop, se afișează timpul și data curentă pe afișajul LCD, se verifică apăsarea butonului “Set” pentru activarea modului de setare a alarmei și se implementează modul de setare a alarmei, care 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.

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

TODO

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 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

Jurnal

  • 19.04.2023: Alegere tema proiect
  • 02.05.2023: Realizarea paginii proiectului și a descrierii succinte a acestuia.
  • 04.05.2023: Adaugare schema bloc
  • 05.05.2023: Finalizare Milestone proiect - documentație
  • 14.05.2023: Finalizare Milestone - hardware
  • 28.05.2023: Finalizare Milestone - Software

Bibliografie/Resurse

pm/prj2023/iotelea/clocksetdatatime.1685356378.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