V tomto návode sa naučíme, ako používať modul ESP32 spolu s modulom na sledovanie čiary na detekciu čiernych čiar na bielom povrchu. Táto schopnosť je nevyhnutná pre aplikácie, ako sú robotické autíčka, ktoré potrebujú sledovať určenú trasu. Okrem toho integrujeme bzučiak, ktorý sa aktivuje, keď modul na sledovanie čiary deteguje čiernu čiaru, čím sa zlepšuje spätná väzba nášho projektu. Pre ďalšie objasnenie si pozrite video (vo videu na 0:00).
line_track
Vysvetlenie hardvéru
Medzi hlavné komponenty tohto projektu patria modul ESP32, modul na sledovanie čiary a bzučiak. Modul ESP32 je výkonný mikrokontrolér so vstavanými funkciami Wi-Fi a Bluetooth, ktorý umožňuje širokú škálu IoT aplikácií. Modul na sledovanie čiary využíva infračervený žiarič a fotorezistor na detekciu rozdielov vo farbe povrchu na základe intenzity odrazeného infračerveného svetla.
Modul na sledovanie čiary funguje tak, že vyžaruje infračervené svetlo, ktoré sa odráža od povrchu pod ním. Tmavší povrch, ako je čierny, absorbuje viac svetla, čo má za následok nižšiu intenzitu odrazu, zatiaľ čo svetlejší povrch, ako je biely, odráža viac svetla, čo vytvára vyššiu intenzitu. Tento rozdiel je spracovaný operačným zosilňovačom na určenie stavu povrchu (čierny alebo biely) a výstup zodpovedajúceho signálu.
Podrobnosti z datasheetu
Výrobca
SunFounder
Označenie dielu
TCRT5000
Logické/IO napätie
3,3 V až 5 V
Výstupný prúd (na kanál)
20 mA
Špičkový prúd (na kanál)
50 mA
Čas odozvy
< 10 ms
Rozsah detekcie
1 cm až 5 cm
Balenie
Modul s hlavičkovými kolíkmi
Poznámky / varianty
Bežne používané v robotoch sledujúcich čiaru
Zabezpečte správne napájanie (3,3 V alebo 5 V).
Udržiavajte snímač čistý pre presné údaje.
Upravte citlivosť pomocou vstavaného potenciometra.
Skontrolujte pripojenia, aby ste sa vyhli plávajúcim vstupom.
V prípade potreby použite pull-up rezistory pre stabilné údaje.
Minimalizujte rušenie z okolitých infračervených zdrojov.
Pokyny na zapojenie
ESP32-20_line-tracking-wiring
Na zapojenie modulu na sledovanie čiary k ESP32 začnite pripojením uzemňovacieho kolíka modulu k uzemňovaciemu kolíku na ESP32. Potom pripojte kolík V+ modulu na sledovanie čiary k vhodnému zdroju napájania, buď 3,3 V alebo 5 V na ESP32. Signálny kolík (označený ako S) by mal byť pripojený na GPIO 14 na ESP32. Pred pokračovaním sa uistite, že sú tieto pripojenia bezpečné.
Ak používate bzučiak, pripojte jeho záporný pól k uzemneniu a kladný pól na GPIO 27 na ESP32. Toto nastavenie umožňuje, aby sa bzučiak aktivoval, keď modul na sledovanie čiary deteguje čiernu čiaru. Nezabudnite skontrolovať všetky pripojenia, aby sa zhodovali so špecifikovanými pinmi v kóde.
ESP32-20_line-tracking-schemtaic
Príklady kódu a vysvetlenie
Nižšie je uvedený kľúčový výňatok z kódu, ktorý nastavuje modul na sledovanie čiary. Premenná linePin je definovaná na reprezentáciu pinu pripojeného k modulu na sledovanie čiary.
const int linePin = 14; // Číslo pinu modulu na sledovanie čiary
Tento riadok inicializuje linePin ako pin 14, ktorý sa použije na čítanie stavu čiary. Premenná lineState bude uchovávať výsledok zo snímača.
Vo funkcii setup() nakonfigurujeme režim pinu pre linePin ako vstup.
To zaisťuje, že ESP32 môže čítať stav modulu na sledovanie čiary. Sériová komunikácia sa spustí s prenosovou rýchlosťou 115200 na monitorovanie výstupu.
Nakoniec vo funkcii loop() nepretržite čítame stav modulu na sledovanie čiary a tlačíme detegovanú farbu.
Táto slučka kontroluje, či je lineState HIGH (označuje čiernu) alebo LOW (označuje bielu), a vytlačí výsledok do sériového monitora. Úplný kód sa načíta pod článkom pre vašu referenciu.
Demonštrácia / Čo očakávať
Po dokončení zapojenia a nahraní kódu by ste mali pozorovať, ako ESP32 tlačí „Black", keď je modul na sledovanie čiary nad čiernym povrchom, a „White", keď je nad bielym povrchom. Okrem toho bzučiak zaznie, keď modul deteguje čiernu čiaru, čo poskytuje zvukovú výstrahu. Buďte opatrní s nastaveniami potenciometra, pretože príliš citlivé nastavenia môžu viesť k nepravidelnému správaniu (vo videu na 10:00).
Časové značky videa
00:00 Začiatok
2:22 Úvod do modulu sledovania čiary
5:10 Stránka dokumentácie
9:20 Vysvetlenie zapojenia
10:49 Vysvetlenie kódu pre Arduino
13:36 Výber dosky ESP32 a portu COM v Arduino IDE
15:18 Ukážka
18:15 Projekt: Sledovanie čiary s bzučiakom
19:52 Kód pre Arduino pre sledovanie čiary a bzučiak
819-ESP32 Tutorial 20/55- Arduino code line tracking
Language: 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);
}
}