Осы оқулықта біз ESP32 модулін сызықты бақылау модулімен бірге ақ беттегі қара сызықтарды анықтау үшін қалай қолдануды үйренеміз. Бұл мүмкіндік белгіленген жолды ұстануы қажет роботты көліктер сияқты қолданбалар үшін маңызды. Сонымен қатар, біз сызықты бақылау модулі қара сызықты анықтаған кезде іске қосылатын дыбыстық сигнал құрылғысын (buzzer) біріктіреміз, бұл жобамыздың кері байланыс механизмін жақсартады. Қосымша түсініктеме алу үшін бейнені қараңыз (бейнеде 0:00).
line_track
Аппараттық құрал түсіндірмесі
Бұл жобаның негізгі компоненттеріне ESP32 модулі, сызықты бақылау модулі және дыбыстық сигнал құрылғысы кіреді. ESP32 модулі - кірістірілген Wi-Fi және Bluetooth мүмкіндіктері бар қуатты микроконтроллер, ол IoT қолданбаларының кең ауқымына мүмкіндік береді. Сызықты бақылау модулі шағылысқан инфрақызыл жарықтың қарқындылығына негізделген бет түсінің айырмашылығын анықтау үшін инфрақызыл эмиттер мен фоторезисторды пайдаланады.
Сызықты бақылау модулі астындағы беттен шағылысатын инфрақызыл жарық шығару арқылы жұмыс істейді. Қара сияқты қараңғы бет көбірек жарықты жұтады, нәтижесінде шағылысу қарқындылығы төмен болады, ал ақ сияқты ашық бет көбірек жарықты шағылыстырады, жоғары қарқындылық шығарады. Бұл айырмашылық беттің күйін (қара немесе ақ) анықтау және сәйкес сигнал шығару үшін операциялық күшейткішпен өңделеді.
Деректер парағының мәліметтері
Өндіруші
SunFounder
Бөлшек нөмірі
TCRT5000
Логика/IO кернеуі
3.3 В - 5 В
Шығыс тогы (арнаға)
20 мА
Ең жоғары ток (арнаға)
50 мА
Жауап беру уақыты
< 10 мс
Анықтау қашықтығы
1 см - 5 см
Қаптама
Түйреуіштері бар модуль
Ескертулер / нұсқалар
Әдетте сызықты ұстану роботтарында қолданылады
Тиісті қуат көзін қамтамасыз етіңіз (3.3 В немесе 5 В).
Дәл көрсеткіштер үшін сенсорды таза ұстаңыз.
Сезімталдықты платадағы потенциометр арқылы реттеңіз.
Қалқымалы кірістерді болдырмау үшін қосылымдарды тексеріңіз.
Тұрақты көрсеткіштер үшін қажет болса, жоғары тарту резисторларын қолданыңыз.
Қоршаған ортадағы инфрақызыл көздердің кедергісін азайтыңыз.
Сым қосу нұсқаулары
ESP32-20_line-tracking-wiring
Сызықты бақылау модулін ESP32-ге қосу үшін модульдің жерге қосу түйреуішін ESP32-дегі жерге қосу түйреуішіне қосудан бастаңыз. Содан кейін сызықты бақылау модулінің V+ түйреуішін ESP32-дегі 3.3 В немесе 5 В сияқты қолайлы қуат көзіне қосыңыз. Сигнал түйреуіші (S деп белгіленген) ESP32-дегі GPIO 14-ке қосылуы керек. Әрі қарай жалғастырмас бұрын осы қосылымдардың сенімді екеніне көз жеткізіңіз.
Егер дыбыстық сигнал құрылғысын қолдансаңыз, оның теріс терминалын жерге, ал оң терминалын ESP32-дегі GPIO 27-ге қосыңыз. Бұл орнату дыбыстық сигнал құрылғысының сызықты бақылау модулі қара сызықты анықтаған кезде іске қосылуына мүмкіндік береді. Барлық қосылымдардың кодта көрсетілген түйреуіштерге сәйкес келетінін тексеру үшін қайта тексеріңіз.
ESP32-20_line-tracking-schemtaic
Код мысалдары және түсіндірме
Төменде сызықты бақылау модулін орнататын кодтың негізгі үзіндісі берілген. linePin айнымалысы сызықты бақылау модуліне қосылған түйреуішті білдіру үшін анықталған.
const int linePin = 14; // Сызықты бақылау модулі түйреуішінің нөмірі
Бұл жол linePin мәнін 14-түйреуіш ретінде инициализациялайды, ол сызық күйін оқу үшін қолданылады. lineState айнымалысы сенсордан алынған нәтижені сақтайды.
setup() функциясында linePin үшін түйреуіш режимін кіріс ретінде конфигурациялаймыз.
Бұл цикл lineState мәнінің HIGH (қараны көрсетеді) немесе LOW (ақты көрсетеді) екенін тексереді және нәтижені сериялық мониторға басып шығарады. Толық код сілтеме үшін мақаланың астында жүктеледі.
Демонстрация / Не күтуге болады
Сым қосу аяқталғаннан және код жүктелгеннен кейін, сызықты бақылау модулі қара беттің үстінде болғанда ESP32 "Black" деп, ал ақ беттің үстінде болғанда "White" деп басып шығаратынын байқауыңыз керек. Сонымен қатар, модуль қара сызықты анықтаған кезде дыбыстық сигнал құрылғысы дыбыс шығарады, бұл есту арқылы ескерту береді. Потенциометр параметрлеріне абай болыңыз, өйткені тым сезімтал параметрлер тұрақсыз әрекетке әкелуі мүмкін (бейнеде 10:00).
Бейне уақыт белгілері
00:00 Бастау
2:22 Сызықты бақылау модуліне кіріспе
5:10 Құжаттама беті
9:20 Сымдарды қосу түсіндірілді
10:49 Arduino коды түсіндірілді
13:36 Arduino IDE-де ESP32 платасын және COM портын таңдау
15:18 Демонстрация
18:15 Жоба: Дыбыс қоңырауымен сызықты бақылау
19:52 Сызықты бақылау және дыбыс қоңырауына арналған Arduino коды
819-ESP32 Tutorial 20/55- Arduino code line tracking
Тіл: C++
// Set pin number
const int linePin = 14; // The number of the line track module pin
// Variable for storing the line status
int lineState = 0;
void setup() {
Serial.begin(115200);
// Initialize the line track module pin as an input
pinMode(linePin, INPUT);
}
void loop() {
// Read the state of the line track module
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Black");
delay(100);
}
else {
Serial.println("White");
delay(100);
}
}