Raadi Koodka

Tutorial ESP32 20/55 - Module Raadka Sadka | Qalabka Barashada IoT ee SunFounder ee ESP32

Tutorial ESP32 20/55 - Module Raadka Sadka | Qalabka Barashada IoT ee SunFounder ee ESP32

Cashigarkani, waxaan ku baran doonaa sida loo isticmaalo module-ka ESP32 oo ay weheliso module-ka raadraaca khadka si loo ogaado khadadka madow ee dusha cad. Awooddan ayaa muhiim u ah codsiyada sida baabuurta robotic-ka ee u baahan inay raacaan waddo loo qoondeeyay. Intaa waxaa dheer, waxaan ku daraynaa buzzer ka shaqeeya marka module-ka raadraaca khadka uu ogaado khadka madow, taasoo kor u qaadaysa habka jawaab-celinta mashruucayaga. Sii faahfaahin dheeri ah, fadlan fiiri fiidiyowga (fiidiyowga 0:00).

line_track

Qalabka La Sharxay

Qaybaha ugu muhiimsan ee mashruucan waxaa ka mid ah module-ka ESP32, module-ka raadraaca khadka, iyo buzzer. Module-ka ESP32 waa kontorool yar oo xoog badan oo leh awoodo Wi-Fi iyo Bluetooth oo ku dhex jira, taasoo u oggolaanaysa codsiyo kala duwan oo IoT ah. Module-ka raadraaca khadka wuxuu isticmaalaa iftiin-dhaliye infrared ah iyo photoresistor si uu u ogaado kala duwanaanshaha midabka dusha ku saleysan xoojinta iftiinka infrared ee ka tarjuma.

Module-ka raadraaca khadka wuxuu u shaqeeyaa isagoo sii daaya iftiin infrared ah oo ka tarjuma dusha hoostiisa. Dusha madow, sida madow, ayaa nuugaysa iftiin badan, taasoo keenta xoojin tarjumaad oo hooseysa, halka dusha khafiifka ah, sida cad, ay ka tarjumayso iftiin badan, taasoo soo saarta xoojin sare. Farqigaani waxaa lagu habaynayaa amplifier shaqeeya si loo go'aamiyo xaaladda dusha (madow ama cad) oo loo soo saaro calaamad u dhiganta.

Faahfaahinta Xogta

Soo-saare SunFounder
Nambarka qaybta TCRT5000
Danabka Logic/IO 3.3 V ilaa 5 V
Korantada soo-saarka (kanal kasta) 20 mA
Korantada ugu sarreysa (kanal kasta) 50 mA
Waqtiga jawaabta < 10 ms
Xadka ogaanshaha 1 cm ilaa 5 cm
Baakad Module leh biinanka madaxa
Xusuusin / noocyo kale Badanaa waxaa loo isticmaalaa robots-ka raacaya khadka

 

  • Hubi inaad siiso koronto ku habboon (3.3 V ama 5 V).
  • Ka ilaali sensor-ka inuu nadiif ahaado si aad u hesho akhrin sax ah.
  • Hagaaji xasaasiyadda adigoo isticmaalaya potentiometer-ka saaran.
  • Hubi isku-xirnaanshaha si aad uga fogaato gelinta sabeynaysa.
  • Isticmaal resistors-ka kor u qaadaya haddii loo baahdo si aad u hesho akhrin deggan.
  • Yaree faragelinta ilaha infrared-ka ee agagaarka ah.

Tilmaamaha Isku-Xirka

ESP32-20_line-tracking-wiring

Si aad ugu xirto module-ka raadraaca khadka ESP32, waxaad ku bilowdaa adigoo ku xira biinka dhulka ee module-ka biin dhul ah oo ku yaal ESP32. Kadib, ku xir biinka V+ ee module-ka raadraaca khadka ilaha koronto ee ku habboon, ha ahaato 3.3 V ama 5 V oo ku yaal ESP32. Biinka signal-ka (oo lagu calaamadeeyay S) waa in lagu xiraa GPIO 14 ee ESP32. Hubi in isku-xirnaanshahani ay yihiin kuwo adag ka hor intaadan sii socon.

Haddii aad isticmaalayso buzzer, ku xir terminal-kiisa taban ee dhulka iyo terminal-kiisa togan ee GPIO 27 ee ESP32. Qaabkani wuxuu u oggolaanayaa buzzer-ka inuu shaqeeyo marka module-ka raadraaca khadka uu ogaado khad madow. Hubi inaad laba jeer hubiso dhammaan isku-xirnaanshaha si ay u dhigmaan biinanka lagu qeexay koodhka.

ESP32-20_line-tracking-schemtaic

Tusaalooyinka Koodhka & Sharaxaad

Hoos waxaa ku qoran qayb muhiim ah oo ka mid ah koodhka oo dejisa module-ka raadraaca khadka. Doorsoomaha linePin ayaa lagu qeexay inuu matalo biinka ku xiran module-ka raadraaca khadka.

const int linePin = 14;  // Tirada biinka module-ka raadraaca khadka

Sadarkan waxay bilaabaysaa linePin sida biin 14, kaas oo loo isticmaali doono inuu akhriyo xaaladda khadka. Doorsoomaha lineState ayaa hayn doona natiijada ka timaadda sensor-ka.

Gudaha shaqada setup(), waxaanu qaabaynaynaa qaabka biinka ee linePin sida gelin.

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

Tani waxay hubinaysaa in ESP32 uu akhriyi karo xaaladda module-ka raadraaca khadka. Isgaarsiinta serial-ka waxaa lagu bilaabay heerka baud-ka 115200 si loo kormeero soo-saarka.

Ugu dambeyntii, gudaha shaqada loop(), waxaanu si joogto ah u akhrinaynaa xaaladda module-ka raadraaca khadka oo daabacaynaa midabka la ogaaday.

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

Loop-kani wuxuu hubinayaa haddii lineState uu yahay HIGH (oo muujinaya madow) ama LOW (oo muujinaya cad) oo daabacayaa natiijada kormeeraha serial-ka. Koodhka buuxa ayaa hoos ku shubmayaa maqaalka si aad u tixraacdo.

Muuujin / Waxa Laga Filan Karo

Marka isku-xirnaanshuhu dhammaystiro oo koodhka la soo geliyo, waxaad arki doontaa ESP32 oo daabacaya "Black" marka module-ka raadraaca khadka uu ku yaal dusha madow, iyo "White" marka uu ku yaal dusha cad. Intaa waxaa dheer, buzzer-ku wuxuu dhawaaqi doonaa marka module-ku ogaado khadka madow, isagoo siinaya digniin maqal ah. Ka digtoonow dejinta potentiometer-ka, sababtoo ah dejinta xasaasiyadda xad-dhaafka ah waxay u horseedi kartaa dhaqan aan kala go 'lahayn (fiidiyowga 10:00).

Waqtiyada Fiidiyowga

  • 00:00 Bilow
  • 2:22 Hordhac ku saabsan module-ka raadraaca khadka
  • 5:10 Bogga dukumeentiga
  • 9:20 Sharaxaadda xiriirinta (wiring)
  • 10:49 Sharaxaadda koodhka Arduino
  • 13:36 Doorashada guddiga ESP32 iyo dekedda COM ee Arduino IDE
  • 15:18 Baraarujin (demonstration)
  • 18:15 Mashruuc: Raadraaca khadka oo leh buzzer
  • 19:52 Koodhka Arduino ee raadraaca khadka iyo buzzer
  • 20:52 Baraarujin

Sawirro

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
Luqadda: 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);
  }
}

Kheyraadka & Tixraacyada

Faylasha📁

Fayl la'aan.