Katika mafunzo haya, tutajifunza jinsi ya kutumia kihisi cha kuepuka vizuizi vya infrared na moduli ya ESP32 kutambua vizuizi. Mradi huu utaonyesha jinsi kihisi kinavyoweza kuwasha buzzer wakati kizuizi kinapogunduliwa. Mpangilio huu pia utaonyesha hali ya utambuzi kwenye kichunguzi cha serial, kikitoa njia wazi na shirikishi ya kuona utendaji wa kihisi.
Tutafanya kazi na Kifurushi cha Kujifunza cha SunFounder ESP32 IoT, ambacho kinajumuisha microcontroller ya ESP32 iliyo na uwezo wa Wi-Fi na Bluetooth. Kihisi cha infrared hufanya kazi kwa kutuma mwanga wa infrared, ambao utaakisi kutoka kwenye vizuizi vilivyo karibu. Mwanga unaporudishwa nyuma, kihisi kitawasha ishara ya pato ambayo tutaisoma katika msimbo wetu. Pia tutajumuisha buzzer inayowashwa wakati kizuizi kinapogunduliwa, ikitoa tahadhari ya sauti.
Vifaa Vimeelezwa
Vipengele vikuu vya mradi huu vinajumuisha moduli ya ESP32, kihisi cha kuepuka vizuizi vya infrared, na buzzer. Moduli ya ESP32 hutumika kama kitengo kikuu cha kuchakata, kikishughulikia pembejeo za kihisi na kudhibiti matokeo. Inaweza kuwashwa kwa kutumia betri ya lithiamu, na kuifanya iweze kubebeka na kubadilika kwa matumizi mbalimbali.
Kihisi cha kuepuka vizuizi vya infrared kinajumuisha kisambaza na kipokezi. Kisambaza hutoa mwanga wa infrared, wakati kipokezi hugundua mwanga unaoakisiwa kutoka kwenye vitu vilivyo karibu. Wakati kizuizi kipo, pini ya pato ya kihisi inashuka chini, ikiashiria ESP32 kuchukua hatua, kama vile kuwasha buzzer.
Maelezo ya Datasheet
Mtengenezaji
SunFounder
Nambari ya sehemu
Kihisi cha Kuepuka Vizuizi vya Infrared
Voltage ya Uendeshaji
3.3 V - 5 V
Aina ya Pato
Digital (Chini wakati kizuizi kinapogunduliwa)
Masafa ya Utambuzi
Hadi sm 20
Muda wa Kujibu
Chini ya ms 10
Kifurushi
Moduli
Ugavi wa nishati: 3.3 V hadi 5 V kwa uendeshaji.
Ishara ya pato inashuka chini wakati kizuizi kinapogunduliwa.
Unyeti unaoweza kubadilishwa kupitia potentiometer.
Masafa ya kawaida ya utambuzi ni hadi sm 20.
Muda wa haraka wa kujibu chini ya ms 10.
Maagizo ya Uunganishaji wa Waya
ESP32-19-obstacle_voide-wiring
Ili kuunganisha kihisi cha kuepuka vizuizi vya infrared kwenye ESP32, anza kwa kuunganisha pini ya VCC ya kihisi kwenye pini ya 5V ya ESP32. Kisha, unganisha pini ya GND ya kihisi kwenye moja ya pini za GND za ESP32. Hatimaye, unganisha pini ya OUT ya kihisi kwenye pini ya GPIO 14 ya ESP32.
Kwa buzzer, unganisha terminal hasi kwenye GND na terminal chanya kwenye pini ya GPIO 27. Hakikisha miunganisho yote ni salama na kwamba kihisi kimewashwa kwa usahihi. Uunganishaji wa waya unapaswa kuwa rahisi, kwani kihisi na buzzer zinahitaji tu miunganisho rahisi ya nishati na ishara.
Mifano ya Msimbo na Maelezo ya Hatua kwa Hatua
Katika msimbo, kwanza tunafafanua pini iliyounganishwa na kihisi cha kuepuka vizuizi. Hii inafanywa kwa kutumia kitambulisho avoidPin kilichowekwa kuwa 14. Pia tunatangaza kigezo avoidState cha kushikilia hali ya pato la kihisi.
const int avoidPin = 14; // nambari ya pini ya moduli ya kuepuka
int avoidState = 0;
Katika kazi ya setup, tunaanzisha mawasiliano ya serial na kuweka avoidPin kama pembejeo. Hii inaruhusu ESP32 kusoma hali ya pato la kihisi.
Ndani ya kazi ya loop, tunasoma pato la kihisi kila mara kwa kutumia digitalRead(avoidPin) na kuhifadhi matokeo katika avoidState. Thamani hii kisha inachapishwa kwenye kichunguzi cha serial, ikituruhusu kuona wakati kizuizi kinapogunduliwa (pato litakuwa 0) au la (pato litakuwa 1).
Kwa msimbo kamili, tafadhali rejelea sehemu ya upakiaji hapa chini ya makala.
Maonyesho / Nini cha Kutarajia
Wakati mpangilio umekamilika na msimbo umepakiwa, unapaswa kuona kichunguzi cha serial kikionyesha 0 au 1 kulingana na kama kizuizi kimegunduliwa. Wakati kizuizi kiko ndani ya masafa ya utambuzi, pato litasoma 0, na buzzer italia. Ikiwa kizuizi kimeondolewa, pato litasoma 1, na buzzer itaacha. Utendaji huu unaonyeshwa kwenye video (katika video saa 12:30).
Masuala ya kawaida yanaweza kujumuisha uunganishaji usio sahihi wa waya, ambao unaweza kusababisha kihisi kutofanya kazi vizuri, au viwango vya baud visivyolingana kwenye kichunguzi cha serial, vinavyozuia data kuonyeshwa kwa usahihi. Hakikisha umeangalia vipengele hivi ikiwa utapata matatizo.
Vidokezo vya Muda wa Video
00:00 Anza
1:57 Utangulizi wa mradi
4:33 Uunganishaji wa waya wa Kuepuka Vizuizi
5:55 Msimbo wa Arduino kwa Kuepuka Vizuizi
7:36 Kuchagua Bodi ya ESP32 na bandari ya COM kwenye Arduino IDE
9:18 Maonyesho ya mradi
10:42 Kurekebisha unyeti kuongeza masafa
12:39 Kuchukua hatua wakati kizuizi kinapogunduliwa
14:24 Kutumia buzzer wakati kizuizi kinapogunduliwa
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Språk: C++
// 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);
}