Èkó ESP32 20/55 - Module Ìṣàkóso Líne | SunFounder's ESP32 IoT Learning kit
Nínú ẹ̀kọ́ yìí, a óò kọ́ bí a ṣe lè lo módúùlù ESP32 pẹ̀lú módúùlù ìtọ̀nà ìlà láti ṣàwárí àwọn ìlà dúdú lórí ojú àlà funfun. Agbára yìí ṣe pàtàkì fún àwọn ohun èlò bíi àwọn ọkọ̀ ayọ́kẹ́lẹ́ roboti tí wọ́n nílò láti tẹ̀lé ọ̀nà tí a yàn. Ní àfikún, a óò ṣepọ̀ buzzer kan tí yóò ṣiṣẹ́ nígbà tí módúùlù ìtọ̀nà ìlà bá ṣàwárí ìlà dúdú, tí yóò mú kí ẹ̀rọ ìdáhùn iṣẹ́ wa túbọ̀ dára. Fún ìṣàlàyé síwájú sí i, jọ̀wọ́ wo fídíò náà (nínú fídíò ní 0:00).
Àlàyé Ohun Èlò
Àwọn èròjà pàtàkì ti iṣẹ́ yìí ní módúùlù ESP32, módúùlù ìtọ̀nà ìlà, àti buzzer kan. Módúùlù ESP32 jẹ́ ẹ̀rọ aláṣẹ kékeré tí ó lágbára tí ó ní agbára Wi-Fi àti Bluetooth nínú rẹ̀, tí ó ń gba ọ̀pọ̀lọpọ̀ àwọn ohun èlò IoT lọ́wọ́. Módúùlù ìtọ̀nà ìlà ń lo ẹ̀rọ ìtànṣán infrared àti photoresistor láti ṣàwárí ìyàtọ̀ ní àwọ̀ ojú ilẹ̀ dá lórí bí ìmọ́lẹ̀ infrared tí ó ṣe àfihàn bá ṣe ní kíkankíkan.
Módúùlù ìtọ̀nà ìlà ń ṣiṣẹ́ nípa ṣíṣe ìtànṣán ìmọ́lẹ̀ infrared tí yóò ṣe àfihàn kúrò lórí ojú ilẹ̀ tí ó wà nísàlẹ̀ rẹ̀. Ojú ilẹ̀ tí ó dúdú, bíi dúdú, ń fa ìmọ́lẹ̀ púpọ̀ mọ́ra, tí ó sì ń mú kí ìtànṣán tí ó ní kíkankíkan dín kù, nígbà tí ojú ilẹ̀ tí ó mọ́lẹ̀, bíi funfun, bá ṣe àfihàn ìmọ́lẹ̀ púpọ̀, tí ó sì ń mú kí ìtànṣán tí ó ní kíkankíkan pọ̀ sí i. Ìyàtọ̀ yìí ni a ń ṣe àkópọ̀ rẹ̀ nípa lílo amplifier iṣẹ́ láti pinnu ipò ojú ilẹ̀ (dúdú tàbí funfun) àti láti jáde sìtẹ́ńbù ìfihàn tí ó bá mu.
Àwọn Àlàyé Datasheet
| Olùṣe | SunFounder |
|---|---|
| Nọ́mbà apá | TCRT5000 |
| Fóltì Logic/IO | 3.3 V sí 5 V |
| Ìtànṣán jáde (fún ikanni kọ̀ọ̀kan) | 20 mA |
| Ìtànṣán tí ó ga jùlọ (fún ikanni kọ̀ọ̀kan) | 50 mA |
| Àkókò ìdáhùn | < 10 ms |
| Ìwọ̀n ìṣàwárí | 1 cm sí 5 cm |
| Àkójọpọ̀ | Módúùlù pẹ̀lú àwọn pin orí |
| Àwọn àkíyèsí / àwọn oríṣi | Wọ́n sábà máa ń lò ó nínú àwọn roboti tí ń tẹ̀lé ìlà |
- Rí i dájú pé ìpèsè agbára tí ó tọ́ wà (3.3 V tàbí 5 V).
- Mú sẹ́nsọ̀ náà mọ́ fún àwọn ìwọ̀n tí ó péye.
- Ṣàtúnṣe ìmọ̀lára nípa lílo potentiometer tí ó wà lórí ìgbìmọ̀.
- Ṣàyẹ̀wò àwọn ìsopọ̀ láti yẹra fún àwọn ìfidánílẹ̀ tí ó ṣofo.
- Lo àwọn resistor ìfà síta bí ó bá pọn dandan fún àwọn ìwọ̀n tí ó dúró ṣinṣin.
- Dín àwọn ìdàrúdàpọ̀ kù láti àwọn orísun infrared tí ó wà ní àyíká.
Àwọn Ìtọ́nisọ́nà Ìsopọ̀

