Èkọ́ ESP32 27/55 - Wíwọ̀n Ìjìnà pẹ̀lú Sensor Ultrasonic | SunFounder's ESP32 IoT Learning kit
Nínú ẹ̀kọ́ yìí, a óò kọ́ bí a ṣe ń lo sẹ́ǹsò ìwọ̀n ìjìn-ọ̀nà ultrasonic pẹ̀lú ESP32 láti wọn ìjìn-ọ̀nà àti láti fi àbájáde rẹ̀ hàn lórí ojú-ìgbéléwọ̀n. A óò tún ṣàwárí bí a ṣe ń mú buzzer ṣiṣẹ́ nígbà tí a bá rí ohun kan nínú ìwọ̀n kan pàtó. Iṣẹ́-ọwọ́ yìí ṣàfihàn ìmú-ṣiṣẹ́ púpọ̀ ti microcontroller ESP32, tí ó ní agbára Wi-Fi àti Bluetooth nínú ara rẹ̀, tí ó sì mú un yẹ́ fún ọ̀pọ̀lọpọ̀ àwọn ohun-èlò IoT.
Nínú gbogbo ìtọ́sọ́nà yìí, o óò rí àlàyé nípa àwọn ẹ̀yà ohun-èlò, àwọn ìtọ́sọ́nà ìsopọ̀, àti àwọn ẹsẹ̀ kóòdù tí yóò ràn ọ́ lọ́wọ́ láti ṣe iṣẹ́-ọwọ́ náà ní àṣeyọrí. Fún ìmúdájú síwájú sí i, jọ̀wọ́ wo fídíò náà (nínú fídíò ní 00:00).
Àlàyé Ohun-Èlò
Àwọn ẹ̀yà pàtàkì ti iṣẹ́-ọwọ́ yìí ni microcontroller ESP32, sẹ́ǹsò ultrasonic (HC-SR04), àti buzzer kan. Sẹ́ǹsò ultrasonic náà ní àwọn ẹ̀yà pàtàkì méjì: olùránsọ̀ kan tí ń ta àwọn ìgbì ultrasonic jáde àti olùgbà kan tí ń gbọ́ àwọn ìgbì tí a dá padà. Nípa wíwọn àkókò tí ó gbà fún àwọn ìgbì náà láti padà, a lè ṣírò ìjìn-ọ̀nà sí ohun kan.
ESP32 náà ni olùdarí àringbùngbùn, tí ń ṣiṣẹ́ lórí àwọn data láti ọ̀dọ̀ sẹ́ǹsò ultrasonic àti tí ń ṣàkóso buzzer náà nípa ìjìn-ọ̀nà tí a wọn. Buzzer náà yóò dun nígbà tí ìjìn-ọ̀nà tí a rí bá kéré ju ìwọ̀n kan tí a ṣètò, tí ó ń fi hàn pé ohun kan súnmọ́ jù.
Àwọn Àlàyé Datasheet
| Olùṣe | HC-SR04 |
|---|---|
| Nọ́mbà ẹ̀yà | HC-SR04 |
| Foltiège Logic/IO | 5 V |
| Foltiège ìpèsè | 5 V |
| Ìwọ̀n ìjàde lọ́wọ́ (fún ikanni kọ̀ọ̀kan) | 16 mA |
| Ìwọ̀n ìjàde tí ó ga jù (fún ikanni kọ̀ọ̀kan) | … |
| Ìtọ́sọ́nà ìgbohùnsáyẹ́nsì PWM | … |
| Àwọn ìwọ̀n ààlà logic input | … |
| Ìdìndì foltiège / RDS(on) / ìkún | … |
| Àwọn ààlà ooru | … |
| Ìpako | … |
| Àwọn àkíyèsí / àwọn oríṣiríṣi | Ìwọ̀n ìjìn-ọ̀nà: 2 cm sí 400 cm |
- Rí i dájú pé ìpèsè agbára 5 V tí ó tọ́ wà fún sẹ́ǹsò náà.
- Mú ọ̀nà tí ó ṣí sílẹ̀ fún àwọn ìgbì ultrasonic láti yẹra fún ìdàrúdàpọ̀.
- Lo àwọn okun kúkúrú láti dín àkókò ìdálọ́nà àti ariwo kù.
- Rí i dájú pé àwọn ìsopọ̀ pin tọ́ láti yẹra fún àìní ìbánisọ̀rọ̀.
- Dán sẹ́ǹsò náà wò ní oríṣiríṣi àyíká láti ṣàgbéwọ́ ìpéye rẹ̀.
Àwọn Ìtọ́sọ́nà Ìsopọ̀

