Differences

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

Link to this comparison view

pm:prj2024:sseverin:robert.nastase0609 [2024/05/16 21:30]
robert.nastase0609 [Hardware Design]
pm:prj2024:sseverin:robert.nastase0609 [2024/05/27 16:28] (current)
robert.nastase0609 [Bibliografie/Resurse]
Line 32: Line 32:
 ===== Hardware Design ===== ===== Hardware Design =====
  
-**Listă de componente:**+==Listă de componente:==
   * 2x Arduino Uno R3 ATMega328P   * 2x Arduino Uno R3 ATMega328P
-  * 2x Breadboard+  * 1x Breadboard ​HQ (830p) 
 +  * 1x Breadboard HQ (400p)
   * 1x Modul LCD 1602 cu Interfață I2C și Backlight Galben-Verde   * 1x Modul LCD 1602 cu Interfață I2C și Backlight Galben-Verde
   * 1x Modul LCD de 2.8" cu SPI și Controller ILI9341 (240x320 px)   * 1x Modul LCD de 2.8" cu SPI și Controller ILI9341 (240x320 px)
Line 44: Line 45:
   * 1x Senzor Ultrasonic HC-SR04   * 1x Senzor Ultrasonic HC-SR04
   * 4x Condensator 100uF 35V   * 4x Condensator 100uF 35V
 +  * 1x Rezistor 10kΩ
   * 1x Rezistor 4.7kΩ   * 1x Rezistor 4.7kΩ
 +  * 1x Rezistor 2kΩ
 +  * 1x Rezistor 1kΩ
 +  * 1x Rezistor 220Ω
   * 2x Rezistor 100Ω   * 2x Rezistor 100Ω
-  * 1x Modul Bluetooth ​Master Slave HC-05 cu Adaptor+  * 1x Modul Bluetooth HC-05 cu Adaptor
   * LED-uri   * LED-uri
   * Jumper Wires   * Jumper Wires
Line 54: Line 59:
 </​note>​ </​note>​
  
-**Diagrama Circuitului din Exteriorul Casei:**+==Diagrama Circuitului din Exteriorul Casei:==
  
 {{ :​pm:​prj2024:​sseverin:​diagrama_circuit_exterior.png?​650 |}} {{ :​pm:​prj2024:​sseverin:​diagrama_circuit_exterior.png?​650 |}}
  
-**Schema Electrică a Circuitului din Exteriorul Casei:**+==Schema Electrică a Circuitului din Exteriorul Casei:==
  
-{{ :​pm:​prj2024:​sseverin:​schematic_circuit_exterior.png?650 |}}+{{ :​pm:​prj2024:​sseverin:​smart_home_system_schematic_exterior.png?650 |}}
  
-**Diagrama Circuitului din Interiorul Casei:**+==Diagrama Circuitului din Interiorul Casei:==
  
 {{ :​pm:​prj2024:​sseverin:​diagrama_circuit_interior.png?​650 |}} {{ :​pm:​prj2024:​sseverin:​diagrama_circuit_interior.png?​650 |}}
  
-**Schema Electrică a Circuitului din Interiorul Casei:**+==Schema Electrică a Circuitului din Interiorul Casei:==
  
-{{ :​pm:​prj2024:​sseverin:​schematic_circuit_Interior.png?650 |}}+{{ :​pm:​prj2024:​sseverin:​smart_home_system_schematic_interior.png?650 |}}
  
-**Stadiul Actual al părții Hardware:**+==Stadiul Actual al părții Hardware:==
  
 {{ :​pm:​prj2024:​sseverin:​smart_home_system.jpeg?​650 |}} {{ :​pm:​prj2024:​sseverin:​smart_home_system.jpeg?​650 |}}
 ===== Software Design ===== ===== Software Design =====
  
 +==Mediu de Dezvoltare==
  
