Кодты іздеу

ESP32 оқулығы 19/55 - Инфрақызыл сенсор арқылы кедергіні анықтау | SunFounder компаниясының ESP32 IoT оқу жинағы

ESP32 оқулығы 19/55 - Инфрақызыл сенсор арқылы кедергіні анықтау | SunFounder компаниясының ESP32 IoT оқу жинағы

Бұл оқулықта біз 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-ге сенсордың шығыс күйін оқуға мүмкіндік береді.

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

Цикл функциясында біз digitalRead(avoidPin) арқылы сенсордың шығысын үздіксіз оқып, нәтижені avoidState мәнінде сақтаймыз. Бұл мән содан кейін сериялық мониторға басып шығарылады, бұл кедергі анықталған кезде (шығыс 0 болады) немесе анықталмаған кезде (шығыс 1 болады) көруге мүмкіндік береді.

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Толық код үшін мақаланың төменгі жағындағы жүктеу бөлімін қараңыз.

Демонстрация / Не күтуге болады

Орнату аяқталғанда және код жүктелгенде, сериялық мониторда кедергінің анықталғанына байланысты 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 Кедергі анықталғанда дыбыстық сигналды қолдану

Суреттер

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
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);
}

Ресурстар мен сілтемелер

Файлдар📁

Файлдар жоқ.