Search Code

Moduli ya Kufuatilia Mstari wa ESP32 | Kifurushi cha Kujifunza cha IoT cha SunFounder cha ESP32

Moduli ya Kufuatilia Mstari wa ESP32 | Kifurushi cha Kujifunza cha IoT cha SunFounder cha ESP32

Katika mafunzo haya, tutajifunza jinsi ya kutumia moduli ya ESP32 pamoja na moduli ya kufuatilia mstari kutambua mistari myeusi kwenye uso mweupe. Uwezo huu ni muhimu kwa programu kama vile magari ya roboti yanayohitaji kufuata njia iliyoteuliwa. Zaidi ya hayo, tutaunganisha buzzer inayowasha wakati moduli ya kufuatilia mstari inapotambua mstari mweusi, ikiboresha utaratibu wa maoni wa mradi wetu. Kwa ufafanuzi zaidi, tafadhali rejea video (katika video saa 0:00).

line_track

Vifaa Vimeelezwa

Vipengele vikuu vya mradi huu vinajumuisha moduli ya ESP32, moduli ya kufuatilia mstari, na buzzer. Moduli ya ESP32 ni kidhibiti kidogo chenye nguvu chenye uwezo wa Wi-Fi na Bluetooth uliojengewa ndani, kinachoruhusu anuwai ya programu za IoT. Moduli ya kufuatilia mstari hutumia emitter ya infrared na photoresistor kutambua tofauti za rangi ya uso kulingana na nguvu ya mwanga wa infrared unaoakisiwa.

Moduli ya kufuatilia mstari hufanya kazi kwa kutoa mwanga wa infrared unaoakisi kutoka kwenye uso ulio chini yake. Uso mweusi zaidi, kama mweusi, hufyonza mwanga zaidi, na kusababisha nguvu ya chini ya kuakisi, wakati uso mwepesi, kama mweupe, huakisi mwanga zaidi, ukitoa nguvu ya juu. Tofauti hii inachakatwa na amplifier ya uendeshaji kuamua hali ya uso (mweusi au mweupe) na kutoa ishara inayolingana.

Maelezo ya Datasheet

Mtengenezaji SunFounder
Nambari ya sehemu TCRT5000
Voltage ya Logic/IO 3.3 V hadi 5 V
Mkondo wa pato (kwa kila chaneli) 20 mA
Mkondo wa kilele (kwa kila chaneli) 50 mA
Muda wa kujibu < 10 ms
Masafa ya kutambua 1 cm hadi 5 cm
Kifurushi Moduli yenye pini za kichwa
Vidokezo / lahaja Inatumika kwa kawaida katika roboti zinazofuata mstari

 

  • Hakikisha ugavi wa nishati sahihi (3.3 V au 5 V).
  • Weka sensor ikiwa safi kwa usomaji sahihi.
  • Rekebisha unyeti kwa kutumia potentiometer iliyojengewa ndani.
  • Angalia miunganisho ili kuepuka pembejeo zinazoelea.
  • Tumia resistors za kuvuta juu ikiwa ni lazima kwa usomaji thabiti.
  • Punguza usumbufu kutoka kwa vyanzo vya infrared vya mazingira.

Maagizo ya Wiring

ESP32-20_line-tracking-wiring

Ili kuunganisha moduli ya kufuatilia mstari kwenye ESP32, anza kwa kuunganisha pini ya ardhi ya moduli kwenye pini ya ardhi kwenye ESP32. Kisha, unganisha pini ya V+ ya moduli ya kufuatilia mstari kwenye chanzo cha nishati kinachofaa, ama 3.3 V au 5 V kwenye ESP32. Pini ya ishara (iliyoandikwa kama S) inapaswa kuunganishwa kwenye GPIO 14 kwenye ESP32. Hakikisha miunganisho hii ni salama kabla ya kuendelea.

Ikiwa unatumia buzzer, unganisha terminal yake hasi kwenye ardhi na terminal chanya kwenye GPIO 27 kwenye ESP32. Mpangilio huu unaruhusu buzzer kuwasha wakati moduli ya kufuatilia mstari inapotambua mstari mweusi. Hakikisha umeangalia mara mbili miunganisho yote ili kuhakikisha inalingana na pini zilizobainishwa kwenye msimbo.

ESP32-20_line-tracking-schemtaic

Mifano ya Msimbo & Maelezo

Hapo chini ni sehemu muhimu kutoka kwenye msimbo inayoweka moduli ya kufuatilia mstari. Kigezo linePin kinafafanuliwa kuwakilisha pini iliyounganishwa kwenye moduli ya kufuatilia mstari.

const int linePin = 14;  // Nambari ya pini ya moduli ya kufuatilia mstari

Mstari huu huanzisha linePin kama pini 14, ambayo itatumika kusoma hali ya mstari. Kigezo lineState kitashikilia matokeo kutoka kwenye sensor.

Katika kazi ya setup(), tunasanidi hali ya pini kwa linePin kama pembejeo.

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

Hii inahakikisha kwamba ESP32 inaweza kusoma hali ya moduli ya kufuatilia mstari. Mawasiliano ya serial yanaanzishwa kwa kiwango cha baud cha 115200 kwa ufuatiliaji wa pato.

Hatimaye, katika kazi ya loop(), tunasoma hali ya moduli ya kufuatilia mstari kila wakati na kuchapisha rangi iliyotambuliwa.

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

Kitanzi hiki kinaangalia ikiwa lineState ni HIGH (ikionyesha mweusi) au LOW (ikionyesha mweupe) na kuchapisha matokeo kwenye ufuatiliaji wa serial. Msimbo kamili unapakia chini ya makala kwa kumbukumbu yako.

Maonyesho / Nini cha Kutarajia

Mara tu wiring itakapokamilika na msimbo kupakiwa, unapaswa kuona ESP32 ikichapisha "Black" wakati moduli ya kufuatilia mstari iko juu ya uso mweusi, na "White" wakati iko juu ya uso mweupe. Zaidi ya hayo, buzzer itasikika wakati moduli inapotambua mstari mweusi, ikitoa tahadhari ya kusikika. Kuwa makini na mipangilio ya potentiometer, kwani mipangilio nyeti kupita kiasi inaweza kusababisha tabia isiyo ya kawaida (katika video saa 10:00).

Vidokezo vya Muda wa Video

  • 00:00 Anza
  • 2:22 Utangulizi wa moduli ya kufuatilia mstari
  • 5:10 Ukurasa wa nyaraka
  • 9:20 Uelekezaji wa waya umeelezwa
  • 10:49 Msimbo wa Arduino umeelezwa
  • 13:36 Kuchagua bodi ya ESP32 na mlango wa COM katika Arduino IDE
  • 15:18 Maonyesho
  • 18:15 Mradi: Kufuatilia mstari kwa kengele
  • 19:52 Msimbo wa Arduino wa kufuatilia mstari na kengele
  • 20:52 Maonyesho

Bilder

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
Språk: 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);
  }
}

Resurser och referenser

Filer📁

Inga filer tillgängliga.