-<​note ​tip> +Codul necesar funcționării proiectului a fost dezvoltat în Arduino IDE în fișierele:​ 
-Descrierea codului aplicaţiei ​(firmware): +  * **circuit_interior.ino** 
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR+  * **circuit_exterior.ino** 
-  * librării şsurse 3rd-party (e.gProcyon AVRlib+ 
-  * algoritmi şstructuri pe care plănuiţi să le implementaţi +Pentru a facilita comunicarea cu modulul Bluetooth HC-05, am folosit **MIT App Inventor**, o platformă web concepută pentru a permite utilizatorilor să creeze aplicații mobile pentru dispozitive Android printr-o interfață simplă de tip drag-and-drop. 
-  * (etapa 3surse şi funcţii implementate + 
-</​note>​+==Biblioteci utilizate pentru Circuitul Interior== 
 +  * **Wire.h** -pentru comunicația I2C între microcontroller și dispozitive periferice, cum ar fi senzori și ecrane LCD. 
 +  * **Servo.h** -> pentru controlul servomotoarelor,​ permițând poziționarea precisă a acestora prin semnale PWM. 
 +  * **LiquidCrystal_I2C.h** -> pentru controlul ecranelor LCD compatibile cu interfața I2C, facilitând afișarea de texte și date. 
 +  * **dht11.h** -> pentru utilizarea senzorului de temperatură și umiditate DHT11, oferind metode pentru citirea valorilor de temperatură și umiditate. 
 + 
 +==Biblioteci utilizate pentru Circuitul Exterior== 
 +  * **Adafruit_GFX.h** -> pentru desenarea formelor și textului pe afișaje, oferind funcții esențiale pentru interfețe grafice. 
 +  * **Adafruit_ST7789.h** -> pentru controlul ecranelor TFT bazate pe driverul ST7789, facilitând afișarea de imagini și texte. 
 +  * **Servo.h** -> pentru controlul servomotoarelor,​ permițând poziționarea precisă a acestora prin semnale PWM. 
 +  * **SPI.h** -> pentru comunicația serială de mare viteză între microcontroller și dispozitivele periferice folosind protocolul SPI (Serial Peripheral Interface)
 + 
 +==Laboratoare utilizate== 
 +  * **Laboratorul 1USART. Debugging** -> Utilizat pentru comunicarea serială și debugging. 
 +  * **Laboratorul 3: Timere. Pulse Width Modulation (PWM)** -> Utilizat pentru controlul precis al servomotoarelor prin PWM. 
 +  * **Laboratorul 4: Analog Digital Convertor (ADC)** -> Utilizat pentru citirea și procesarea datelor ​de la senzorii analogici ​(ex: senzorul de gaz MQ-2)
 +  * **Laboratorul 5: Serial Peripheral Interface ​(SPI)** -> Utilizat pentru comunicația între microcontroller și LCD-ul ST7789 în circuitul exterior. 
 +  * **Laboratorul 6: Inter-Integrated Circuit (I2C)** -> Utilizat pentru comunicația cu LCD-ul I2C în circuitul interior. 
 + 
 +==Descrierea logicii și a metodelor implementate în Circuitul Interior== 
 +  * **setup()** -> folosită pentru inițializarea următoarelor componente:​ 
 +    * Serial Monitor la 9600 Baud Rate pentru debug. 
 +    * Senzorul PIR setat ca input șLED-ul, buzzerul setate ca output. 
 +    * Butonul setat ca input cu pull-up intern. 
 +    * Servomotoare atașate și setate la poziția inițială. 
 +    * LCD-ul inițializat și setat să afișeze un mesaj inițial. 
 +    * Calibrarea senzorilor timp de 30 secunde. 
 +  * **loop()** 
 +    * Verifică starea butonului pentru a comuta între activarea/​dezactivarea sistemului de securitate. 
 +    * Monitorizarea senzorului MQ-2 pentru detectarea gazelor și controlul servomotoarelor. 
 +    * Actualizarea afișajului LCD la fiecare 3 secunde pentru a afișa temperatura,​ umiditatea, valoarea senzorului MQ-2 și starea sistemului de securitate. 
 +    * Monitorizarea senzorului PIR și controlul LED-ului și buzzer-ului. 
 + 
 +==Descrierea logicii și a metodelor implementate în Circuitul Exterior== 
 +  * **setup()** -> folosită pentru inițializarea următoarelor componente:​ 
 +    * Serial Monitor la 9600 Baud Rate pentru debug. 
 +    * Senzorul ultrasonic (TRIG_PIN ca OUTPUT șECHO_PIN ca INPUT). 
 +    * Buzzer-ul, LED-ul setate ca OUTPUT și inițializate la LOW. 
 +    * Servomotorul atașat la pinul specific și setat la poziția inițială
 +    * LCD-ul ST7789 inițializat șsetat să afișeze mesajele inițiale. 
 + 
 +  * **loop()** 
 +    * Verifică intrările Bluetooth șactualizează starea LED-ului și poziția servomotorului,​ respectiv a barierei, în funcție de comenzi. 
 +    * Măsoară distanța folosind senzorul ultrasonic și afișează pe LCD. 
 +    * Actualizează starea de securitate pe baza distanței măsurate. 
 + 
 +==Descrierea logicii din aplicația de control a Circuitului Exterior== 
 + 
 +{{ :​pm:​prj2024:​sseverin:​aplicatie_smart_home_system.png?​650 |}}
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +==Testul Final al Implementarii Proiectului== 
-Care au fost rezultatele obţinute ​în urma realizării proiectului vostru+ 
-</​note>​+Testul final a constat ​în verificarea funcționalității tuturor sistemelor integrate atât în circuitul din interiorul casei, cât și în circuitul din exteriorul casei
 + 
 +{{ :​pm:​prj2024:​sseverin:​smart_home_system_test_final.jpeg?​650 |}} 
 + 
 +==Rezultatul final (1) - Interior == 
 + 
 +{{ :​pm:​prj2024:​sseverin:​smart_home_system_fara_acoperis.jpeg?​650 |}} 
 + 
 +==Rezultatul final (2) - Exterior == 
 + 
 +{{ :​pm:​prj2024:​sseverin:​smart_home_system_cu_acoperis.jpeg?​650 |}}
  
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+"Smart Home System"​ reprezintă o metodă de integrare a diferitelor tehnologii pentru a îmbunătăți securitatea și confortul unei locuințe. Utilizând o varietate de senzori și componente electronice,​ sistemul monitorizează și reacționează la diverse condiții din jurul casei, precum și la cerințele celui care îl folosește.
  
-<note warning>​ +Implementarea oferă un sistem de securitate cuprinzător atât prin intermediul senzorilor care pot detecta mișcări nedorite ​în cadrul proprietățiicât și prin intermediul senzorului care activează sistemul automat de aerisire a caseiIntegrarea ecranelor LCD permite afișarea în timp real a informațiilor relevantefacilitând utilizatorului monitorizarea constantă a stării sistemului. Controlul servomotoarelor și al altor dispozitive prin intermediul semnalelor PWM și al comunicației Bluetooth adaugă ​un nivel suplimentar ​de funcționalitate șflexibilitate. De asemenea, sistemul demonstrează eficiența comunicării seriale pentru debug și control.
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute ​în urma realizării proiectului:​ sursescheme, etcUn fişier README, un ChangeLog, un script ​de compilare ş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**.+În concluzie, acest proiect ilustrează cum tehnologia poate fi folosită pentru a crea soluții interconectate pentru securitatea și gestionarea unei locuințe, oferind o bază solidă pentru extinderea și îmbunătățirea viitoarelor sisteme de automatizare casnică. 
 +===== Download & GitHub Repository ===== 
 + 
 +<​note>​ 
 +Proiectul ​care constă în aplicație pentru dispozitive Android, cod sursă și alte resurse grafice sunt disponibile pe [[https://github.com/robert-nst/​Smart-Home-System|GitHub]].
 </​note>​ </​note>​
  
-===== Jurnal =====+<​note>​De asemenea, puteți descărca direct întreg conținutul proiectului accesând: {{:​pm:​prj2024:​sseverin:​smart-home-system.zip|}}</​note>​
  
-<note tip> 
-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>​ +==Resurse Software== 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * https://​docs.arduino.cc/​learn/​microcontrollers/​analog-input/ 
-</note>+  ​https://​docs.arduino.cc/​learn/​microcontrollers/​analog-output/​ 
 +  ​https://​www.arduino.cc/​reference/​en/​libraries/​liquidcrystal-i2c/​ 
 +  ​https://​www.arduino.cc/​reference/​en/​libraries/​dht11/​ 
 +  ​https://​www.arduino.cc/​reference/​en/​language/​functions/​communication/​spi/​ 
 +  ​https://​www.arduino.cc/​reference/​en/​libraries/​adafruit-st7735-and-st7789-library/​ 
 +  ​https://​www.arduino.cc/​reference/​en/​libraries/​adafruit-gfx-library/​ 
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab0-2023 
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab1-2023 
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab2-2023 
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023-2024 
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab4-2023-2024 
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab5-2023-2024 
 +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab6-2023-2024 
 +  * https://​ai2.appinventor.mit.edu/​ 
 + 
 +==Resurse Hardware== 
 +  ​https://​docs.arduino.cc/​learn/​electronics/​servo-motors/​ 
 +  ​https://​docs.arduino.cc/​learn/​electronics/​lcd-displays/​ 
 +  * https://​support.arduino.cc/​hc/​en-us/​articles/​4403050020114-Troubleshooting-PIR-Sensor-and-sensitivity-adjustment 
 +  * https://​newbiely.com/​tutorials/​arduino-nano/​arduino-nano-gas-sensor 
 +  * https://​docs.arduino.cc/​learn/​communication/​bluetooth/​ 
 +  * https://​docs.arduino.cc/​learn/​electronics/​servo-motors/​ 
 +  * https://​www.waveshare.com/​wiki/​2.4inch_LCD_Module 
 +  * https://​maxbotix.com/​blogs/​blog/​how-ultrasonic-sensors-work
  
 <​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/prj2024/sseverin/robert.nastase0609.1715884209.txt.gz · Last modified: 2024/05/16 21:30 by robert.nastase0609
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