Differences

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

Link to this comparison view

pm:prj2025:ccristi:mario.sampetru [2025/05/27 10:56]
mario.sampetru [Funcții ESP32]
pm:prj2025:ccristi:mario.sampetru [2025/05/27 22:35] (current)
mario.sampetru [Download]
Line 23: Line 23:
   * **Conexiune serială cu ESP32** – primește comenzi de la ESP32 pentru control de la distanță.   * **Conexiune serială cu ESP32** – primește comenzi de la ESP32 pentru control de la distanță.
   * **SL067** – detectează nivelul de apă și anunță utilizatorul prin intermediul aplicației.   * **SL067** – detectează nivelul de apă și anunță utilizatorul prin intermediul aplicației.
 +  * **Buzzer** - Trimite alertă sonoră când senzorul de apă detectează o valoare peste prag.
 +  * **LCD** - Afișează statusul capacului (deschis/​închis) și valoarea citită de la senzorul de apă.
  
  
Line 31: Line 33:
 //Conectat la:// //Conectat la://
  
-  * **LED** – semnalizează coș plin. 
   * **HC-SR04** – detectează apropierea utilizatorului pentru deschiderea automată.   * **HC-SR04** – detectează apropierea utilizatorului pentru deschiderea automată.
   * **Conexiune Wi-Fi** – permite controlul coșului de la distanță printr-o interfață grafică.   * **Conexiune Wi-Fi** – permite controlul coșului de la distanță printr-o interfață grafică.
 +  * **Conexiune serială cu Arduino UNO**
 +
  
 3. **Interfață Grafică (Python)** 3. **Interfață Grafică (Python)**
Line 72: Line 75:
  
  
-{{:​pm:​prj2025:​ccristi:​hw_srb1.jpg?700 |}} +{{:​pm:​prj2025:​ccristi:​s_r_b_hw_1_.jpg?700 |}} 
- +{{:​pm:​prj2025:​ccristi:​s_r_b_hw_2_.jpg?700 |}}
-{{:​pm:​prj2025:​ccristi:​hw_srb2.jpg?700 |}}+
  
 ===== Software Design ===== ===== Software Design =====
Line 93: Line 95:
 | //​soc/​gpio_reg.h// ​        | oferă definiții pentru registrele GPIO, facilitând controlul pinilor ESP32. ​                                                  | | //​soc/​gpio_reg.h// ​        | oferă definiții pentru registrele GPIO, facilitând controlul pinilor ESP32. ​                                                  |
 | //​LiquidCrystal_I2C.h.h//​ | Pentru controloul display-ului LCD.                                      | | //​LiquidCrystal_I2C.h.h//​ | Pentru controloul display-ului LCD.                                      |
-| //​HardwareSerial.h//​ | Permite ESP32 să comunice în mod serial cu Arduino Uno.                                      | 
 | //​Servo.h// ​        | A fost utilizată pentru a controla mișcarea servo-ului (deschiderea/​închiderea capacului). ​   | | //​Servo.h// ​        | A fost utilizată pentru a controla mișcarea servo-ului (deschiderea/​închiderea capacului). ​   |
-| //​SoftwareSerial.h//​ | Permite crearea de canale seriale software pe Arduino Uno, facilitând comunicarea cu ESP32. ​     | 
  
  
Line 102: Line 102:
  
 | **Funcție** ​            | **Descriere** ​   | | **Funcție** ​            | **Descriere** ​   |
-| ''​setupServo()'' ​ | .                                                                            +| ''​setupServo()'' ​ | Configurează servo-motorul prin intermediul librăriei ''​Servo.h'' ​                                                                          
-| ''​openServo()'' ​ | .                                                                            |                                                                                                                                                               +| ''​openServo()'' ​ | Modifică unghiul de deschidere al servo-ului astfel încât să poată efectua deschiderea capacului                                                                             |                                                                                                                                                               
-| ''​closeServo()'' ​ | .                                                                            | +| ''​closeServo()'' ​ | Operația inversă ''​openServo()''​.                                                                            | 
-| ''​updateLcd()'' ​ | .                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +| ''​updateLcd()'' ​ | Actualizează afișajul LCD folosind librăria ''​LiquidCrystal_I2C''​. Mesajele afișate reprezintă statusul capacului (deschis/​închis),​ precum și valoarea citită de senzorul de apă.                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 | ''​checkWaterSensor()'' ​ | Citește valoarea analogică de la senzorul de apă și trimite o alertă dacă valoarea depășește pragul. ​                                                                           | | ''​checkWaterSensor()'' ​ | Citește valoarea analogică de la senzorul de apă și trimite o alertă dacă valoarea depășește pragul. ​                                                                           |
 | ''​handleEspCommand()'' ​ | Procesează comenzile primite (de ex. ''​OPEN''​ sau ''​CLOSE''​) de la ESP32 pentru a controla deschiderea/​închiderea servo-ului. ​                                                 | | ''​handleEspCommand()'' ​ | Procesează comenzile primite (de ex. ''​OPEN''​ sau ''​CLOSE''​) de la ESP32 pentru a controla deschiderea/​închiderea servo-ului. ​                                                 |
