A cikin wannan koyawa, za mu koyi yadda ake amfani da na'urar hana cikas ta infrared tare da module na ESP32 don gano abubuwan cikas. Wannan aikin zai nuna yadda na'urar za ta iya kunna buzzer lokacin da aka gano cikas. Shirin zai kuma nuna matsayin ganowa a kan serial monitor, yana ba da hanya mai haske da mu'amala don lura da aikin na'urar.
Za mu yi aiki tare da SunFounder ESP32 IoT Learning Kit, wanda ya haɗa da microcontroller na ESP32 wanda ke da damar Wi-Fi da Bluetooth. Na'urar infrared tana aiki ta hanyar aika hasken infrared, wanda zai yi haske daga abubuwan cikas da ke kusa. Lokacin da hasken ya dawo, na'urar za ta kunna siginar fitarwa wanda za mu karanta a cikin lambar mu. Za mu kuma haɗa da buzzer wanda ke kunna lokacin da aka gano cikas, yana ba da faɗakarwa mai ji.
Bayanin Kayan Aiki
Babban abubuwan wannan aikin sun haɗa da module na ESP32, na'urar hana cikas ta infrared, da buzzer. Module na ESP32 yana aiki a matsayin cibiyar sarrafawa, yana sarrafa shigarwar na'urori da sarrafa fitarwa. Ana iya kunna shi ta amfani da baturin lithium, yana mai da shi mai ɗaukuwa da sassauƙa don aikace-aikace daban-daban.
Na'urar hana cikas ta infrared ta ƙunshi mai aikawa da mai karɓa. Mai aikawa yana fitar da hasken infrared, yayin da mai karɓa ke gano hasken da ya dawo daga abubuwa da ke kusa. Lokacin da akwai cikas, fil ɗin fitarwa na na'urar yana ƙasa, yana nuna ESP32 ya ɗauki mataki, kamar kunna buzzer.
Cikakkun Bayanai na Datasheet
Mai ƙera
SunFounder
Lambar sashi
Na'urar Hana Cikas ta Infrared
Ƙarfin Aiki
3.3 V - 5 V
Nau'in Fitowa
Dijital (Ƙasa lokacin da aka gano cikas)
Iyakokin Ganowa
Har zuwa 20 cm
Lokacin Amsawa
Ƙasa da 10 ms
Kunshin
Module
Samar da wutar lantarki: 3.3 V zuwa 5 V don aiki.
Siginar fitarwa tana ƙasa lokacin da aka gano cikas.
Ana iya daidaita hankali ta hanyar potentiometer.
Iyakokin ganowa na yau da kullun har zuwa 20 cm.
Saurin amsawa ƙasa da 10 ms.
Umarnin Haɗin Waya
ESP32-19-obstacle_voide-wiring
Don haɗa na'urar hana cikas ta infrared zuwa ESP32, fara da haɗa fil ɗin VCC na na'urar zuwa fil ɗin 5V akan ESP32. Na gaba, haɗa fil ɗin GND na na'urar zuwa ɗaya daga cikin fil ɗin GND akan ESP32. A ƙarshe, haɗa fil ɗin OUT na na'urar zuwa fil ɗin GPIO 14 akan ESP32.
Don buzzer, haɗa ƙarshen mara kyau zuwa GND da ƙarshen mai kyau zuwa fil ɗin GPIO 27. Tabbatar cewa duk haɗin suna da aminci kuma an kunna na'urar daidai. Haɗin waya ya kamata ya kasance mai sauƙi, saboda na'urar da buzzer suna buƙatar haɗin wutar lantarki da sigina kawai.
Misalan Lamba da Bayani
A cikin lambar, mun fara ayyana fil ɗin da ke haɗe da na'urar hana cikas. Ana yin wannan ta amfani da alamar avoidPin da aka saita zuwa 14. Mun kuma bayyana maɓallin avoidState don riƙe yanayin fitarwa na na'urar.
const int avoidPin = 14; // lambar fil ɗin module na avoid
int avoidState = 0;
A cikin aikin saitin, mun fara sadarwar serial kuma mun saita avoidPin a matsayin shigarwa. Wannan yana ba ESP32 damar karanta yanayin fitarwa na na'urar.
A cikin aikin madauki, muna ci gaba da karanta fitarwa na na'urar ta amfani da digitalRead(avoidPin) kuma mu adana sakamakon a cikin avoidState. Ana buga wannan ƙimar zuwa serial monitor, yana ba mu damar ganin lokacin da aka gano cikas (fitarwa zai zama 0) ko a'a (fitarwa zai zama 1).
Don cikakken lambar, da fatan za a koma zuwa sashin loda da ke ƙasa labarin.
Nuna / Abin da za a Yi Tsammani
Lokacin da aka kammala saitin kuma aka loda lambar, ya kamata ku ga serial monitor yana nuna ko 0 ko 1 dangane da ko an gano cikas. Lokacin da cikas yana cikin iyakokin ganowa, fitarwa zai karanta 0, kuma buzzer zai yi sauti. Idan an cire cikas, fitarwa zai karanta 1, kuma buzzer zai tsaya. Ana nuna wannan aikin a cikin bidiyo (a cikin bidiyo a 12:30).
Matsaloli na yau da kullun na iya haɗa da haɗin waya mara kyau, wanda zai iya haifar da na'urar ba ta aiki daidai ba, ko kuma rashin daidaiton ƙimar baud a serial monitor, yana hana bayanai nunawa daidai. Tabbatar duba waɗannan abubuwan idan kun fuskanci matsaloli.
Lokutan Bidiyo
00:00 Fara
1:57 Gabatarwar aikin
4:33 Haɗin waya na Hana Cikas
5:55 Lambar Arduino don Hana Cikas
7:36 Zaɓin Board na ESP32 da tashar COM akan Arduino IDE
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Harshe: 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);
}