ESP32 Tutoriaal 19/55 - Opspoor van Hindernis met behulp van Infrarooi Sensor | SunFounder se ESP32 IoT-leerkit
In hierdie tutoriaal gaan ons leer hoe om 'n infrarooi obstruksie-vermydingsensor met die ESP32-module te gebruik om hindernisse op te spoor. Hierdie projek sal demonstreer hoe die sensor 'n gonser kan aktiveer wanneer 'n hindernis opgespoor word. Die opstelling sal ook die opsporingstatus op die reeksmonitor vertoon, wat 'n duidelike en interaktiewe manier bied om die sensor se funksionaliteit waar te neem.

Ons gaan met die SunFounder ESP32 IoT-leerpakket werk, wat die ESP32-mikrobeheerder met Wi-Fi- en Bluetooth-vermoëns insluit. Die infrarooi-sensor werk deur infrarooi-lig uit te stuur, wat van nabygeleë hindernisse sal weerkaats. Wanneer die lig terug weerkaats word, sal die sensor 'n uitsetsein aktiveer wat ons in ons kode sal lees. Ons sal ook 'n gonser insluit wat aktiveer wanneer 'n hindernis opgespoor word, wat 'n hoorbare waarskuwing verskaf.
Hardeware Verduidelik
Die hoofkomponente van hierdie projek sluit die ESP32-module, die infrarooi obstruksie-vermydingsensor, en 'n gonser in. Die ESP32-module dien as die sentrale verwerkingseenheid, wat sensorinsette hanteer en uitsette beheer. Dit kan met 'n litiumbattery aangedryf word, wat dit draagbaar en buigsaam maak vir verskeie toepassings.
Die infrarooi obstruksie-vermydingsensor bestaan uit 'n sender en 'n ontvanger. Die sender stel infrarooi-lig uit, terwyl die ontvanger die weerkaatste lig van nabygeleë voorwerpe opspoor. Wanneer 'n hindernis teenwoordig is, gaan die sensor se uitsetpen laag, wat die ESP32 sein om aksie te neem, soos om die gonser aan te skakel.
Datablad Besonderhede
| Vervaardiger | SunFounder |
|---|---|
| Deelnommer | Infrarooi Obstruksie-Vermydingsensor |
| Werkspanning | 3.3 V - 5 V |
| Uitset Tipe | Digitaal (Laag wanneer hindernis opgespoor word) |
| Opsporingsreeks | Tot 20 cm |
| Reaksietyd | Minder as 10 ms |
| Pakket | Module |
- Kragtoevoer: 3.3 V tot 5 V vir werking.
- Uitsetsein gaan laag wanneer 'n hindernis opgespoor word.
- Verstelbare sensitiwiteit via potensiometer.
- Tipiese opsporingsreeks is tot 20 cm.
- Vinnige reaksietyd van onder 10 ms.
Bedradingsinstruksies

Om die infrarooi obstruksie-vermydingsensor aan die ESP32 te bedraad, begin deur die VCC-pen van die sensor aan die 5V-pen op die ESP32 te koppel. Koppel dan die GND-pen van die sensor aan een van die GND-penne op die ESP32. Laastens, koppel die OUT-pen van die sensor aan GPIO-pen 14 op die ESP32.
Vir die gonser, koppel die negatiewe terminaal aan GND en die positiewe terminaal aan GPIO-pen 27. Maak seker alle verbindings is veilig en dat die sensor korrek aangedryf word. Die bedrading behoort eenvoudig te wees, aangesien die sensor en gonser slegs eenvoudige krag- en seinverbindings benodig.
Kode Voorbeelde & Deurloop
In die kode definieer ons eers die pen wat aan die obstruksie-vermydingsensor gekoppel is. Dit word gedoen met die identifiseerder avoidPin wat op 14 gestel is. Ons verklaar ook 'n veranderlike avoidState om die sensor se uitsetstatus te hou.
const int avoidPin = 14; // die nommer van die vermydingsmodule-pen
int avoidState = 0;
In die opstellingsfunksie initialiseer ons die reekskommunikasie en stel avoidPin as 'n inset. Dit laat die ESP32 toe om die sensor se uitsetstatus te lees.
void setup() {
Serial.begin(115200);
pinMode(avoidPin, INPUT);
}
Binne die lusfunksie lees ons voortdurend die sensor se uitset met digitalRead(avoidPin) en stoor die resultaat in avoidState. Hierdie waarde word dan op die reeksmonitor gedruk, wat ons toelaat om te sien wanneer 'n hindernis opgespoor word (uitset sal 0 wees) of nie (uitset sal 1 wees).
void loop() {
avoidState = digitalRead(avoidPin);
Serial.println(avoidState);
}
Vir die volledige kode, verwys asseblief na die laai-afdeling onder die artikel.
Demonstrasie / Wat om te Verwags
Wanneer die opstelling voltooi is en die kode opgelaai is, behoort jy die reeksmonitor te sien wat óf 'n 0 óf 'n 1 vertoon, afhangende van of 'n hindernis opgespoor word. Wanneer 'n hindernis binne die opsporingsreeks is, sal die uitset 0 lees, en die gonser sal klink. As die hindernis verwyder word, sal die uitset 1 lees, en die gonser sal stop. Hierdie funksionaliteit word in die video gedemonstreer (in video by 12:30).
Algemene probleme kan verkeerde bedrading insluit, wat kan lei tot die sensor wat nie behoorlik funksioneer nie, of gemismatchte baud-tempo's in die reeksmonitor, wat verhoed dat data akkuraat vertoon word. Maak seker om hierdie aspekte na te gaan as jy probleme ondervind.
Video Tydstempels
- 00:00 Begin
- 1:57 Projek-inleiding
- 4:33 Bedrading van Obstruksie-Vermyding
- 5:55 Arduino-kode vir Obstruksie-Vermyding
- 7:36 Kies ESP32-bord en COM-poort op Arduino IDE
- 9:18 Projekdemonstrasie
- 10:42 Verstel die sensitiwiteit en verhoog reeks
- 12:39 Neem aksie wanneer hindernis opgespoor word
- 14:24 Gebruik 'n gonser wanneer hindernis opgespoor word
// set pin
const int avoidPin = 14; // the number of the avoid avoid module pin
// variable for storing the avoid status
int avoidState = 0;
void setup() {
Serial.begin(115200);
// initialize the avoid pin as an input
pinMode(avoidPin, INPUT);
}
void loop() {
// read the state of the avoid value
avoidState = digitalRead(avoidPin);
Serial.println(avoidState);
}
Common Course Links
Common Course Files
Hulpbronne en verwysings
-
DokumentasieESP32 Tutorial 19/55- SunFounder Resouce page for detecting obstacledocs.sunfounder.com
Lêers📁
Geen lêers beskikbaar.