பாடம் 30/31: SunFounder Arduino கிட் இலிருந்து ஸ்மார்ட் கார் மூலம் கார்-8 வரி கண்காணிப்பு | ரோபோஜாக்ஸ்
இந்த வழிகாட்டி SunFounder 3-in-1 Arduino கிட்டைப் பயன்படுத்தி ஒரு கோடு பின்தொடரும் ஸ்மார்ட் காரை உருவாக்குவதற்கான படிகளை உங்களுக்கு விளக்குகிறது.
வீடியோவில் நிரூபிக்கப்பட்ட இந்தத் திட்டம், ஒரு வெள்ளை மேற்பரப்பில் கருப்பு கோட்டைக் கண்டறிய அகச்சிவப்பு கோடு கண்காணிப்பு தொகுதியைப் பயன்படுத்துகிறது, மேலும் காரை பாதையில் வைத்திருக்க இரண்டு மோட்டார்களைக் கட்டுப்படுத்துகிறது. இது ஒரு அடிப்படை ரோபாட்டிக்ஸ் திட்டமாகும், இது சென்சார் வாசிப்பு, நிபந்தனை தர்க்கம் மற்றும் மோட்டார் கட்டுப்பாடு பற்றி உங்களுக்குக் கற்பிக்கிறது. நிஜ உலக மதிப்பு மகத்தானது—இது கிடங்குகளில் தானியங்கி வழிகாட்டப்பட்ட வாகனங்களுக்கும் (AGVs), அறையின் விளிம்புகளைப் பின்தொடரும் ரோபோ வெற்றிட கிளீனர்களுக்கும், தன்னாட்சி வழிசெலுத்தலைக் கற்கும் கல்வி தளங்களுக்கும் அடிப்படையாகும். அடிப்படை கட்டுமானத்திற்கு அப்பால், இந்த கருத்தை நீங்கள் பின்வருவனவற்றிற்குப் பயன்படுத்தலாம்:

