Search Code

ESP32 Оқулық 20/55 - Сызықты бақылау модулі | SunFounder компаниясының ESP32 IoT оқу жиынтығы

ESP32 Оқулық 20/55 - Сызықты бақылау модулі | SunFounder компаниясының ESP32 IoT оқу жиынтығы

Осы оқулықта біз 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 үшін түйреуіш режимін кіріс ретінде конфигурациялаймыз.

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

Бұл ESP32-нің сызықты бақылау модулінің күйін оқи алуын қамтамасыз етеді. Шығысты бақылау үшін сериялық байланыс 115200 бод жылдамдығымен басталады.

Соңында, loop() функциясында біз сызықты бақылау модулінің күйін үздіксіз оқып, анықталған түсті басып шығарамыз.

void loop() {
  lineState = digitalRead(linePin);
  if (lineState == HIGH) {
    Serial.println("Black");
    delay(100);
  } else {
    Serial.println("White");
    delay(100);
  }
}

Бұл цикл 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 коды
  • 20:52 Демонстрация

Суреттер

ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
ESP32-20_line-tracking-wiring
line_track
line_track
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);
  }
}

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

Файлдар📁

Файлдар жоқ.