Láti so sẹ́ǹsò ultrasonic pọ̀ mọ́ ESP32, so pin VCC ti sẹ́ǹsò náà pọ̀ mọ́ pin 5V lórí ESP32. Nígbà tí o bá ṣe bẹ́ẹ̀, so pin GND ti sẹ́ǹsò náà pọ̀ mọ́ ọ̀kan lára àwọn pin ilẹ̀ (GND) lórí ESP32. Pin trigger (Trig) láti ọ̀dọ̀ sẹ́ǹsò náà yẹ kí ó sopọ̀ mọ́ GPIO 26 lórí ESP32, nígbà tí pin echo (Echo) yẹ kí ó sopọ̀ mọ́ GPIO 25. Ìtòlẹ́sẹ̀ẹ́ yìí jẹ́ kí ESP32 rán àmì-ìdánilẹ́kọ̀ọ́ sí sẹ́ǹsò náà àti láti gba àmì-ìdánilẹ́kọ̀ọ́ echo láti ṣírò ìjìn-ọ̀nà.
Fún buzzer náà, so ẹsẹ̀ rere (gígùn) pọ̀ mọ́ GPIO 12 lórí ESP32 àti ẹsẹ̀ òdì (kúkúrú) pọ̀ mọ́ GND. Rí i dájú pé gbogbo àwọn ìsopọ̀ ṣe dáradára láti yẹra fún ìsopọ̀ tí ó lọ́wọ́ nígbà iṣẹ́. Bí o bá ń lo breadboard, tọ́ àwọn ìsopọ̀ buzzer náà dáradára láti yẹra fún ìsopọ̀ tí kò tọ́. Rí i dájú pé o wo fídíò náà fún ìmúdájú ìsopọ̀ (nínú fídíò ní 05:12).
Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà
Kóòdù náà bẹ̀rẹ̀ àwọn pin fún sẹ́ǹsò ultrasonic àti ṣètò ìbánisọ̀rọ̀ serial. Iṣẹ́ pàtàkì, readSensorData(), ni ó ṣe ojúṣe fún rírá àmì-ìdánilẹ́kọ̀ọ́ trigger àti wíwọn àkókò ìdáhùn láti pin echo.
const int echoPin = 25;
const int trigPin = 26;
void setup() {
Serial.begin(115200);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
Serial.println("Sẹ́ǹsò ultrasonic:");
}
Kóòdù náà ṣàlàyé echoPin àti trigPin gẹ́gẹ́ bí àwọn ìwọ̀n tí kò yí padà fún àwọn pin tí a so pọ̀ mọ́ sẹ́ǹsò ultrasonic. Nínú iṣẹ́ setup(), a bẹ̀rẹ̀ ìbánisọ̀rọ̀ serial àti ṣètò àwọn ipo pin ní ìbámu.
float readSensorData() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long microsecond = pulseIn(echoPin, HIGH);
float distance = microsecond / 29.00 / 2;
return distance;
}
Ẹsẹ̀ yìí ṣàfihàn iṣẹ́ readSensorData(), tí ó rán àmì-ìdánilẹ́kọ̀ọ́ 10-microsecond sí pin trigger. Ó wá wọn àkókò tí ó gbà fún pin echo láti gba àmì-ìdánilẹ́kọ̀ọ́ padà, ṣírò ìjìn-ọ̀nà, àti láti dá ìye yìí padà.
Níkẹyìn, iṣẹ́ loop ń ka ìjìn-ọ̀nà nígbà gbogbo àti tẹ̀ ẹ́ jáde sí ojú-ìgbéléwọ̀n serial. Bí ìjìn-ọ̀nà náà bá kéré ju 20 cm lọ, buzzer náà yóò ṣiṣẹ́.
Ìṣàfihàn / Ohun Tí O Lè Retí
Nígbà tí o bá ṣe ètò náà, ESP32 yóò ṣàfihàn ìjìn-ọ̀nà tí a wọn ní centimeters lórí ojú-ìgbéléwọ̀n serial. Bí ohun kan bá wọ inú 20 cm ti sẹ́ǹsò náà, buzzer yóò dun. A lè dán ìwà yìí wò nípa gbígbé àwọn ohun sí oríṣiríṣi ìjìn-ọ̀nà níwájú sẹ́ǹsò náà. Ṣọ́ra fún polarity tí a yí padà àti rí i dájú pé àwọn ìsopọ̀ ni a ṣe gẹ́gẹ́ bí a ti sọ ọ́ láti yẹra fún àwọn ìṣòro nígbà iṣẹ́ (nínú fídíò ní 08:00).
Àwọn Àkókò Fídíò
- 00:00 Bẹ̀rẹ̀
- 1:46 Ìfihàn sí Sensọ Ultrasonic
- 6:02 Àlàyé nípa ìsopọ̀ oníná
- 7:37 Àlàyé kóòdù ESP32 Arduino
- 11:33 Yíyàn bọ́ọ̀dù ESP32 àti COM port nínú Arduino IDE
- 13:15 Ìfihàn wíwọ̀n ìjìnà
- 16:43 Ìṣe ìgbésẹ̀ pẹ̀lú ìjìnà: buzzer
// Define pins for the ultrasonic sensor
const int echoPin = 25;
const int trigPin = 26;
// Function prototype for reading sensor data
float readSensorData();
void setup() {
// Begin serial communication at 115200 baud rate
Serial.begin(115200);
// Set echoPin as input and trigPin as output
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
// Print sensor information to the serial monitor
Serial.println("Ultrasonic sensor:");
}
void loop() {
// Read distance from the ultrasonic sensor
float distance = readSensorData();
// Print the measured distance to the serial monitor
Serial.print(distance);
Serial.println(" cm");
// Delay between readings
delay(200);
}
// Function to read data from the ultrasonic sensor
float readSensorData() {
// Trigger a low signal before sending a high signal
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Send a 10-microsecond high signal to the trigPin
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
// Return to low signal
digitalWrite(trigPin, LOW);
// Measure the duration of the high signal on the echoPin
unsigned long microsecond = pulseIn(echoPin, HIGH);
// Calculate the distance using the speed of sound (29.00µs per centimeter)
float distance = microsecond / 29.00 / 2;
// Return the calculated distance
return distance;
}
Common Course Links
Common Course Files
Ohun ti o le nilo
-
eBay
-
BanggoodPurchase HC-SR04 Ultrasonic Sensor from Banggoodbanggood.com
Orisun & itọkasi
-
Iwe-ẹriESP32 Tutorial 27/55 - SunFounder doc page for ultrasonic distance sensordocs.sunfounder.com
-
Ita gbangbaHC-SR04 Ultrasonic Library from the Arduino official websiteplayground.arduino.cc
Fáìlìs📁
Ko si awọn faili ti o wa.