Search Code

ESP32 பயிற்சி 20/55 - வரி கண்காணிப்பு தொகுதி | SunFounder இன் ESP32 IoT கற்றல் கிட்

ESP32 பயிற்சி 20/55 - வரி கண்காணிப்பு தொகுதி | SunFounder இன் ESP32 IoT கற்றல் கிட்

இந்த டுடோரியலில், வெள்ளை மேற்பரப்பில் கருப்பு கோடுகளைக் கண்டறிய ESP32 தொகுதியுடன் சேர்த்து லைன் டிராக்கிங் தொகுதியை எவ்வாறு பயன்படுத்துவது என்பதைக் கற்றுக்கொள்வோம். நியமிக்கப்பட்ட பாதையைப் பின்பற்ற வேண்டிய ரோபோடிக் கார்கள் போன்ற பயன்பாடுகளுக்கு இந்த திறன் அவசியம். கூடுதலாக, லைன் டிராக்கிங் தொகுதி கருப்பு கோட்டைக் கண்டறியும் போது செயல்படும் ஒரு பஸரை ஒருங்கிணைப்போம், இது எங்கள் திட்டத்தின் பின்னூட்ட வழிமுறையை மேம்படுத்துகிறது. மேலும் தெளிவுபடுத்துவதற்கு, வீடியோவைப் பார்க்கவும் (வீடியோவில் 0:00 இல்).

line_track

வன்பொருள் விளக்கம்

இந்த திட்டத்தின் முதன்மை கூறுகளில் ESP32 தொகுதி, ஒரு லைன் டிராக்கிங் தொகுதி மற்றும் ஒரு பஸர் ஆகியவை அடங்கும். ESP32 தொகுதி என்பது உள்ளமைக்கப்பட்ட Wi-Fi மற்றும் புளூடூத் திறன்களைக் கொண்ட ஒரு சக்திவாய்ந்த மைக்ரோகண்ட்ரோலர் ஆகும், இது பரந்த அளவிலான IoT பயன்பாடுகளை அனுமதிக்கிறது. லைன் டிராக்கிங் தொகுதி, பிரதிபலிக்கப்பட்ட அகச்சிவப்பு ஒளியின் தீவிரத்தின் அடிப்படையில் மேற்பரப்பு நிறத்தில் உள்ள வேறுபாடுகளைக் கண்டறிய ஒரு அகச்சிவப்பு உமிழ்ப்பான் மற்றும் ஃபோட்டோரெசிஸ்டரைப் பயன்படுத்துகிறது.

லைன் டிராக்கிங் தொகுதி, அதன் கீழ் உள்ள மேற்பரப்பில் இருந்து பிரதிபலிக்கும் அகச்சிவப்பு ஒளியை வெளியிடுவதன் மூலம் செயல்படுகிறது. கருப்பு போன்ற இருண்ட மேற்பரப்பு அதிக ஒளியை உறிஞ்சுகிறது, இதன் விளைவாக குறைந்த பிரதிபலிப்பு தீவிரம் ஏற்படுகிறது, அதே நேரத்தில் வெள்ளை போன்ற இலகுவான மேற்பரப்பு அதிக ஒளியை பிரதிபலிக்கிறது, அதிக தீவிரத்தை உருவாக்குகிறது. இந்த வேறுபாடு ஒரு செயல்பாட்டு பெருக்கியால் செயலாக்கப்பட்டு மேற்பரப்பின் நிலையை (கருப்பு அல்லது வெள்ளை) தீர்மானித்து அதற்கேற்ப ஒரு சமிக்ஞையை வெளியிடுகிறது.

டேட்டாஷீட் விவரங்கள்

உற்பத்தியாளர் SunFounder
பகுதி எண் TCRT5000
லாஜிக்/IO மின்னழுத்தம் 3.3 V முதல் 5 V
வெளியீட்டு மின்னோட்டம் (ஒரு சேனலுக்கு) 20 mA
உச்ச மின்னோட்டம் (ஒரு சேனலுக்கு) 50 mA
பதில் நேரம் < 10 ms
கண்டறிதல் வரம்பு 1 cm முதல் 5 cm
பேக்கேஜ் ஹெடர் பின்களுடன் கூடிய தொகுதி
குறிப்புகள் / மாறுபாடுகள் லைன் பின்தொடரும் ரோபோக்களில் பொதுவாகப் பயன்படுத்தப்படுகிறது

 

  • சரியான மின்சார விநியோகத்தை உறுதி செய்யவும் (3.3 V அல்லது 5 V).
  • துல்லியமான அளவீடுகளுக்கு சென்சாரை சுத்தமாக வைத்திருங்கள்.
  • ஆன்போர்டு பொட்டென்டியோமீட்டரைப் பயன்படுத்தி உணர்திறனை சரிசெய்யவும்.
  • மிதக்கும் உள்ளீடுகளைத் தவிர்க்க இணைப்புகளைச் சரிபார்க்கவும்.
  • நிலையான அளவீடுகளுக்கு தேவைப்பட்டால் புல்-அப் ரெசிஸ்டர்களைப் பயன்படுத்தவும்.
  • சுற்றுப்புற அகச்சிவப்பு மூலங்களிலிருந்து குறுக்கீட்டைக் குறைக்கவும்.

வயரிங் வழிமுறைகள்

ESP32-20_line-tracking-wiring

லைன் டிராக்கிங் தொகுதியை ESP32 உடன் இணைக்க, தொகுதியின் கிரவுண்ட் பின்னை ESP32 இல் உள்ள ஒரு கிரவுண்ட் பின்னுடன் இணைப்பதன் மூலம் தொடங்கவும். பின்னர், லைன் டிராக்கிங் தொகுதியின் V+ பின்னை ESP32 இல் 3.3 V அல்லது 5 V போன்ற பொருத்தமான மின்சார மூலத்துடன் இணைக்கவும். சிக்னல் பின் (S எனக் குறிக்கப்பட்டது) ESP32 இல் GPIO 14 உடன் இணைக்கப்பட வேண்டும். தொடர்வதற்கு முன் இந்த இணைப்புகள் பாதுகாப்பாக இருப்பதை உறுதிசெய்யவும்.

நீங்கள் ஒரு பஸரைப் பயன்படுத்துகிறீர்கள் என்றால், அதன் எதிர்மறை முனையத்தை கிரவுண்டுடனும், நேர்மறை முனையத்தை ESP32 இல் GPIO 27 உடனும் இணைக்கவும். லைன் டிராக்கிங் தொகுதி ஒரு கருப்பு கோட்டைக் கண்டறியும் போது பஸர் செயல்பட இந்த அமைப்பு அனுமதிக்கிறது. குறியீட்டில் குறிப்பிடப்பட்ட பின்களுடன் பொருந்துவதை உறுதிசெய்ய அனைத்து இணைப்புகளையும் இருமுறை சரிபார்க்கவும்.

ESP32-20_line-tracking-schemtaic

குறியீடு எடுத்துக்காட்டுகள் & விளக்கம்

லைன் டிராக்கிங் தொகுதியை அமைக்கும் குறியீட்டின் முக்கிய பகுதி கீழே உள்ளது. லைன் டிராக்கிங் தொகுதியுடன் இணைக்கப்பட்ட பின்னைக் குறிக்க linePin மாறி வரையறுக்கப்படுகிறது.

const int linePin = 14;  // The number of the line track module pin

இந்த வரி 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);
  }
}

வளங்கள் மற்றும் மேற்கோள்கள்

கோப்புகள்📁

கோப்புகள் கிடைக்கவில்லை.