Line 113: Line 113:
  
 | **Funcție** ​             | **Descriere** ​ |                                                                                                                                                              | **Funcție** ​             | **Descriere** ​ |                                                                                                                                                             
-| ''​setupWiFi()'' ​         | Conectează ESP32 la rețeaua Wi-Fi folosind SSID și parolăteaptă până când se atinge starea ''​WL_CONNECTED''​ pentru o conexiune stabilă                               +| ''​setupWiFi()'' ​         | Conectează ESP32 la rețeaua Wi-Fi folosind SSID și parolăteptând obținerea unei conexiuni stabile                            ​
-| ''​measureDistance()'' ​   | Utilizează senzorul HC-SR04 pentru a măsura distanța. ​                                                                                                                    |+| ''​measureDistance()'' ​   | Utilizează senzorul HC-SR04 pentru a măsura distanța ​dintre senzorul //HC-SR04// și cel mai apropiat obiect.                                                                                                                     |
 | ''​handleHandDetection()''​| Detectează prezența unei mâini la distanțe între 2.0 și 15.0 cm și declanșează comanda de deschidere a capacului când pragul este atins. ​                               | | ''​handleHandDetection()''​| Detectează prezența unei mâini la distanțe între 2.0 și 15.0 cm și declanșează comanda de deschidere a capacului când pragul este atins. ​                               |
-| ''​handleSerialInput()''​ | . | +| ''​handleSerialInput()''​ | Monitorizează conexiunea serială (Serial2) pentru a prelua mesajele trimise de la Arduino. La primirea unui mesaj, acesta este afișat pe consolă și transmis funcției //​updateStatus()//​ pentru eventuale acțiuni ulterioare. | 
-| ''​sendToArduino(String&​ cmd)''​ | . |+| ''​sendToArduino(String&​ cmd)''​ | Trimite comenzi (cum ar fi "​OPEN"​ sau "​CLOSE"​) către placa Arduino prin intermediul conexiunii Serial2. |
 | ''​handleHttpRequest()'' ​ | Gestionează cererile HTTP GET pentru ''/​open'',​ ''/​close''​ și ''/​status'',​ permițând controlul de la distanță al funcțiilor dispozitivului. ​                              | | ''​handleHttpRequest()'' ​ | Gestionează cererile HTTP GET pentru ''/​open'',​ ''/​close''​ și ''/​status'',​ permițând controlul de la distanță al funcțiilor dispozitivului. ​                              |
-| ''​updateStatus()'' ​      | Procesează mesajele primite de la Arduino. ​     |+| ''​updateStatus()'' ​      | Procesează mesajele primite de la Arduino ​pentru a actualiza starea sistemului.      |
  
 ===== Funcții Python ===== ===== Funcții Python =====
Line 159: Line 159:
   * **Demo Video 1**: https://​github.com/​mariosam23/​SmartRecycleBin/​blob/​main/​demo1.gif   * **Demo Video 1**: https://​github.com/​mariosam23/​SmartRecycleBin/​blob/​main/​demo1.gif
   * **Demo Video 2**: https://​github.com/​mariosam23/​SmartRecycleBin/​blob/​main/​demo2.gif   * **Demo Video 2**: https://​github.com/​mariosam23/​SmartRecycleBin/​blob/​main/​demo2.gif
-  * **Codul arhivat**: {{:​pm:​prj2025:​ccristi:​cod_smart_recycle_bin.zip|}}+  * **Codul arhivat**: {{:​pm:​prj2025:​ccristi:​smart_r_b_code.zip|}}
 </​note>​ </​note>​
  
pm/prj2025/ccristi/mario.sampetru.1748332614.txt.gz · Last modified: 2025/05/27 10:56 by mario.sampetru
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