- ஒரு பிரமை அல்லது பாதையில் முன்வரையறுக்கப்பட்ட பாதையில் செல்லக்கூடிய எளிய ரோபோவை உருவாக்குதல்.
- சிறிய அலுவலகம் அல்லது ஆய்வகத்திற்கான தானியங்கி விநியோக வண்டியை உருவாக்குதல்.
- பள்ளி அறிவியல் திட்டம் அல்லது போட்டிக்கான கோடு பின்தொடரும் ரோபோவை உருவாக்குதல்.
- நிலை அடிப்படையில் பொருட்களை வரிசைப்படுத்தும் தொழில்துறை கன்வேயர் பெல்ட்டிற்கான அமைப்பை முன்மாதிரியாக உருவாக்குதல்.
வன்பொருள் மற்றும் கூறுகள்
இந்த திட்டத்தின் மையமானது கோடு கண்காணிப்பு தொகுதி ஆகும், இது அகச்சிவப்பு (IR) டிரான்ஸ்மிட்டர் மற்றும் ரிசீவர் ஜோடியைப் பயன்படுத்துகிறது. முக்கிய கூறுகளின் விவரம் இங்கே:
- கோடு கண்காணிப்பு தொகுதி (TCRT5000): இந்த சென்சார் அகச்சிவப்பு ஒளியை வெளியிடுகிறது மற்றும் பிரதிபலித்த தீவிரத்தை அளவிடுகிறது. தொகுதியில் ஒரு LM393 ஒப்பீட்டாளர் உள்ளது, இது அனலாக் சிக்னலை டிஜிட்டல் HIGH அல்லது LOW வெளியீடாக மாற்றுகிறது.
- மோட்டார்களுடன் கூடிய ஸ்மார்ட் கார் சேஸிஸ்: SunFounder கிட்டில் இரண்டு கியர் மோட்டார்கள் கொண்ட கார் சட்டகம் உள்ளது, அவை வாகனத்தை இயக்க Arduino ஆல் கட்டுப்படுத்தப்படுகின்றன.
- Arduino போர்டு: செயல்பாட்டின் "மூளை", சென்சாரைப் படித்து மோட்டார்களுக்கு கட்டளைகளை அனுப்புகிறது.
- மோட்டார் டிரைவர் (காரின் ஷீல்டில்): இந்த சர்க்யூட் Arduino இன் குறைந்த சக்தி பின்கள் அதிக மின்னோட்ட மோட்டார்களைக் கட்டுப்படுத்த அனுமதிக்கிறது.
வயரிங் வழிகாட்டி
கோடு கண்காணிப்பு தொகுதிக்கான வயரிங் எளிதானது. வீடியோ பின்வரும் இணைப்புகளை நிரூபிக்கிறது (வீடியோவில் 04:04 இல்):
- லைன் டிராக்கர் VCC (நடுத்தர பின்): Arduino இன் 5V பின்னுடன் இணைக்கவும்.
- லைன் டிராக்கர் GND (இடது பின்): Arduino இன் GND பின்னுடன் இணைக்கவும்.
- லைன் டிராக்கர் OUT (வலது பின்): Arduino இன் டிஜிட்டல் பின் 2 உடன் இணைக்கவும்.
மோட்டார்கள் காரின் ஷீல்டில் உள்ள மோட்டார் டிரைவருடன் இணைக்கப்பட்டுள்ளன. குறியீட்டில், வலது மோட்டார் பின்கள் 5 மற்றும் 6 ஆல் கட்டுப்படுத்தப்படுகிறது, இடது மோட்டார் பின்கள் 9 மற்றும் 10 ஆல் கட்டுப்படுத்தப்படுகிறது, வீடியோ நிரூபணத்தில் காட்டப்பட்டுள்ளபடி (வீடியோவில் 12:28 இல்).
குறியீடு விளக்கம்
குறியீடு லைன் டிராக்கரிலிருந்து டிஜிட்டல் சிக்னலைப் படித்து அதற்கேற்ப மோட்டார்களைக் கட்டுப்படுத்த வடிவமைக்கப்பட்டுள்ளது. முக்கிய பயனர்-உள்ளமைக்கக்கூடிய பகுதிகள் இங்கே:
const int in1 = 5; // in1,2 வலது மோட்டாருக்கு
const int in2 = 6;
const int in3 = 9; // in3,4 இடது மோட்டாருக்கு
const int in4 = 10;
const int lineTrack = 2;
- மோட்டார் பின்கள் (in1, in2, in3, in4): இந்த மாறிலிகள் எந்த Arduino பின்கள் மோட்டார் டிரைவருடன் இணைக்கப்பட்டுள்ளன என்பதை வரையறுக்கின்றன. உங்கள் வயரிங் வேறுபட்டால், உங்கள் அமைப்புடன் பொருந்த இந்த மதிப்புகளை மாற்ற வேண்டும்.
- லைன் டிராக்கர் பின் (lineTrack): இது சென்சாரின் சிக்னல் வெளியீட்டுடன் இணைக்கப்பட்ட டிஜிட்டல் பின்னை வரையறுக்கிறது. சென்சார் கருப்பு அல்லது வெள்ளை மேற்பரப்பில் உள்ளதா என்பதை தீர்மானிக்க குறியீடு இந்த பின்னைப் படிக்கிறது.
முக்கிய லூப்பில், காரின் திருப்பு வேகத்தைக் கட்டுப்படுத்த speed மாறியை நீங்கள் சரிசெய்யலாம். மதிப்பு 0 முதல் 255 வரை இருக்கும், அதிக மதிப்பு காரை வேகமாக திருப்புகிறது.
int speed = 150;//0 முதல் 255 வரை
தர்க்கம் எளிது: சென்சார் HIGH (கருப்பு கோடு) படித்தால், கார் இடதுபுறம் திரும்புகிறது; இல்லையெனில், வலதுபுறம் திரும்புகிறது. moveLeft() மற்றும் moveRight() என்ற தனிப்பயன் செயல்பாடுகள் இதை அடைய மோட்டார்களைக் கட்டுப்படுத்துகின்றன. எடுத்துக்காட்டாக, இடதுபுறம் திரும்ப, வலது மோட்டார் சுழலும் போது இடது மோட்டார் நின்று, காரை சுழற்றுகிறது. இந்த நடத்தை வீடியோவில் விரிவாக விளக்கப்பட்டுள்ளது (வீடியோவில் 10:39 இல்).
கருப்பு கோட்டில் லைன் டிராக்கரை நிலைநிறுத்துதல். உணர்திறனையும் சரிசெய்தல்.
நேரடி திட்ட நிரூபணம்
வீடியோ கோடு பின்தொடரும் காரின் நேரடி நிரூபணத்துடன் முடிகிறது (வீடியோவில் 13:13 இல்). கார் ஒரு கருப்பு பாதையில் வைக்கப்படுகிறது, மேலும் சென்சார் நேரடியாக கோட்டின் மேல் நிலைநிறுத்தப்படுகிறது. கார் நகரும் போது, சென்சார் கருப்பு கோடு மற்றும் வெள்ளை பின்னணியைக் கண்டறிந்து, அதன் திசையை சரிசெய்ய மோட்டார்களுக்கு சிக்னல்களை அனுப்புகிறது. நிரூபணம் கார் ஒரு முழு வட்டத்தை வெற்றிகரமாக முடிப்பதைக் காட்டுகிறது, இது எளிய இடது/வலது திருத்த தர்க்கத்தின் செயல்திறனை நிரூபிக்கிறது.
அத்தியாயங்கள்
- [00:00] வரி கண்காணிப்பு அறிமுகம்
- [01:09] வரி கண்காணிப்பு தொகுதி எவ்வாறு செயல்படுகிறது
- [04:04] வரி கண்காணிப்பு தொகுதியை இணைத்தல்
- [04:23] சீரியல் மானிட்டருடன் சென்சாரை சோதித்தல்
- [07:27] வரி பின்தொடர்தல் தர்க்கத்தைப் புரிந்துகொள்ளுதல்
- [09:08] வரி பின்தொடர்தல் காருக்கான குறியீடு
- [11:37] வரி பின்தொடர்தல் காரின் செயல்விளக்கம்
- [13:13] கருப்பு பாதையில் நேரடி சோதனை
/*
this is code for the tutorial: Lesson 30/31: Car-8 Line Tracking by Smart Car from SunFounder Arduino Kit
YouTube video: https://www.youtube.com/watch?v=Cp2rD5RkYug
Get the code from: 📚⬇️ Download and resource page https://robojax.com/RJT613
www.robojax.com
*/
const int in1 = 5; // in1,2 for right motor
const int in2 = 6;
const int in3 = 9; // in3,4 for left motor
const int in4 = 10;
const int lineTrack = 2;
void setup() {
Serial.begin(9600);
//motor
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
//line track
pinMode(lineTrack, INPUT);
}
void loop() {
int speed = 150;//0 to 255
int lineColor = digitalRead(lineTrack); // 0:white 1:black
// Serial.println(lineColor); //print on the serial monitor
if (lineColor) {
Serial.print("Black ");
moveLeft(speed);
} else {
Serial.print("White ");
moveRight(speed);
}
}
void moveLeft(int speed) {
Serial.println("LEFT");
analogWrite(in1, 0);
analogWrite(in2, speed);
analogWrite(in3, 0);
analogWrite(in4, 0);
}
void moveRight(int speed) {
Serial.println("RIGHT");
analogWrite(in1, 0);
analogWrite(in2, 0);
analogWrite(in3, speed);
analogWrite(in4, 0);
}
Common Course Links
Common Course Files
வளங்கள் மற்றும் மேற்கோள்கள்
இன்னும் எந்த வளங்களும் இல்லை.
கோப்புகள்📁
கோப்புகள் கிடைக்கவில்லை.