Differences

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

Link to this comparison view

pm:prj2021:dbrigalda:502 [2021/04/25 21:12]
sebastian.gherman99 [Schema bloc:]
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 adauga ​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.1619374335.txt.gz · Last modified: 2021/04/25 21:12 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