Бұл оқулықта біз ESP32 модулімен инфрақызыл кедергілерді болдырмау сенсорын қалай қолдануға болатынын үйренеміз. Бұл жоба сенсордың кедергі анықталған кезде дыбыстық сигналды қалай іске қоса алатынын көрсетеді. Орнату сонымен қатар анықтау күйін сериялық мониторда көрсетеді, бұл сенсордың жұмысын байқаудың анық және интерактивті тәсілін қамтамасыз етеді.
Біз Wi-Fi және Bluetooth мүмкіндіктерімен жабдықталған ESP32 микроконтроллерін қамтитын SunFounder ESP32 IoT Learning Kit жиынтығымен жұмыс істейтін боламыз. Инфрақызыл сенсор жақын маңдағы кедергілерден шағылысатын инфрақызыл жарықты жіберу арқылы жұмыс істейді. Жарық қайта шағылысқан кезде, сенсор біздің кодта оқитын шығыс сигналын іске қосады. Сондай-ақ, кедергі анықталған кезде белсендірілетін дыбыстық сигналды қосамыз, бұл естілетін ескертуді қамтамасыз етеді.
Аппараттық құрал түсіндірмесі
Бұл жобаның негізгі компоненттеріне ESP32 модулі, инфрақызыл кедергілерді болдырмау сенсоры және дыбыстық сигнал кіреді. ESP32 модулі орталық өңдеу блогы ретінде қызмет етеді, сенсор кірістерін өңдейді және шығыстарды басқарады. Оны литий батареясымен қуаттандыруға болады, бұл оны әртүрлі қолданбалар үшін портативті және икемді етеді.
Инфрақызыл кедергілерді болдырмау сенсоры таратқыштан және қабылдағыштан тұрады. Таратқыш инфрақызыл жарықты шығарады, ал қабылдағыш жақын маңдағы нысандардан шағылысқан жарықты анықтайды. Кедергі болған кезде, сенсордың шығыс түйреуіші төмендейді, бұл ESP32-ге дыбыстық сигналды қосу сияқты әрекетті орындауға сигнал береді.
Деректер парағының мәліметтері
Өндіруші
SunFounder
Бөлшек нөмірі
Инфрақызыл кедергілерді болдырмау сенсоры
Жұмыс кернеуі
3.3 В - 5 В
Шығыс түрі
Цифрлық (кедергі анықталғанда төмен)
Анықтау қашықтығы
20 см-ге дейін
Жауап беру уақыты
10 мс-тен аз
Қаптама
Модуль
Қуат көзі: жұмыс үшін 3.3 В - 5 В.
Кедергі анықталғанда шығыс сигналы төмендейді.
Потенциометр арқылы реттелетін сезімталдық.
Әдеттегі анықтау қашықтығы 20 см-ге дейін.
10 мс-тен аз жылдам жауап беру уақыты.
Сымды қосу нұсқаулары
ESP32-19-obstacle_voide-wiring
Инфрақызыл кедергілерді болдырмау сенсорын ESP32-ге қосу үшін сенсордың VCC түйреуішін ESP32-дегі 5V түйреуішіне қосудан бастаңыз. Әрі қарай, сенсордың GND түйреуішін ESP32-дегі GND түйреуіштерінің біріне қосыңыз. Соңында, сенсордың OUT түйреуішін ESP32-дегі GPIO 14 түйреуішіне қосыңыз.
Дыбыстық сигнал үшін теріс терминалды GND-ге, ал оң терминалды GPIO 27 түйреуішіне қосыңыз. Барлық қосылымдардың сенімді екеніне және сенсордың дұрыс қуатталатынына көз жеткізіңіз. Сымды қосу қарапайым болуы керек, өйткені сенсор мен дыбыстық сигнал тек қарапайым қуат және сигнал қосылымдарын қажет етеді.
Код мысалдары мен түсіндірме
Кодта біз алдымен кедергілерді болдырмау сенсорына қосылған түйреуішті анықтаймыз. Бұл 14-ке тең avoidPin идентификаторы арқылы жасалады. Сондай-ақ, сенсордың шығыс күйін сақтау үшін avoidState айнымалысын жариялаймыз.
const int avoidPin = 14; // болдырмау модулінің түйреуіш нөмірі
int avoidState = 0;
Орнату функциясында біз сериялық байланысты инициализациялаймыз және avoidPin мәнін кіріс ретінде орнатамыз. Бұл ESP32-ге сенсордың шығыс күйін оқуға мүмкіндік береді.
Цикл функциясында біз digitalRead(avoidPin) арқылы сенсордың шығысын үздіксіз оқып, нәтижені avoidState мәнінде сақтаймыз. Бұл мән содан кейін сериялық мониторға басып шығарылады, бұл кедергі анықталған кезде (шығыс 0 болады) немесе анықталмаған кезде (шығыс 1 болады) көруге мүмкіндік береді.
Толық код үшін мақаланың төменгі жағындағы жүктеу бөлімін қараңыз.
Демонстрация / Не күтуге болады
Орнату аяқталғанда және код жүктелгенде, сериялық мониторда кедергінің анықталғанына байланысты 0 немесе 1 көрсетілетінін көруіңіз керек. Кедергі анықтау қашықтығында болғанда, шығыс 0-ді көрсетеді және дыбыстық сигнал шығады. Кедергі алынып тасталса, шығыс 1-ді көрсетеді және дыбыстық сигнал тоқтайды. Бұл функция бейнеде көрсетілген (бейнеде 12:30-да).
Жиі кездесетін мәселелерге дұрыс емес сымды қосу жатады, бұл сенсордың дұрыс жұмыс істемеуіне әкелуі мүмкін, немесе сериялық монитордағы сәйкес келмейтін бод жылдамдықтары, бұл деректердің дәл көрсетілуіне кедергі келтіреді. Егер қиындықтар туындаса, осы аспектілерді тексеруді ұмытпаңыз.
Бейне уақыт белгілері
00:00 Бастау
1:57 Жобамен таныстыру
4:33 Кедергілерді болдырмау сенсорын қосу
5:55 Кедергілерді болдырмауға арналған Arduino коды
7:36 Arduino IDE-де ESP32 тақтасын және COM портын таңдау
9:18 Жоба демонстрациясы
10:42 Сезімталдықты реттеу, қашықтықты арттыру
12:39 Кедергі анықталғанда әрекет ету
14:24 Кедергі анықталғанда дыбыстық сигналды қолдану
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Тіл: 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);
}