Tutorial ESP32 32/55 - Avertizare pentru distanța de mers înapoi a mașinii cu LCD și buzzer | Kitul de învățare IoT de la SunFounder
În acest tutorial, vom crea un sistem de asistență la mersul cu spatele folosind microcontrolerul ESP32, un senzor ultrasonic de distanță, un afișaj LCD și un buzzer. Acest proiect te va alerta cu privire la distanța față de obstacole în timpul mersului cu spatele, frecvența semnalelor sonore ale buzzer-ului modificându-se în funcție de cât de aproape este obstacolul. Vei învăța cum să conectezi componentele, să scrii codul și să te aștepți ca funcționalitatea sistemului să funcționeze eficient pentru vehiculul tău.
Pe măsură ce implementăm acest proiect, ESP32 va gestiona citirile senzorului și va controla buzzer-ul și afișajul LCD. Senzorul ultrasonic va măsura distanța până la orice obstacole, în timp ce buzzer-ul va oferi feedback audio pe baza acelei distanțe. LCD-ul va afișa distanța măsurată, permițându-ți să vezi citirile în timp real. Pentru o înțelegere mai clară a configurației, asigură-te că urmărești videoclipul (în videoclip la 00:00).
Hardware Explicat
Componentele cheie din acest proiect includ microcontrolerul ESP32, un senzor ultrasonic de distanță, un afișaj LCD și un buzzer. ESP32 este un microcontroler puternic, cu capacități Wi-Fi și Bluetooth integrate, fiind ideal pentru proiecte IoT. Senzorul ultrasonic măsoară distanțele emițând unde sonore și calculând timpul necesar pentru ca ecoul să se întoarcă. LCD-ul va afișa distanța măsurată, în timp ce buzzer-ul oferă alerte sonore bazate pe proximitate.
Fiecare componentă joacă un rol crucial în asigurarea funcționării corecte a dispozitivului de asistență la mersul cu spatele. Înțelegerea modului în care aceste părți lucrează împreună te va ajuta să depanezi orice probleme care pot apărea în timpul procesului de construcție. Proiectul valorifică puterea de procesare a ESP32 pentru a gestiona datele senzorului și a controla ieșirile în mod eficient.
Detalii din Fișa Tehnică
| Producător | Espressif Systems |
|---|---|
| Număr de piesă | ESP32 |
| Tensiune logică/IO | 3,3 V |
| Tensiune de alimentare | 5 V (max) |
| Curent de ieșire (pe canal) | 40 mA |
| Curent de vârf (pe canal) | 160 mA |
| Ghid de frecvență PWM | 1 kHz - 40 kHz |
| Praguri logice de intrare | 0,3 VCC (jos), 0,7 VCC (sus) |
| Cădere de tensiune / RDS(on) / saturație | 0,2 V (tip.) |
| Limite termice | Temperatură de operare: -40°C până la 85°C |
| Pachet | QFN48 |
| Note / variante | Sunt disponibile diverse module ESP32 |
- Asigură o alimentare adecvată pentru a evita deteriorarea.
- Folosește un rezistor cu buzzer-ul pentru a limita curentul.
- Păstrează firele de semnal scurte pentru a reduce interferențele.
- Folosește rezistențe de pull-up dacă este necesar pentru intrările digitale.
- Fii atent la raza maximă a senzorului ultrasonic.
Instrucțiuni de Cablare

Pentru a cabla componentele proiectului, începe prin conectarea senzorului ultrasonic. Conectează pinul VCC al senzorului la linia de alimentare de 5V și pinul GND la masă. Pinul Trig ar trebui conectat la pinul 26 de pe ESP32, iar pinul Echo ar trebui conectat la pinul 25.
Apoi, conectează buzzer-ul legând firul său pozitiv la pinul 14 de pe ESP32 și firul negativ la masă. Pentru LCD, conectează pinul VCC la linia de 5V și pinul GND la masă. Pinii SDA și SCL ai LCD-ului ar trebui conectați la pinii 21 și, respectiv, 22. Asigură-te că toate conexiunile sunt sigure pentru a evita orice deconectări în timpul funcționării.
Exemple de Cod & Explicații
În cod, vei găsi identificatori cheie precum distance, care stochează distanța măsurată de la senzorul ultrasonic. Această variabilă este actualizată continuu în buclă pentru a reflecta distanța curentă. Pinul buzzer-ului este definit ca buzzerPin, permițând controlul ușor al stării sale.
const int triggerPin = 26; // Pinul Trigger pentru senzorul ultrasonic
const int echoPin = 25; // Pinul Echo pentru senzorul ultrasonic
const int buzzerPin = 14; // Pinul buzzer-ului
Aceste constante sunt definite la începutul codului pentru claritate și ușurință de ajustare. Pinii trigger și echo sunt folosiți pentru a comunica cu senzorul ultrasonic, în timp ce pinul buzzer-ului controlează ieșirea sonoră.
void setup() {
pinMode(triggerPin, OUTPUT); // Setează pinul trigger ca ieșire
pinMode(echoPin, INPUT); // Setează pinul echo ca intrare
pinMode(buzzerPin, OUTPUT); // Setează pinul buzzer-ului ca ieșire
}
În funcția setup(), configurăm modurile pinilor pentru senzorul ultrasonic și buzzer. Acest lucru asigură că ESP32 poate interacționa corect cu componentele hardware în timpul funcționării.
void loop() {
distance = readDistance(); // Apelează funcția pentru a citi distanța
if (distance <= 10) {
beep(100); // Semnal rapid pentru distanță mică
} else if (distance <= 20) {
beep(500); // Semnal mediu pentru distanță moderată
} else {
beep(2000); // Semnal lent pentru distanță sigură
}
}
Funcția loop() citește continuu distanța și ajustează frecvența semnalelor sonore ale buzzer-ului în funcție de valoare. Funcția beep() este apelată cu intervale diferite, în funcție de cât de aproape este obstacolul.
Demonstrație / Ce să te aștepți
Odată ce totul este conectat și codul este încărcat, te poți aștepta ca sistemul să emită semnale sonore la intervale diferite, în funcție de distanța față de un obstacol. Când distanța este mai mică de 10 cm, buzzer-ul va emite semnale rapide, în timp ce distanțele mai mari de 50 cm vor rezulta într-un semnal lent. Asigură-te că testezi sistemul plasând mâna în fața senzorului ultrasonic pentru a observa modificările citirilor de distanță și ratele corespunzătoare ale semnalelor sonore (în video la 12:30).
Marcaje temporale video
- 00:00 Început
- 2:08 Introducere și documentație
- 4:12 Conexiunile explicate
- 13:17 Codul Arduino
- 21:01 Selectarea plăcii ESP32 și a portului COM în Arduino IDE
- 22:48 Demonstrație în laborator
- 24:54 Demonstrație pe mașină
Common Course Links
Common Course Files
Lucruri de care ai putea avea nevoie
-
AmazonPurchase LCD1602-I2C from Amazonamzn.to
-
eBayPurchase LCD1602-I2C from eBayebay.us
-
AliExpressPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
-
AliExpressPurchase LCD1602-I2C from AliExpresss.click.aliexpress.com
Resurse și referințe
-
DocumentațieESP32 Tutorial 32/55- SunFounder doc page for reversing aiddocs.sunfounder.com
Fișiere📁
Fișier Fritzing
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB