Differences

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

Link to this comparison view

pm:prj2021:dbrigalda:502 [2021/05/12 17:28]
sebastian.gherman99 [Ce face:]
pm:prj2021:dbrigalda:502 [2021/06/04 13:48] (current)
sebastian.gherman99
Line 1: Line 1:
 ====== Smart Clock ====== ====== Smart Clock ======
 ===== Student: Sebastian Gherman, 336CC ===== ===== Student: Sebastian Gherman, 336CC =====
 +
 <note tip> <note tip>
 Mail: sebastian.gherman99@stud.acs.upb.ro Mail: sebastian.gherman99@stud.acs.upb.ro
 </​note>​ </​note>​
 +
 ===== Introducere ===== ===== Introducere =====
 +==== Codul Arduino ====
 +[[https://​github.com/​seembh/​SmartClock-PM-|Link catre github.]]
 +==== Demo ====
 +https://​www.youtube.com/​watch?​v=JEiEMtj-I2k
 ====Ce face:==== ====Ce face:====
-Proiectul a inceput ca un ceas obisnuit pe Arduino cu functionalitati de alarma si data, la care am adaugat un senzor cu infrarosu pentru detectarea miscarii ​care va actiona un releu si un buzzer si un senzor ultrasonic care va avea functionalitatea de a afisa temperatura si umiditatea din camera.+Proiectul a inceput ca un ceas obisnuit pe Arduino cu functionalitati de alarma si data, la care am adaugat un senzor cu infrarosu pentru detectarea miscariiun buzzer si un senzor ultrasonic care va avea functionalitatea de a afisa temperatura si umiditatea din camera.
 ====Care este scopul lui:==== ====Care este scopul lui:====
-Scopul proiectului este acela de a avea un ceas usor de folosit cu functionalitatea de temperatura si umiditate fara atingerea dispozitivului,​ si senzorul de miscare are scopul de a detecta miscarea dintr-o camera si a activa ​un releu pentru orice necesitate (bec, priza, dispozitive cloud enabled, etc...)+Scopul proiectului este acela de a avea un ceas usor de folosit cu functionalitatea de temperatura si umiditate fara atingerea dispozitivului,​ si senzorul de miscare are scopul de a detecta miscarea dintr-o camera si a afisa un mesaj pe ecranul LCD.
 ====Care a fost ideea de la care am pornit:==== ====Care a fost ideea de la care am pornit:====
 Am pornit de la nevoia de un ceas digital care sa fie usor de folosit, dar care sa aiba si alte functionalitati care pot sa ajute o casa smart. ​ Am pornit de la nevoia de un ceas digital care sa fie usor de folosit, dar care sa aiba si alte functionalitati care pot sa ajute o casa smart. ​
Line 15: Line 21:
 ===== Descriere generală ===== ===== Descriere generală =====
 ====Functionalitate:​==== ====Functionalitate:​====
-Proiectul afiseaza ora in format digital pe o matrice de led-uri 8x32. Acesta are control de setare data si ora si optiune de alarma. In momentul in care senzorul PIR detecteaza miscare, ​releul ​se inchide, pe ecran apare un mesaj, iar din buzzer se aude un chime. Daca se apropie un obiect ( ex. mana) de senzorul ultrasonic, acesta afiseaza temperatura si umiditatea. ​+Proiectul afiseaza ora in format digital pe o matrice de led-uri 8x32. Acesta are control de setare data si ora si optiune de alarma. In momentul in care senzorul PIR detecteaza miscare, se afiseaza ​un mesaj pe LCD. Daca se apropie un obiect ( ex. mana) de senzorul ultrasonic, acesta afiseaza temperatura si umiditatea. ​ 
 +===== Hardware Design =====
 ====Schema bloc:==== ====Schema bloc:====
 {{pm:​prj2021:​dbrigalda:​smartc_plz.png}} {{pm:​prj2021:​dbrigalda:​smartc_plz.png}}
-===== Hardware Design =====+====Schema electrica:==== 
 +{{pm:​prj2021:​dbrigalda:​schema_electrica_502.jpg?​800 |}} 
 ====Listă de piese:==== ====Listă de piese:====
-  ​Plăcuță Arduino UNO R3+^ Numar Piese      ^ Nume Piesa       ^ Obs          ^ 
-  ​- Senzor de distanță ultrasonic (HC-SR04) +| 1   ​Plăcuță Arduino UNO R3/Arduino Nano                                          | https://​cleste.ro/​arduino-uno-r3-atmega328p.html ​       | 
-  ​Butoane (4-setare oraminutreverse, setare alarma, setare data, poate imi mai trebuie +| 1   ​| ​Senzor de distanță ultrasonic (HC-SR04) ​                                     | https://​cleste.ro/​senzor-ultrasonic-hc-sr04.html ​              | 
-  ​Buzzer piezo +| 3   | Buton (buton fatabuton spatebuton meniu                                | https://​cleste.ro/​butoane-tactile-6x6x5mm.html ​                  | 
-  - Potentiometru 10k (volum buzzer) +| 1   | Buzzer Piezo                                                                 | https://​cleste.ro/​modul-buzzer-pasiv.html ​       | 
-  ​- PIR sensor ​(HC-SR505) +| 1   ​| ​Potentiometru 10k (volum buzzer) ​                                            | https://​cleste.ro/​poten-iometru.html#/​93-potentiometru-10k ​              | 
-  ​- Modul matrice LED 4x32 (MAX7219) +| 1   ​| ​PIR sensor ​                                                                  | https://​cleste.ro/​modul-senzor-infrarosu-pir.html?​utm_medium=GoogleAds&​utm_campaign=ShoppingAds&​utm_source= ​       |  
-  - Modul RTC (DS3231 - I2C) +| 1   ​| ​Modul matrice LED 4x32 (MAX7219) ​                                            | https://​cleste.ro/​modul-4-x-matrice-led-max7219-8x8.html ​       | 
-  ​- 2x Breadboard (MB-102) +| 1   | LCD DISPLAY I2C (1602) ​                                                      | https://​cleste.ro/​ecran-lcd-1602-iic-i2c.html ​              | 
-  ​LED-uri (2-5 ? 2 Mono culoare, restul RGB) +| 3   ​| ​Modul RTC (DS3231 - I2C)                                                     | https://​cleste.ro/​modul-rtc-ds3231-at24c32.html ​                  | 
-  ​- Rezistente pentru leduri(220ohm) +| 1   ​| ​2x Breadboard (MB-102) ​/ Perfboard ​                                          | https://​cleste.ro/​breadboard-830-puncte-mb-102-mb102.html ​       | 
-  ​- Rezistenta 10k (pentru senzor DHT11) +  | LED-uri ​Mono culoare ​                                                        | https://​cleste.ro/​led-de-5-mm.html ​              | 
-  ​- Senzor temperatura/​umiditate (DHT11 - 4 pins) +| 2   ​| ​Rezistente pentru leduri(220ohm) ​                                            | https://​cleste.ro/​rezistente-1-4w.html ​       |  
-  ​- Fire Dupont (in caz ca nu lipesc tot; de toate felurile si dimensiunile) +| 1   ​| ​Rezistenta 10k (pentru senzor DHT11) ​                                        | https://​cleste.ro/​rezistente-1-4w.html ​       | 
-===== Bibliografie/Resurse ===== +| 1   ​| ​Senzor temperatura/​umiditate (DHT11 - 4 pins)                                | https://​cleste.ro/​senzor-digital-de-temperatura-i-umiditate-dht11.html| 
-<note tip>​Export în <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF<​/a></html>\\ +| 1   ​| ​Fire Dupont (in caz ca nu lipesc tot; de toate felurile si dimensiunile) ​    | https://cleste.ro/10xfire-dupont-mama-tata-20cm.htmlhttps://cleste.ro/10-x-fire-dupont-mama-mama-10cm.html,​ https://cleste.ro/10-x-fire-dupont-tata-tata-10cm.html ​  ​| ​
-https://ocw.cs.pub.ro/courses/pm/prj2021/dbrigalda/​502+
  
-https://​www.arduino.cc/​en/​reference/​SPI\\ +===== Software Design =====
-https://​www.makerguides.com/​max7219-led-dot-matrix-display-arduino-tutorial/​\\ +
-https://​github.com/​sparkfun/​HC-SR04_UltrasonicSensor\\+
  
 +<note tip>
 +Descrierea codului aplicaţiei (firmware):
 +  * mediu de dezvoltare : ArduinoIDE(1.8.13)
 +  * librării şi surse 3rd-party (dht11, pitches, Wire, SPI,​LiquidCrystal_I2C,​ MD_Parola, MD_MAX72xx, ds3231)
 +</​note>​
  
-Libraries:​\\ +==== RTC ====
-- MD_MAX72XX \\ +
-- MD_Parola \\ +
-- DHT11\\ +
-- Pitches\\+
  
 +Modulul RTC are rolul de a pastra timpul si in cazul in care se opreste alimentarea microcontrolerului prin utilizarea unei baterii CR2032.
 +Are posibilitatea de a pastra ora, minutul, secunda, ziua, luna si anul si tine evidenta lunilor pare si impare si a anilor bisecti.
 +Interfatarea se face prin I2C si se foloseste biblioteca ds3231.
  
 +==== LCD ====
 +Interfatarea cu displayul LCD se face printr-un modul I2C care simplifica problema traseelor electrice. Pe display este afisata data in mod normal, iar la interactiunea cu senzorul ultrasonic, se afiseaza temperatura si umiditatea din incapere.
 +
 +<note tip>
 + ​Ambele module de I2C sunt legate in paralel. Controlul se face pe baza adresei dispozitivului. Pentru a afla adresa dispozitivelor I2C se poate folosi un scanner I2C ( https://​playground.arduino.cc/​Main/​I2cScanner/​ ).
 </​note>​ </​note>​
 +
 +==== Matricea LED ====
 +Matricea LED este compusa din 4 dispozitive cu 8x8 LED-uri. Interfatarea este prin SPI, iar controlul in arduino se face cu ajutorul celor 2 biblioteci mentionate mai sus (MD_Parola, MD_MAX72xx).
 +
 +==== Senzorul de temperatura/​umiditate ====
 +Senzorul trimite informatia codificata la Arduino, unde pe baza bibliotecii dht11 se face conversia in temperatura si umiditate.
 +
 +==== Butoanele ====
 +Sunt folosite 3 butoane (in fata, in spate si buton de meniu). Exista urmatoarele optiuni in meniu:
 +  - Setare ora
 +  - Setare minut
 +  - Setare zi
 +  - Setare luna
 +  - Setare an
 +Pentru a finaliza setarile se mai apasa inca o data pe butonul de meniu.
 +De asemenea, in afara meniului, butoanele au urmatoarele functionalitati:​
 +  * Butonul de mers in fata - seteaza Night Light ( se reduce din intensitatea matricei led si se opresc led-urile)
 +  * Butonul de mers in spate - activeaza/​dezactiveaza senzorii
 +==== Senzorul de miscare ====
 +Senzorul PIR detecteaza miscarea pe baza senzorului cu infrarosu. Are 2 rotite fizice pentru setare. Delayul pana cand sa se reseteze si sensibilitatea ( distanta la care detecteaza ). Senzorul activeaza intreruperea in Arduino care seteaza o variabila de stare.
 +
 +==== Senzorul ultrasonic ====
 +Senzorul ultrasonic foloseste un transmitator si receptor pentru a determina distanta baza pe timpul de drum impartit la viteza sunetului.
 +
 +===== Bibliografie/​Resurse =====
 +<note tip>​Export în <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html>​\\
 +https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​dbrigalda/​502
 +</​note>​
 +
 +  * https://​www.arduino.cc/​en/​reference/​SPI
 +  * https://​www.makerguides.com/​max7219-led-dot-matrix-display-arduino-tutorial/​
 +  * https://​create.arduino.cc/​projecthub/​pibots555/​how-to-connect-dht11-sensor-with-arduino-uno-f4d239
 +  * https://​create.arduino.cc/​projecthub/​abdularbi17/​ultrasonic-sensor-hc-sr04-with-arduino-tutorial-327ff6
 +  * https://​create.arduino.cc/​projecthub/​electropeak/​pir-motion-sensor-how-to-use-pirs-w-arduino-raspberry-pi-18d7fa
 +  * https://​create.arduino.cc/​projecthub/​Arnov_Sharma_makes/​lcd-i2c-tutorial-664e5a
 +  * https://​create.arduino.cc/​projecthub/​arduino_uno_guy/​i2c-liquid-crystal-displays-5b806c
 +  * https://​create.arduino.cc/​projecthub/​ronfrtek/​arduino-connect-multiple-i2c-devices-7db8b8
 +  * https://​www.youtube.com/​watch?​v=M2Jf8cebwCs
 +  * https://​www.youtube.com/​watch?​v=VxMV6wGS3NY
 +
 +==== Libraries ====
 +  - HC-SR04: https://​github.com/​sparkfun/​HC-SR04_UltrasonicSensor
 +  - Pitches: https://​gist.github.com/​mikeputnam/​2820675
 +  - DHT11: https://​github.com/​adidax/​dht11
 +  - MD_Parola: https://​github.com/​MajicDesigns/​MD_Parola
 +  - MD_MAX72XX: https://​github.com/​MajicDesigns/​MD_MAX72XX
 +  - LCD: https://​github.com/​johnrickman/​LiquidCrystal_I2C
 +  - DS3231: https://​github.com/​rodan/​ds3231
  
pm/prj2021/dbrigalda/502.1620829689.txt.gz · Last modified: 2021/05/12 17:28 by sebastian.gherman99
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