Láti sopọ̀ módúùlù ìtọ̀nà ìlà sí ESP32, bẹ̀rẹ̀ nípa ṣíṣopọ̀ pin ilẹ̀ ti módúùlù náà sí pin ilẹ̀ kan lórí ESP32. Lẹ́yìn náà, sopọ̀ pin V+ ti módúùlù ìtọ̀nà ìlà sí orísun agbára tí ó bá mu, yálà 3.3 V tàbí 5 V lórí ESP32. Pin ifihan (tí a fi S sàmì sí) yẹ kí ó sopọ̀ sí GPIO 14 lórí ESP32. Rí i dájú pé àwọn ìsopọ̀ wọ̀nyí dúró ṣinṣin kí o tó tẹ̀ síwájú.
Bí o bá ń lo buzzer kan, sopọ̀ ibi tí ó ní àìdá rẹ̀ sí ilẹ̀ àti ibi tí ó ní àdá rẹ̀ sí GPIO 27 lórí ESP32. Ìtòlẹ́sẹ̀ẹ́ yìí yóò jẹ́ kí buzzer náà ṣiṣẹ́ nígbà tí módúùlù ìtọ̀nà ìlà bá ṣàwárí ìlà dúdú. Rí i dájú pé o ṣàyẹ̀wò gbogbo àwọn ìsopọ̀ lẹ́ẹ̀mejì láti rí i dájú pé wọ́n bá àwọn pin tí a sọ nínú kóòdù náà mu.
Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà
Nísàlẹ̀ yìí ni àkópọ̀ pàtàkì kan láti inú kóòdù tí ó ṣètò módúùlù ìtọ̀nà ìlà. Àṣàyàn linePin ni a ṣàlàyé láti dúró fún pin tí a sopọ̀ sí módúùlù ìtọ̀nà ìlà.
const int linePin = 14; // Nọ́mbà pin módúùlù ìtọ̀nà ìlà
Ìlà yìí ń bẹ̀rẹ̀ linePin gẹ́gẹ́ bí pin 14, tí a óò lò láti ka ipò ìlà. Àṣàyàn lineState yóò di àbájáde tí ó wá láti ọ̀dọ̀ sẹ́nsọ̀ náà mú.
Nínú iṣẹ́ setup(), a ṣètò ipò pin fún linePin gẹ́gẹ́ bí ìfidánílẹ̀.
void setup() {
Serial.begin(115200);
pinMode(linePin, INPUT);
}
Èyí ń rí i dájú pé ESP32 lè ka ipò módúùlù ìtọ̀nà ìlà. Ìbánisọ̀rọ̀ serial ni a bẹ̀rẹ̀ ní ìwọ̀n baud 115200 fún ìṣàkíyèsí ìtẹ̀jáde.
Níkẹyìn, nínú iṣẹ́ loop(), a ń ka ipò módúùlù ìtọ̀nà ìlà nígbà gbogbo àti láti tẹ̀ àwọ̀ tí a ṣàwárí jáde.
void loop() {
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Dúdú");
delay(100);
} else {
Serial.println("Funfun");
delay(100);
}
}
Ìyípo yìí ń ṣàyẹ̀wò bí lineState bá jẹ́ HIGH (tí ó ń tọ́ka sí dúdú) tàbí LOW (tí ó ń tọ́ka sí funfun) àti láti tẹ̀ àbájáde náà jáde sí ìṣàkíyèsí serial. Kóòdù kíkún náà ń kó lọ sísàlẹ̀ nínú àpilẹ̀kọ yìí fún ìtọ́kasí rẹ.
Ìfihàn / Ohun Tí O Yẹ Kí O Rí
Nígbà tí ìsopọ̀ bá parí àti tí a ti gbé kóòdù náà sókè, o yẹ kí o rí ESP32 tí ó ń tẹ̀ "Dúdú" jáde nígbà tí módúùlù ìtọ̀nà ìlà bá wà lórí ojú ilẹ̀ dúdú, àti "Funfun" nígbà tí ó bá wà lórí ojú ilẹ̀ funfun. Ní àfikún, buzzer náà yóò dun nígbà tí módúùlù náà bá ṣàwárí ìlà dúdú, tí yóò pèsè ìkìlọ̀ tí a lè gbọ́. Ṣọ́ra fún àwọn ìtòlẹ́sẹ̀ẹ́ potentiometer, nítorí àwọn ìtòlẹ́sẹ̀ẹ́ tí ó ní ìmọ̀lára púpọ̀ lè mú kí ìwà àìdúróṣinṣin wáyé (nínú fídíò ní 10:00).
Àwọn Àkókò Fídíò
- 00:00 Ibẹ̀rẹ̀
- 2:22 Ìfihàn sí ẹ̀yà ìtọ́jú laini
- 5:10 Ojú-ewé ìwé àkọsílẹ̀
- 9:20 Àlàyé nípa ìsopọ̀ oníná
- 10:49 Àlàyé kóòdù Arduino
- 13:36 Yíyàn bọ́ọ̀dù ESP32 àti ibùdó COM nínú Arduino IDE
- 15:18 Ìfihàn
- 18:15 Iṣẹ́-ọwọ́: Ìtọ́jú laini pẹ̀lú buzzer
- 19:52 Kóòdù Arduino fún ìtọ́jú laini àti buzzer
- 20:52 Ìfihàn
// 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);
}
}
Common Course Links
Common Course Files
Orisun & itọkasi
-
Iwe-ẹriESP32 Tutorial 20/55 - SunFounder doc page for line trackingdocs.sunfounder.com
Fáìlìs📁
Ko si awọn faili ti o wa.