This shows you the differences between two versions of the page.
pm:prj2025:ccristi:mario.sampetru [2025/05/27 11:08] mario.sampetru [Funcții Arduino UNO] |
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 113: | Line 113: | ||
| **Funcție** | **Descriere** | | | **Funcție** | **Descriere** | | ||
- | | ''setupWiFi()'' | Conectează ESP32 la rețeaua Wi-Fi folosind SSID și parolă; aș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ă, aș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> | ||