Pretraži kod

ESP32 Tutorijal 32/55 - Upozorenje o udaljenosti pri vožnji unazad sa LCD-om i zujalicom | SunFounder-ov IoT komplet za učenje

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.

ESP32 projekat za pomoć pri vožnji unazad

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

ESP32-32-Reversing-aid-wriing

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.

ESP32-32-Šema za pomoć pri vožnji unazad

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

Slike

ESP32-32-Reversing-aid-wriing
ESP32-32-Reversing-aid-wriing
ESP32 reversing aid project
ESP32 reversing aid project
ESP32-32-Reversing-aid-schematic
ESP32-32-Reversing-aid-schematic
Nema priloženog koda.

Stvari koje bi vam mogle zatrebati

Resursi i reference

Datoteke📁

Fritzing datoteka