ESP32 Tutorijal 32/55 - Upozorenje o udaljenosti pri vožnji unazad sa LCD-om i zujalicom | SunFounder-ov IoT komplet za učenje
U ovom tutorijalu ćemo napraviti sistem za pomoć pri vožnji unazad koristeći ESP32 mikrokontroler, ultrazvučni senzor udaljenosti, LCD ekran i zujalicu. Ovaj projekat će vas upozoravati na udaljenost od prepreka dok vozite unazad, pri čemu će se frekvencija zujanja mijenjati ovisno o tome koliko je prepreka blizu. Naučit ćete kako povezati komponente, napisati kod i očekivati da sistem funkcioniše efikasno za vaše vozilo.
Dok implementiramo ovaj projekat, ESP32 će upravljati očitanjima senzora i kontrolisati zujalicu i LCD ekran. Ultrazvučni senzor će mjeriti udaljenost do bilo kojih prepreka, dok će zujalica pružati zvučne povratne informacije na osnovu te udaljenosti. LCD će prikazivati izmjerenu udaljenost, omogućavajući vam da vidite očitanja u realnom vremenu. Za jasnije razumijevanje postavke, obavezno pogledajte video (u videu na 00:00).
Objašnjenje hardvera
Ključne komponente u ovom projektu uključuju ESP32 mikrokontroler, ultrazvučni senzor udaljenosti, LCD ekran i zujalicu. ESP32 je moćan mikrokontroler sa ugrađenim Wi-Fi i Bluetooth mogućnostima, što ga čini idealnim za IoT projekte. Ultrazvučni senzor mjeri udaljenosti emitiranjem zvučnih valova i izračunavanjem vremena potrebnog da se eho vrati. LCD će prikazivati izmjerenu udaljenost, dok zujalica pruža zvučna upozorenja na osnovu blizine.
Svaka komponenta igra ključnu ulogu u osiguravanju da pomoć pri vožnji unazad ispravno funkcioniše. Razumijevanje kako ovi dijelovi rade zajedno pomoći će vam u rješavanju problema koji se mogu pojaviti tokom procesa izgradnje. Projekat koristi procesorsku snagu ESP32-a za upravljanje podacima senzora i efikasno kontrolisanje izlaza.
Detalji iz podatkovne tablice
| Proizvođač | Espressif Systems |
|---|---|
| Broj dijela | ESP32 |
| Logički/IO napon | 3.3 V |
| Napon napajanja | 5 V (maks.) |
| Izlazna struja (po kanalu) | 40 mA |
| Maksimalna struja (po kanalu) | 160 mA |
| Smjernice za PWM frekvenciju | 1 kHz - 40 kHz |
| Ulazni logički pragovi | 0.3 VCC (nisko), 0.7 VCC (visoko) |
| Pad napona / RDS(on) / zasićenje | 0.2 V (tip.) |
| Toplotna ograničenja | Radna temperatura: -40°C do 85°C |
| Paket | QFN48 |
| Napomene / varijante | Dostupni različiti ESP32 moduli |
- Osigurajte pravilno napajanje kako biste izbjegli oštećenja.
- Koristite otpornik sa zujalicom za ograničavanje struje.
- Držite signalne žice kratkim kako biste smanjili smetnje.
- Koristite pull-up otpornike ako je potrebno za digitalne ulaze.
- Budite oprezni s maksimalnim dometom ultrazvučnog senzora.
Upute za povezivanje

Za povezivanje komponenti za projekat, počnite spajanjem ultrazvučnog senzora. Spojite VCC pin senzora na 5V liniju napajanja i GND pin na masu. Trig pin treba spojiti na pin 26 na ESP32, a Echo pin treba spojiti na pin 25.
Zatim spojite zujalicu tako što ćete spojiti njen pozitivni vod na pin 14 na ESP32, a negativni vod na masu. Za LCD, spojite VCC pin na 5V liniju i GND pin na masu. SDA i SCL pinovi LCD-a trebaju biti spojeni na pinove 21 i 22, respektivno. Osigurajte da su sve veze sigurne kako biste izbjegli prekide tokom rada.
Primjeri koda i objašnjenje
U kodu ćete pronaći ključne identifikatore poput distance, koji pohranjuje izmjerenu udaljenost od ultrazvučnog senzora. Ova varijabla se kontinuirano ažurira u petlji kako bi odražavala trenutnu udaljenost. Pin zujalice je definisan kao buzzerPin, što omogućava laku kontrolu njenog stanja.
const int triggerPin = 26; // Trig pin za ultrazvučni senzor
const int echoPin = 25; // Echo pin za ultrazvučni senzor
const int buzzerPin = 14; // Pin zujalice
Ove konstante su definisane na početku koda radi jasnoće i lakog prilagođavanja. Trig i echo pinovi se koriste za komunikaciju s ultrazvučnim senzorom, dok pin zujalice kontroliše zvučni izlaz.
void setup() {
pinMode(triggerPin, OUTPUT); // Postavi trig pin kao izlaz
pinMode(echoPin, INPUT); // Postavi echo pin kao ulaz
pinMode(buzzerPin, OUTPUT); // Postavi pin zujalice kao izlaz
}
U setup() funkciji konfigurišemo načine rada pinova za ultrazvučni senzor i zujalicu. Ovo osigurava da ESP32 može ispravno komunicirati s hardverskim komponentama tokom rada.
void loop() {
distance = readDistance(); // Pozovi funkciju za čitanje udaljenosti
if (distance <= 10) {
beep(100); // Brzo zujanje za blisku udaljenost
} else if (distance <= 20) {
beep(500); // Srednje zujanje za umjerenu udaljenost
} else {
beep(2000); // Sporo zujanje za sigurnu udaljenost
}
}
Funkcija loop() kontinuirano čita udaljenost i prilagođava frekvenciju zujanja zujalice na osnovu vrijednosti. Funkcija beep() se poziva s različitim intervalima ovisno o tome koliko je prepreka blizu.
Demonstracija / Šta očekivati
Kada je sve povezano i kod je uploadan, možete očekivati da sistem zuji u različitim intervalima na osnovu udaljenosti do prepreke. Kada je udaljenost manja od 10 cm, zujalica će zujati brzo, dok će udaljenosti veće od 50 cm rezultirati sporim zujanjem. Obavezno testirajte sistem stavljanjem ruke ispred ultrazvučnog senzora kako biste vidjeli promjene u očitanjima udaljenosti i odgovarajućim brzinama zujanja (u videu na 12:30).
Vremenske oznake videa
- 00:00 Početak
- 2:08 Uvod i dokumentacija
- 4:12 Objašnjeno povezivanje
- 13:17 Arduino kod
- 21:01 Odabir ESP32 ploče i COM porta u Arduino IDE
- 22:48 Demonstracija u laboratoriju
- 24:54 Demonstracija na autu
Common Course Links
Common Course Files
Stvari koje bi vam mogle zatrebati
-
AmazonBuy 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
Resursi i reference
-
DokumentacijaESP32 Tutorial 32/55 - SunFounder doc page for reversing aiddocs.sunfounder.com
Datoteke📁
Fritzing datoteka
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB