Èkọ́ ESP32 32/55 - Ìkìlọ̀ ọ̀nà yíyọ̀ ọkọ̀ pẹ̀lú LCD àti buzzer | SunFounder's IoT Learning kit
Nínú ẹ̀kọ́ yìí, a óò ṣẹ̀dá ètò ìrànwọ́ ìmúpadà pẹ̀lú lilo microcontroller ESP32, ẹ̀rọ ìwọ̀n ọ̀nà jíjìn ultrasonic, àmì ìfihàn LCD, àti buzzer. Iṣẹ́ yìí yóò ṣe ìkìlọ̀ fún ọ nípa ọ̀nà jíjìn láti àwọn ohun ìdíwọ́ nígbà tí o ń padà, pẹ̀lú ìyípadà ìgbohùnsí buzzer tí ó dá lórí bí ohun ìdíwọ́ ti súnmọ́ tó. Ìwọ yóò kọ́ bí a ṣe ń so àwọn ẹ̀yà pọ̀, kọ kóòdù, àti ṣe àfojúsùn ìṣiṣẹ́ ètò náà láti ṣiṣẹ́ dáradára fún ọkọ̀ rẹ.
Bí a ṣe ń ṣe iṣẹ́ yìí, ESP32 yóò ṣàkóso kíkà ẹ̀rọ ìwọ̀n àti ìṣàkóso buzzer àti àmì ìfihàn LCD. Ẹ̀rọ ìwọ̀n ultrasonic yóò wọ̀n ọ̀nà jíjìn sí àwọn ohun ìdíwọ́, nígbà tí buzzer yóò pèsè ìdáhùn ohùn tí ó dá lórí ọ̀nà jíjìn yẹn. LCD yóò ṣàfihàn ọ̀nà jíjìn tí a wọ̀n, tí ó jẹ́ kí o rí àwọn ìwọ̀n náà ní àkókò gidi. Fún òye tí ó ṣe kedere nípa ìtòlẹ́sẹẹsẹ náà, rí i pé o wo fídíò náà (nínú fídíò ní 00:00).
Àlàyé Ohun Èlò
Àwọn ẹ̀yà pàtàkì nínú iṣẹ́ yìí pẹ̀lú microcontroller ESP32, ẹ̀rọ ìwọ̀n ọ̀nà jíjìn ultrasonic, àmì ìfihàn LCD, àti buzzer. ESP32 jẹ́ microcontroller alágbára pẹ̀lú agbára Wi-Fi àti Bluetooth tí a kọ́ sínú rẹ̀, tí ó mú kí ó dára fún àwọn iṣẹ́ IoT. Ẹ̀rọ ìwọ̀n ultrasonic wọ̀n ọ̀nà jíjìn nípa gbígbé ìgbohùnsí jáde àti ṣíṣe ìṣirò àkókò tí ìdáhùn gba láti padà. LCD yóò ṣàfihàn ọ̀nà jíjìn tí a wọ̀n, nígbà tí buzzer pèsè ìkìlọ̀ ohùn tí ó dá lórí ìsúnmọ́.
Ẹ̀yà kọ̀ọ̀kan ṣe ipa pàtàkì nínú rírí i pé ìrànwọ́ ìmúpadà ṣiṣẹ́ dáradára. Òye bí àwọn ẹ̀yà wọ̀nyí ṣe ń ṣiṣẹ́ papọ̀ yóò ràn ọ́ lọ́wọ́ láti yanjú àwọn ìṣòro èyíkéyìí tí ó lè dìde nígbà ìkọ́lé. Iṣẹ́ yìí lo agbára ìṣiṣẹ́ ESP32 láti ṣàkóso àwọn ìwọ̀n ẹ̀rọ àti láti ṣàkóso àwọn àbájáde nípa ṣiṣe.
Àwọn Àlàyé Datasheet
| Olùṣelọ́pọ̀ | Espressif Systems |
|---|---|
| Nọ́mbà apá | ESP32 |
| Fóltíjì Logic/IO | 3.3 V |
| Fóltíjì ìpèsè | 5 V (pọ̀ jùlọ) |
| Ìṣàn àbájáde (fún ikanni) | 40 mA |
| Ìṣàn tí ó ga jùlọ (fún ikanni) | 160 mA |
| Ìtọ́sọ́nà ìgbohùnsí PWM | 1 kHz - 40 kHz |
| Àwọn ìpele ìṣàkóso ìwọ̀n | 0.3 VCC (rẹ̀lẹ̀), 0.7 VCC (ga) |
| Ìrẹ̀lẹ̀ fóltíjì / RDS(on) / ìkúnra | 0.2 V (typ.) |
| Àwọn ìwọ̀n ìgbóná | Ìwọ̀n ìṣiṣẹ́: -40°C sí 85°C |
| Àpótí | QFN48 |
| Àwọn àkíyèsí / àwọn oríṣi | Àwọn módúùlù ESP32 oríṣiríṣi wà |
- Rí i pé ìpèsè agbára tí ó tọ́ wà láti yẹra fún ìbàjẹ́.
- Lo resistor pẹ̀lú buzzer láti díwọ̀n ìṣàn.
- Jẹ́ kí àwọn okun ifihan kúrú láti dín ìdàrúdàpọ̀ kù.
- Lo àwọn resistor ìfà sókè bí ó bá pọn dandan fún àwọn ìwọ̀n oní nọ́ḿbà.
- Ṣọ́ra fún ìwọ̀n tí ó ga jùlọ ti ẹ̀rọ ìwọ̀n ultrasonic.
Àwọn Ìtọ́sọ́nà Ìsopọ̀

Láti so àwọn ẹ̀yà pọ̀ fún iṣẹ́ náà, bẹ̀rẹ̀ nípa sísopọ̀ ẹ̀rọ ìwọ̀n ultrasonic. So pin VCC ti ẹ̀rọ ìwọ̀n sí ìlà agbára 5V àti pin GND sí ilẹ̀. Pin Trig yẹ kí ó sopọ̀ sí pin 26 lórí ESP32, àti pin Echo yẹ kí ó sopọ̀ sí pin 25.
Nígbà náà, so buzzer nípa sísopọ̀ okun rẹ̀ tí ó dára sí pin 14 lórí ESP32 àti okun tí kò dára sí ilẹ̀. Fún LCD, so pin VCC sí ìlà 5V àti pin GND sí ilẹ̀. Àwọn pin SDA àti SCL ti LCD yẹ kí ó sopọ̀ sí àwọn pin 21 àti 22, ní ìtẹ̀lera. Rí i pé gbogbo àwọn ìsopọ̀ ṣe dáradára láti yẹra fún àwọn ìyapa nígbà ìṣiṣẹ́.
Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà
Nínú kóòdù náà, ìwọ yóò rí àwọn ìdámọ̀ pàtàkì bíi distance, èyí tí ó tọ́jú ọ̀nà jíjìn tí a wọ̀n láti ẹ̀rọ ìwọ̀n ultrasonic. Àwọn oniyipada yìí ni a ń mú ìmúpadà sí nígbà gbogbo nínú lúùpù láti ṣàfihàn ọ̀nà jíjìn lọ́wọ́lọ́wọ́. Pin buzzer jẹ́ ìtumọ̀ sí buzzerPin, tí ó jẹ́ kí ìṣàkóso ipò rẹ̀ rọrùn.
const int triggerPin = 26; // Pin trigger fún ẹ̀rọ ìwọ̀n ultrasonic
const int echoPin = 25; // Pin echo fún ẹ̀rọ ìwọ̀n ultrasonic
const int buzzerPin = 14; // Pin buzzer
Àwọn ìdámọ̀ wọ̀nyí ni a ṣàlàyé ní ìbẹ̀rẹ̀ kóòdù náà fún ìmúdájú àti ìrọrùn ìtúnṣe. Àwọn pin trigger àti echo ni a lò láti bá ẹ̀rọ ìwọ̀n ultrasonic sọ̀rọ̀, nígbà tí pin buzzer ṣàkóso ìgbéjáde ohùn.
void setup() {
pinMode(triggerPin, OUTPUT); // Ṣeto pin trigger gẹ́gẹ́ bí ìgbéjáde
pinMode(echoPin, INPUT); // Ṣeto pin echo gẹ́gẹ́ bí ìwọ̀n
pinMode(buzzerPin, OUTPUT); // Ṣeto pin buzzer gẹ́gẹ́ bí ìgbéjáde
}
Nínú ìṣiṣẹ́ setup(), a ṣètò àwọn ipo pin fún ẹ̀rọ ìwọ̀n ultrasonic àti buzzer. Èyí rí i pé ESP32 lè bá àwọn ẹ̀yà ohun èlò ṣiṣẹ́ nípa ṣiṣe nígbà ìṣiṣẹ́.
void loop() {
distance = readDistance(); // Pe ìṣiṣẹ́ láti ka ọ̀nà jíjìn
if (distance <= 10) {
beep(100); // Ìgbohùnsí yára fún ọ̀nà jíjìn tí ó súnmọ́
} else if (distance <= 20) {
beep(500); // Ìgbohùnsí àárín fún ọ̀nà jíjìn àárín
} else {
beep(2000); // Ìgbohùnsí lọ́ra fún ọ̀nà jíjìn tí ó ṣàlàáfíà
}
}
Iṣẹ́ loop() ń ka iwọn ọ̀nà nígbà gbogbo, ó sì ń ṣàtúnṣe ìwọ̀n ìgbà tí buzzer yóò dun dá lórí iye náà. Iṣẹ́ beep() ni a ń pè pẹ̀lú àwọn àkókò tí ó yàtọ̀ nígbà tí ìdíwọ́n ọ̀nà bá súnmọ́.
Ìfihàn / Ohun tí o lè retí
Nígbà tí gbogbo nǹkan bá ti ní ìsopọ̀ tí a sì ti gbé kóòdù sílẹ̀, o lè retí pé ètò yóò dun ní àwọn àkókò tí ó yàtọ̀ dá lórí iwọn ọ̀nà sí ìdíwọ́n kan. Nígbà tí iwọn ọ̀nà bá kéré ju 10 cm lọ, buzzer yóò dun ní kíákíá, nígbà tí iwọn ọ̀nà tí ó tóbi ju 50 cm lọ yóò mú kí ó dun lọ́ràọ̀ráọ̀. Rí i dájú pé o dán ètò náà wò nípa gbígbe ọwọ́ rẹ sí iwájú sẹ́nsò ultrasonic láti rí àwọn ìyípadà nínú ìwọ̀n ọ̀nà àti ìwọ̀n ìgbà tí ó bá mu (nínú fídíò ní 12:30).
Àwọn Àkókò Nínú Fídíò
- 00:00 Ìbẹ̀rẹ̀
- 2:08 Ìfihàn àti àwọn ìwé
- 4:12 Ìsopọ̀ Wáyà Ṣàlàyé
- 13:17 Kóòdù Arduino
- 21:01 Yíyàn Bọ́ọ̀dù ESP32 àti ibùdó COM nínú Arduino IDE
- 22:48 Ìfihàn nínú yàrá
- 24:54 Ìfihàn lórí ọkọ̀
Common Course Links
Common Course Files
Ohun ti o le nilo
-
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
Orisun & itọkasi
-
Iwe-ẹriESP32 Tutorial 32/55- SunFounder doc page for reversing aiddocs.sunfounder.com
Fáìlìs📁
Fayile Fritzing
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB