Differences

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

Link to this comparison view

pm:prj2021:alazar:alarmclocklcd [2021/05/31 00:40]
kdimovski created
pm:prj2021:alazar:alarmclocklcd [2021/05/31 19:35] (current)
kdimovski
Line 1: Line 1:
-w====== Alarm Clock LCD ======+====== Alarm Clock LCD ======
 Autor: Dimovski Kirjan\\ Autor: Dimovski Kirjan\\
 Grupa: 332CB Grupa: 332CB
 ===== Introducere ===== ===== Introducere =====
-An Alarm Clock with an LCD using an RTC DS3231 ​to keep track of the time+Un ceas cu alarmă cu un LCD care utilizează un RTC DS3231 ​pentru a ține evidența timpului.
 ===== Descriere generală ===== ===== Descriere generală =====
-{{ :​pm:​prj2021:​alazar:​schema.png?500 | Schema generala}} +{{ :​pm:​prj2021:​alazar:​diagram_alarm_lcd.jpg?500 |}} 
-Use buttons to set alarm.+ 
 +Arduino citeste din modul, converteste datele si le trimite display-ului. Un buzzer porneste daca timpul alarmei a ajuns la timpul curent. Pentru a opri alarma se apasa butonul din mijloc. Pentry ca avem o baterie în modulul, acesta va ține evidența timpului, chiar dacă nu este alimentat de o conexiune USB.
 ===== Hardware Design ===== ===== Hardware Design =====
   * Arduino UNO R3   * Arduino UNO R3
-  * LCD 2004 I2C +  * LCD 2004 I2C (0x27) 
-  * RTC DS3231 +  * RTC DS3231 ​(0x68)
-  * LED+
   * Fire   * Fire
   * Breadboard   * Breadboard
   * Buzzer   * Buzzer
-  * Rezistente +  * 3 x Rezistente 
-  * Butoane+  * 4 x Butoane
 {{ :​pm:​prj2021:​alazar:​untitled_sketch_bb.png?​nolink&​800 |}} {{ :​pm:​prj2021:​alazar:​untitled_sketch_bb.png?​nolink&​800 |}}
-<note tip> 
-Aici puneţi tot ce ţine de hardware design: 
-  * listă de piese 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) 
-  * diagrame de semnal ​ 
-  * rezultatele simulării 
-</​note>​ 
  
 +Am folosit si rezistore de pull up pentru ca am connectat 2 despozitive la I2C.
 ===== Software Design ===== ===== Software Design =====
  
 +Dezvoltarea a fost facuta folosind mediul de dezvoltare [[https://​www.arduino.cc/​en/​software|Arduino IDE]]
  
-<note tip> +=== Bibliotecile externe folosite === 
-Descrierea codului aplicaţiei (firmware): +  * Wire.h: Pentru protocolul I2C
-  * mediu de dezvoltare (if any) (e.gAVR Studio, CodeVisionAVR) +  * LiquidCrystal_I2C.h: Pentru utilizarea mai usoara al ecranului.
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute ​=====+=== Variabile globale ​=== 
 +  bool alarm1_status,​ alarm2_status;​ 
 +  char Time[] ​    " ​ :  :  ", 
 +     ​calendar[] ​" ​     /  /20  ", 
 +     ​alarm1[] ​  "​A1: ​  : ​ :00", alarm2[] ​  "​A2: ​  : ​ :​00",​ 
 +     ​temperature[] = "​T: ​  ​. ​  ​C";​ 
 +  byte  i, second, minute, hour, day, date, month, year, 
 +      alarm1_minute,​ alarm1_hour,​ alarm2_minute,​ alarm2_hour,​ 
 +      status_reg;
  
-<note tip> +=== Functii === 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+== setup() == 
-</​note>​+Pinii de la 9 pana la 11 sunt setați ca intrări pentru butoane, utilizând rezistențele pull up încorporate ale Arduino, iar pinul 12 este dezactivat (alarm_pin) cu noTone ()
 +Ecranul LCD este inițializat (lcd.begin (20, 4)) și pinul 2 este setat ca pinul de întrerupere,​ utilizând alarmă ca procedură de întrerupere. 
 +== Alarm() == 
 +Porneste buzzerul la o frecventa de 1000. Folosit in setup() cu attachInterrupt().
  
-===== Concluzii ​=====+== loop() ​== 
 +Verificam daca un buton a fost apasat. Daca e, editam timpul sau alarmul si scriem pe modulul. Altfel, citim de la modulul si afisam pe display-ul. 
 +===== Rezultate Obţinute ​=====
  
-===== Download =====+{{ :​pm:​prj2021:​alazar:​breadboard_alarm_lcd.jpg?​500 |}}
  
-<note warning>​ +{{ :pm:​prj2021:​alazar:​lcd_with_rtc.jpg?500 |}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+
  
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul)**Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. +[[https://​youtu.be/​OFDeXPScweg|Link to YouTube]] pentru demo-ul.
-</​note>​+
  
-===== Jurnal ​=====+===== Concluzii ===== 
 +Proiectul a fost foarte interesant de implementat. ​ M-am familiarizat cu protocolul I2C, chiar dacă uneori a fost cam dificil. ​ Cea mai mare parte a muncii a vizat formatarea de pe ecran, cu care vă puteți distra foarte mult dacă va puneti mintea la contribuție. 
 +===== Download ​=====
  
-<note tip> +{{:​pm:​prj2021:​alazar:​arhiva_kd332cb.zip|}}
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * [[https://​datasheets.maximintegrated.com/​en/​ds/​DS3231.pdf|RTC DS3231 Datasheet]] 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * [[https://​github.com/​fdebrabander/​Arduino-LiquidCrystal-I2C-library|LiquidCrystal I2C GitHub]] 
-</note>+  ​[[https://​www.bluedot.space/​tutorials/​how-many-devices-can-you-connect-on-i2c-bus/​|How many Devices can you connect to the I2C Bus?]] 
 +  ​Arduino UNO pinout 
 +  ​[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab1-2021|Laboratorul 1]] 
 +  ​[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab6-2021|Laboratorul 6]] 
 +  ​[[https://​www.youtube.com/​watch?​v=E6wkvTG2Ofs|YouTube 1]] 
 +  * [[https://​www.youtube.com/​watch?​v=xVC0X_PE_XE&​t=263s|YouTube 2]] 
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2021/alazar/alarmclocklcd.1622410810.txt.gz · Last modified: 2021/05/31 00:40 by kdimovski
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