- Arduino அடிப்படையிலான மாடி சுத்தம் ரோபோவை உருவாக்க தேவையான பொருட்கள்
- போர்ட்டபிள் வெற்றிட கிளீனர்
- HC-SR04 மீயொலி சென்சார் தொகுதி
- படிக்கட்டு கண்டறிதலுக்கான மாடி சென்சார் (ஐஆர் சென்சார்)
- Arduino அடிப்படையிலான மாடி தூய்மையான ரோபோவின் சுற்று வரைபடம்
- Arduino அடிப்படையிலான மாடி சுத்தம் ரோபோவுக்கான சுற்றுகளை உருவாக்குதல்
- அர்டுயினோ
இன்றைய சூழ்நிலையில், நாங்கள் அனைவரும் எங்கள் வேலையில் மிகவும் பிஸியாக இருக்கிறோம், எங்கள் வீட்டை சரியாக சுத்தம் செய்ய எங்களுக்கு நேரம் இல்லை. சிக்கலுக்கான தீர்வு மிகவும் எளிதானது, நீங்கள் ஒரு உள்நாட்டு வெற்றிட சுத்திகரிப்பு ரோபோவை வாங்க வேண்டும், அதாவது ஈரோபோட் ரூம்பா போன்றவை உங்கள் வீட்டை ஒரு பொத்தானை அழுத்தினால் சுத்தம் செய்யும். ஆனால் இதுபோன்ற வணிக தயாரிப்புகள் மற்றும் பொதுவான பிரச்சினை, இது செலவு. எனவே இன்று, ஒரு எளிய மாடி தூய்மையான ரோபோவை உருவாக்க முடிவு செய்தோம் , இது எளிதானது அல்ல, ஆனால் சந்தையில் கிடைக்கும் வணிக தயாரிப்புகளுடன் ஒப்பிடும்போது மிகவும் குறைவு. நாங்கள் நீண்ட காலத்திற்கு முன்பு கட்டிய எங்கள் ஆர்டுயினோ வெற்றிட சுத்தம் ரோபோவை அடிக்கடி வாசகர்கள் நினைவில் வைத்திருக்கலாம், ஆனால் அது மிகவும் பருமனானது மற்றும் சுற்றுவதற்கு ஒரு பெரிய ஈய-அமில பேட்டரி தேவைப்பட்டது. புதிய Arduino Vacumum Cleaner நாங்கள் இங்கே உருவாக்கப் போகிறோம் சுருக்கமாகவும் நடைமுறை ரீதியாகவும் இருக்கும். அதற்கு மேல், இந்த ரோபோவில் மீயொலி சென்சார்கள் மற்றும் ஐஆர் ப்ராக்ஸிமிட்டி சென்சார் இருக்கும். அல்ட்ராசோனிக் சென்சார் ரோபோ தடைகளைத் தவிர்க்க அனுமதிக்கும், இதனால் அறை சரியாக சுத்தம் செய்யப்படும் வரை அது சுதந்திரமாக நகர முடியும், மேலும் படிக்கட்டுகளில் இருந்து விழுவதைத் தவிர்க்க அருகாமையில் உள்ள சென்சார் உதவும். இந்த அம்சங்கள் அனைத்தும் சுவாரஸ்யமானவை, இல்லையா? எனவே, தொடங்குவோம்.
எங்கள் முந்தைய கட்டுரைகளில் ஒன்றில், சுய சமநிலை ரோபோ, தானியங்கு மேற்பரப்பு கிருமிநாசினி ரோபோ, மற்றும் தடுக்கும் ரோபோவைத் தடுப்பது போன்ற பல போட்களை நாங்கள் செய்துள்ளோம். உங்களுக்கு சுவாரஸ்யமாகத் தெரிந்தால் அவற்றைச் சரிபார்க்கவும்.
Arduino அடிப்படையிலான மாடி சுத்தம் ரோபோவை உருவாக்க தேவையான பொருட்கள்
வெற்றிட சுத்திகரிப்பு ரோபோவின் வன்பொருள் பகுதியை உருவாக்க நாங்கள் மிகவும் பொதுவான கூறுகளைப் பயன்படுத்தியுள்ளதால், உங்கள் உள்ளூர் பொழுதுபோக்கு கடையில் உள்ள அனைத்தையும் நீங்கள் கண்டுபிடிக்க முடியும். அனைத்து கூறுகளின் படத்துடன் தேவையான பொருட்களின் முழுமையான பட்டியல் இங்கே.

- Arduino Pro Mini - 1
- HC-SR04 மீயொலி தொகுதி - 3
- எல் 293 டி மோட்டார் டிரைவர் - 1
- 5 வோல்ட் என் 20 மோட்டார்ஸ் மற்றும் பெருகிவரும் அடைப்புக்குறிகள் - 2
- என் 20 மோட்டார் சக்கரங்கள் - 2
- மாறு - 1
- LM7805 மின்னழுத்த சீராக்கி - 1
- 7.4 வி லித்தியம் அயன் பேட்டரி - 1
- ஐஆர் தொகுதி - 1
- பெர்போர்டு - 1
- ஆமணக்கு சக்கரம் - 1
- எம்.டி.எஃப்
- பொதுவான போர்ட்டபிள் வெற்றிட கிளீனர்
போர்ட்டபிள் வெற்றிட கிளீனர்
கூறு தேவை பிரிவில், நாங்கள் ஒரு சிறிய வெற்றிட சுத்திகரிப்பு பற்றி பேசினோம் , கீழே உள்ள படங்கள் அதை சரியாகக் காட்டுகின்றன. இது அமேசானிலிருந்து ஒரு சிறிய வெற்றிட சுத்திகரிப்பு ஆகும். இது மிகவும் எளிமையான பொறிமுறையுடன் வருகிறது. இது கீழே மூன்று பகுதிகளைக் கொண்டுள்ளது (தூசி சேமிப்பதற்கான ஒரு சிறிய அறை, நடுத்தர பகுதியில் மோட்டார், விசிறி மற்றும் பேட்டரி சாக்கெட் ஆகியவை அடங்கும் (பேட்டரிக்கு ஒரு கவர் அல்லது தொப்பி உள்ளது). இது ஒரு டிசி மோட்டார் மற்றும் ஒரு விசிறி. இந்த மோட்டார் ஒரு எளிய சுவிட்ச் வழியாக 3V (2 * 1.5 வோல்ட் ஏஏ பேட்டரிகள்) உடன் நேரடியாக இணைக்கப்பட்டுள்ளது. 7.4 வி பேட்டரி மூலம் எங்கள் ரோபோவை இயக்கும் போது, உள் பேட்டரியிலிருந்து இணைப்பைக் குறைத்து 5 வி யிலிருந்து அதை இயக்குவோம் மின்சாரம். எனவே, தேவையற்ற அனைத்து பகுதிகளையும் நாங்கள் அகற்றியுள்ளோம், மேலும் இரண்டு கம்பி தங்கியிருக்கும் மோட்டார் மட்டுமே. அதை கீழே உள்ள படத்தில் காணலாம்.

HC-SR04 மீயொலி சென்சார் தொகுதி
தடைகளைக் கண்டறிய, நாங்கள் பிரபலமான HC-SR04 மீயொலி தூர சென்சாரைப் பயன்படுத்துகிறோம் அல்லது அதைத் தடுக்கும் தவிர்ப்பு உணரிகள் என்று அழைக்கலாம். வேலை மிகவும் எளிதானது, முதலில், டிரான்ஸ்மிட்டர் தொகுதி ஒரு மீயொலி அலையை அனுப்புகிறது, இது காற்று வழியாக பயணிக்கிறது, ஒரு தடையைத் தாக்கி, பின்னால் குதித்து, ரிசீவர் அந்த அலையைப் பெறுகிறது. Arduino உடன் நேரத்தைக் கணக்கிடுவதன் மூலம், தூரத்தை நாம் தீர்மானிக்க முடியும். Arduino based Ultrasonic Distance Sensor திட்டத்தின் முந்தைய கட்டுரையில், இந்த சென்சாரின் செயல்பாட்டுக் கொள்கையை மிக முழுமையாக விவாதித்தோம். HC-SR04 மீயொலி தூர சென்சார் தொகுதி பற்றி மேலும் தெரிந்து கொள்ள விரும்பினால் நீங்கள் அதைப் பார்க்கலாம்.
படிக்கட்டு கண்டறிதலுக்கான மாடி சென்சார் (ஐஆர் சென்சார்)
அம்சங்கள் பிரிவில், ரோபோ படிக்கட்டுகளைக் கண்டறிந்து தன்னை வீழ்த்துவதைத் தடுக்கக்கூடிய ஒரு அம்சத்தைப் பற்றி பேசினோம். அதைச் செய்ய, நாங்கள் ஒரு ஐஆர் சென்சார் பயன்படுத்துகிறோம். ஐஆர் சென்சார் மற்றும் அர்டுயினோ இடையே ஒரு இடைமுகத்தை உருவாக்குவோம். ஐஆர் ப்ராக்ஸிமிட்டி சென்சாரின் வேலை மிகவும் எளிதானது, இது ஐஆர் எல்இடி மற்றும் ஃபோட்டோடியோடைக் கொண்டுள்ளது, ஐஆர் எல்இடி ஐஆர் ஒளியை வெளியிடுகிறது மற்றும் இந்த உமிழப்படும் ஒளியின் முன் ஏதேனும் தடைகள் வந்தால், அது பிரதிபலிக்கும், மேலும் பிரதிபலித்த ஒளி கண்டறியப்படும் ஒளிமின்னழுத்தத்தால். ஆனால் பிரதிபலிப்பிலிருந்து உருவாக்கப்படும் மின்னழுத்தம் மிகக் குறைவாக இருக்கும். அதை அதிகரிக்க, நாம் ஒரு ஒப்-ஆம்ப் ஒப்பீட்டாளரைப் பயன்படுத்தலாம், நாம் பெருக்கி வெளியீட்டைப் பெறலாம். ஒரு ஐஆர் தொகுதிமூன்று ஊசிகளைக் கொண்டுள்ளது - வி.சி.சி, தரை மற்றும் வெளியீடு. வழக்கமாக, சென்சார் முன் ஒரு தடையாக வரும்போது வெளியீடு குறைவாக செல்லும். எனவே, தரையைப் கண்டறிய இதைப் பயன்படுத்தலாம். ஒரு பிளவு நொடிக்கு, சென்சாரிலிருந்து உயர்ந்ததைக் கண்டறிந்தால், ரோபோவை நிறுத்தலாம், அதைத் திருப்பலாம் அல்லது படிக்கட்டில் இருந்து விழுவதைத் தடுக்க நாங்கள் எதையும் செய்யலாம். முந்தைய கட்டுரையில், ஐஆர் ப்ராக்ஸிமிட்டி சென்சார் தொகுதியின் பிரெட்போர்டு பதிப்பை நாங்கள் உருவாக்கியுள்ளோம், மேலும் செயல்படும் கொள்கையை விவரங்களில் விளக்கினோம், இந்த சென்சார் பற்றி மேலும் தெரிந்து கொள்ள விரும்பினால் நீங்கள் அதைப் பார்க்கலாம்.
Arduino அடிப்படையிலான மாடி தூய்மையான ரோபோவின் சுற்று வரைபடம்

தடைகளை கண்டறியும் மூன்று மீயொலி சென்சார்கள் எங்களிடம் உள்ளன. எனவே, மீயொலி சென்சார்களின் அனைத்து தளங்களையும் நாம் இணைக்க வேண்டும் மற்றும் அவற்றை பொதுவான நிலத்துடன் இணைக்க வேண்டும். மேலும், சென்சாரின் மூன்று வி.சி.சி யையும் இணைத்து பொதுவான வி.சி.சி முள் உடன் இணைக்கிறோம். அடுத்து, தூண்டுதல் மற்றும் எதிரொலி ஊசிகளை Arduino இன் PWM ஊசிகளுடன் இணைக்கிறோம். ஐஆர் தொகுதியின் வி.சி.சி யையும் 5 வி மற்றும் தரையில் அர்டுயினோவின் தரை முள் ஆகியவற்றுடன் இணைக்கிறோம், ஐஆர் சென்சார் தொகுதியின் வெளியீட்டு முள் அர்டுயினோவின் டிஜிட்டல் முள் டி 2 க்கு செல்கிறது. மோட்டார் டிரைவரைப் பொறுத்தவரை, நாங்கள் இரண்டு வினை ஊசிகளை 5v க்கும், இயக்கி மின்னழுத்த முள் 5V க்கும் இணைக்கிறோம், ஏனெனில் நாங்கள் 5 வோல்ட் மோட்டார்கள் பயன்படுத்துகிறோம். முந்தைய கட்டுரையில், நாங்கள் ஒரு ஆர்டுயினோ மோட்டார் டிரைவர் கேடயத்தை உருவாக்கியுள்ளோம், எல் 293 டி மோட்டார் டிரைவர் ஐசி பற்றி மேலும் அறிய நீங்கள் அதைப் பார்க்கலாம்.மற்றும் அதன் செயல்பாடுகள். அர்டுயினோ, அல்ட்ராசோனிக் தொகுதிகள், மோட்டார் டிரைவர் மற்றும் மோட்டார்கள் 5 வோல்ட்டில் வேலை செய்கின்றன, அதிக மின்னழுத்தம் அதைக் கொல்லும், நாங்கள் 7.4 வோல்ட் பேட்டரியைப் பயன்படுத்துகிறோம், அதை 5 வோல்ட்டாக மாற்ற, எல்எம் 7805 மின்னழுத்த சீராக்கி பயன்படுத்தப்படுகிறது. வெற்றிட கிளீனரை நேரடியாக பிரதான சுற்றுடன் இணைக்கவும்.
Arduino அடிப்படையிலான மாடி சுத்தம் ரோபோவுக்கான சுற்றுகளை உருவாக்குதல்
எனது ரோபோவைப் பற்றி சில யோசனைகளைப் பெறுவதற்காக, நான் ஆன்லைனில் வெற்றிட சுத்திகரிப்பு ரோபோக்களைத் தேடினேன், மேலும் வட்ட வடிவ ரோபோக்களின் சில படங்களையும் பெற்றேன். எனவே, ஒரு வட்ட வடிவ ரோபோவை உருவாக்க முடிவு செய்தேன். ரோபோவின் துரத்தல் மற்றும் உடலை உருவாக்க, எனக்கு நுரை தாள், எம்.டி.எஃப், அட்டை போன்ற பல விருப்பங்கள் உள்ளன. ஆனால் நான் எம்.டி.எஃப் தேர்வு செய்கிறேன், ஏனெனில் அது கடினமானது மற்றும் சில நீர் எதிர்ப்பு பண்புகளைக் கொண்டுள்ளது. நீங்கள் இதைச் செய்கிறீர்கள் என்றால், உங்கள் போட்டிற்கு எந்த பொருளைத் தேர்ந்தெடுப்பீர்கள் என்பதை நீங்கள் தீர்மானிக்கலாம்.
ரோபோவை உருவாக்க, நான் எம்.டி.எஃப் தாளை எடுத்து, பின்னர் 8 சி.எம் ஆரம் கொண்ட இரண்டு வட்டங்களை வரைந்தேன் , அந்த வட்டத்திற்குள், 4 சி.எம் ஆரம் கொண்ட மற்றொரு வட்டத்தையும் வரைந்துள்ளேன்வெற்றிட கிளீனரைப் பொருத்துவதற்கு. பின்னர் நான் வட்டங்களை வெட்டினேன். மேலும், நான் சக்கர பாதைக்கு பொருத்தமான துண்டுகளை வெட்டி அகற்றிவிட்டேன் (சிறந்த புரிதலுக்காக படங்களை பார்க்கவும்). இறுதியாக, ஆமணக்கு சக்கரத்திற்கு மூன்று சிறிய துளைகளை செய்தேன். அடுத்த கட்டம் அதன் அடைப்புக்குறிகளைப் பயன்படுத்தி அடித்தளத்தில் மோட்டார்கள் பொருத்துவதோடு, ஆமணக்கு சக்கரத்தை அதன் நிலைக்கு வைக்கவும். அதன் பிறகு, அல்ட்ராசோனிக் சென்சார்களை ரோபோவின் இடது, வலது மற்றும் நடுவில் வைக்கவும். மேலும், ஐஆர் தொகுதியை ரோபோவின் எதிர்மறையாக இணைக்கவும். சுவிட்சை வெளியில் சேர்க்க மறக்காதீர்கள். ரோபோவை உருவாக்குவது அவ்வளவுதான், இந்த கட்டத்தில் நீங்கள் குழப்பமடைகிறீர்கள் என்றால், பின்வரும் படங்களை நீங்கள் குறிப்பிடலாம்.

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

அர்டுயினோ
இந்த திட்டத்திற்கான முழுமையான குறியீடு ஆவணத்தின் முடிவில் கொடுக்கப்பட்டுள்ளது. இந்த Arduino குறியீடு Arduino அடிப்படையிலான மீயொலி தூர சென்சார் குறியீட்டைப் போன்றது, ஒரே மாற்றம் மாடி கண்டறிதலில் உள்ளது. பின்வரும் வரிகளில், குறியீடு எவ்வாறு செயல்படுகிறது என்பதை விளக்குகிறேன். இந்த வழக்கில், நாங்கள் எந்த கூடுதல் நூலகங்களையும் பயன்படுத்தவில்லை. கீழே நாம் படிப்படியாக குறியீட்டை விவரித்தோம். HC-SR04 சென்சாரிலிருந்து தூரத் தரவை டிகோட் செய்ய நாங்கள் எந்த கூடுதல் நூலகங்களையும் பயன்படுத்தவில்லை, ஏனெனில் இது மிகவும் எளிது. பின்வரும் வரிகளில், எப்படி என்பதை விவரித்தோம். முதலில், ஆர்டுயினோ போர்டுடன் இணைக்கப்பட்டுள்ள மூன்று மீயொலி தூர சென்சார்களுக்கான தூண்டுதல் முள் மற்றும் எக்கோ முள் ஆகியவற்றை நாம் வரையறுக்க வேண்டும். இந்த திட்டத்தில், எங்களிடம் மூன்று எக்கோ ஊசிகளும் மூன்று தூண்டுதல் ஊசிகளும் உள்ளன. 1 இடது சென்சார், 2 முன் சென்சார் மற்றும் 3 சரியான சென்சார் என்பதை நினைவில் கொள்க.
const int triPin1 = 3; const int echoPin1 = 5; const int triPin2 = 6; const int echoPin2 = 9; const int triPin3 = 10; const int echoPin3 = 11; int irpin = 2;
எல்லாவற்றையும் (int) வகை மாறிகள் மற்றும் காலத்திற்கு, மாறிகள் (நீண்ட) பயன்படுத்த நாங்கள் தேர்ந்தெடுத்தோம். மீண்டும், ஒவ்வொன்றிலும் மூன்று உள்ளன. மேலும், இயக்கத்தின் நிலையை சேமிப்பதற்கான ஒரு முழு எண்ணை நான் வரையறுத்துள்ளேன், அதைப் பற்றி இந்த பகுதியில் பின்னர் பேசுவோம்.
நீண்ட காலம் 1; நீண்ட காலம் 2; நீண்ட காலம் 3; int தூரம்; int தூரம்; int distanceright; int a = 0;
அடுத்து, அமைவு பிரிவில், பின்மோட்ஸ் () செயல்பாட்டைப் பயன்படுத்தி அனைத்து முன்னோக்கு ஊசிகளையும் உள்ளீடு அல்லது வெளியீடாக உருவாக்க வேண்டும். தொகுதியிலிருந்து மீயொலி அலைகளை அனுப்ப, தூண்டுதல் முள் உயர்வை இயக்க வேண்டும், அதாவது அனைத்து தூண்டுதல் ஊசிகளும் OUTPUT என வரையறுக்கப்பட வேண்டும். எதிரொலியைப் பெற, எதிரொலி ஊசிகளின் நிலையை நாம் படிக்க வேண்டும், எனவே அனைத்து எதிரொலி ஊசிகளும் INPUT என வரையறுக்கப்பட வேண்டும். மேலும், சரிசெய்தலுக்கான சீரியல் மானிட்டரை இயக்குகிறோம். ஐஆர்-தொகுதிகளின் நிலையைப் படிக்க, நான் இர்பினை உள்ளீடாக வரையறுத்துள்ளேன்.
pinMode (triPin1, OUTPUT); pinMode (triPin2, OUTPUT); pinMode (triPin3, OUTPUT); pinMode (echoPin1, INPUT); pinMode (echoPin2, INPUT); pinMode (echoPin3, INPUT); pinMode (இர்பின், INPUT);
இந்த டிஜிட்டல் ஊசிகளும் மோட்டார் இயக்கியின் உள்ளீட்டிற்கான OUTPUT என வரையறுக்கப்படுகின்றன.
pinMode (4, OUTPUT); pinMode (7, OUTPUT); pinMode (8, OUTPUT); pinMode (12, OUTPUT);
பிரதான சுழற்சியில், மூன்று சென்சார்களுக்கு மூன்று பிரிவுகள் உள்ளன. எல்லா பிரிவுகளும் ஒரே மாதிரியாக செயல்படுகின்றன, ஆனால் ஒவ்வொன்றும் வெவ்வேறு சென்சார்களுக்கு. இந்த பிரிவில், ஒவ்வொரு சென்சாரிலிருந்தும் தடையாக இருக்கும் தூரத்தைப் படித்து ஒவ்வொரு வரையறுக்கப்பட்ட முழு எண்ணிலும் சேமிக்கிறோம். தூரத்தைப் படிக்க, முதலில், தூண்டுதல் ஊசிகளும் தெளிவாக இருப்பதை உறுதி செய்ய வேண்டும், அதற்காக, தூண்டுதல் முள் 2 fors க்கு LOW ஆக அமைக்க வேண்டும். இப்போது, மீயொலி அலைகளை உருவாக்குவதற்கு, தூண்டுதல் முள் H ஐ 10 fors க்கு மாற்ற வேண்டும். இது மீயொலி ஒலியை அனுப்பும் மற்றும் பல்ஸ்இன் () செயல்பாட்டின் உதவியுடன், பயண நேரத்தை நாம் படிக்கலாம், மேலும் அந்த மதிப்பை மாறி “ கால அளவு ” இல் சேமிக்கலாம். இந்த செயல்பாடு 2 அளவுருக்களைக் கொண்டுள்ளது, முதலாவது எதிரொலி முள் பெயர் மற்றும் இரண்டாவது ஒன்றுக்கு நீங்கள் எழுதலாம்அதிக அல்லது குறைந்த. என்று உயர் வழிமுறையாக pulseIn () செயல்பாடு செல்ல முள் காத்திருப்பேன் உயர் ஒலி அலை தாக மற்றும் அது எண்ணும் துவங்கும் மூலம், ஏற்படும் பின்னர் அது செல்ல முள் காத்திருப்பேன் LOW ஐ ஒலி அலை எண்ணும் நிறுத்த இது முடிக்கும் போது. இந்த செயல்பாடு மைக்ரோ விநாடிகளில் துடிப்பின் நீளத்தை அளிக்கிறது. தூரத்தைக் கணக்கிடுவதற்கு, கால அளவை 0.034 ஆல் பெருக்கி (காற்றில் ஒலியின் வேகம் 340 மீ / வி) மற்றும் அதை 2 ஆல் வகுப்போம் (இது ஒலி அலையின் முன்னும் பின்னுமாக பயணிப்பதன் காரணமாகும்). இறுதியாக, ஒவ்வொரு சென்சாரின் தூரத்தையும் தொடர்புடைய முழு எண்களில் சேமிக்கிறோம்.
டிஜிட்டல்ரைட் (ட்ரிக்பின் 1, குறைந்த); delayMicroseconds (2); டிஜிட்டல்ரைட் (ட்ரிக்பின் 1, உயர்); delayMicroseconds (10); டிஜிட்டல்ரைட் (ட்ரிக்பின் 1, குறைந்த); கால 1 = துடிப்புஇன் (எக்கோபின் 1, உயர்); distanceleft = காலம் 1 * 0.034 / 2;
ஒவ்வொரு சென்சாரிலிருந்தும் தூரத்தைப் பெற்ற பிறகு, ஒரு if அறிக்கையின் உதவியுடன் மோட்டார்கள் கட்டுப்படுத்தலாம், இதனால் ரோபோவின் இயக்கத்தை கட்டுப்படுத்துகிறோம். இது மிகவும் எளிதானது, முதலில், நாங்கள் ஒரு தடையாக தூர மதிப்பைக் கொடுத்தோம், இந்த விஷயத்தில், இது 15cm ஆகும் (இந்த மதிப்பை உங்கள் விருப்பப்படி மாற்றவும்). பின்னர் அந்த மதிப்புக்கு ஏற்ப நிபந்தனைகளை வழங்கினோம். எடுத்துக்காட்டாக, இடது சென்சாருக்கு முன்னால் ஒரு தடையாக வரும்போது (அதாவது இடது சென்சாரின் தூரம் கீழே இருக்க வேண்டும் அல்லது 15 செ.மீ.க்கு சமமாக இருக்க வேண்டும்) மற்றும் மற்ற இரண்டு தூரங்களும் அதிகமாக இருக்கும் (அதாவது அந்த சென்சார்களுக்கு முன்னால் எந்த தடையும் இல்லை), பின்னர் டிஜிட்டல் எழுதும் செயல்பாட்டின் உதவியுடன், மோட்டார்கள் வலப்புறமாக இயக்கலாம். பின்னர், ஐஆர் சென்சாரின் நிலையை சோதித்தேன். ரோபோ தரையில் இருந்தால், ஐஆர் முள் மதிப்பு இருக்கும் LOW ஐ, மற்றும் என்றால், மதிப்பு இருக்கும்உயர். பின்னர் நான் அந்த மதிப்பை int s மாறியில் சேமித்தேன் . இந்த நிலைக்கு ஏற்ப ரோபோவை நாங்கள் கட்டுப்படுத்தப் போகிறோம்.
குறியீட்டின் இந்த பகுதி ரோபோவை முன்னோக்கி மற்றும் பின்னோக்கி நகர்த்த பயன்படுகிறது :
if (s == HIGH) { DigitalWrite (4, LOW); டிஜிட்டல்ரைட் (7, உயர்); டிஜிட்டல்ரைட் (8, குறைந்த); டிஜிட்டல்ரைட் (12, உயர்); தாமதம் (1000); a = 1; }
ஆனால் மோட்டார் பின்னோக்கி நகரும்போது, தளம் திரும்பி வந்து, போட் முன்னோக்கி நகரும், மற்றும் அது மீண்டும் மீண்டும் போட் சிக்கித் தவிக்கும் போது இந்த முறையில் ஒரு சிக்கல் உள்ளது. அதைக் கடக்க, தரையைப் புரிந்து கொள்ளாத பிறகு ஒரு மதிப்பை (1) எண்ணில் சேமிக்கிறோம். மற்ற இயக்கங்களுக்கும் இந்த நிலையை நாங்கள் சரிபார்க்கிறோம்.
தளம் இல்லாததைக் கண்டறிந்த பிறகு, ரோபோ முன்னோக்கி நகராது. அதற்கு பதிலாக, அது இடதுபுறமாக நகரும், இந்த வழியில், நாம் சிக்கலைத் தவிர்க்கலாம்.
if ((a == 0) && (s == LOW) && (தூரம் 15 && தூரமுனை> 15 && தொலைநோக்கு> 15))
மேற்கண்ட நிலையில். முதலில், ரோபோ தரையின் நிலை மற்றும் முழு மதிப்பை சரிபார்க்கும். அனைத்து நிபந்தனைகளும் திருப்தி அடைந்தால் மட்டுமே போட் முன்னேறும்.
இப்போது, மோட்டார் டிரைவருக்கான கட்டளைகளை எழுதலாம். இது வலது-மோட்டார் பின்னோக்கி மற்றும் இடது-மோட்டாரை முன்னோக்கி செலுத்துகிறது, இதன் மூலம் ரோபோவை வலது பக்கம் திருப்புகிறது.
குறியீட்டின் இந்த பகுதி ரோபோவை வலதுபுறமாக நகர்த்த பயன்படுகிறது:
டிஜிட்டல்ரைட் (4, உயர்); டிஜிட்டல்ரைட் (7, குறைந்த); டிஜிட்டல்ரைட் (8, உயர்); டிஜிட்டல்ரைட் (12, குறைந்த);
தளம் இல்லை என்று போட் கண்டறிந்தால், மதிப்பு 1 ஆக மாறுகிறது, மேலும் போட் இடதுபுறமாக நகரும். இடதுபுறம் திரும்பிய பிறகு, 'a' இன் மதிப்பு 1 இலிருந்து 0 ஆக மாறுகிறது.
if ((a == 1) && (s == LOW) - (s == LOW) && (distanceleft <= 15 && distancefront <= 15 && distanceright> 15) - (s == LOW) && (distanceleft <= 15 && தூரமுனை <= 15 && தொலைநோக்கு> 15) - (கள் == குறைந்த) && (தொலைதூர < 15)) { டிஜிட்டல்ரைட் (4, உயர்); டிஜிட்டல்ரைட் (7, குறைந்த); டிஜிட்டல்ரைட் (8, குறைந்த); டிஜிட்டல்ரைட் (12, உயர்); தாமதம் (100); a = 0; }
குறியீட்டின் இந்த பகுதி ரோபோவை இடதுபுறமாக நகர்த்த பயன்படுகிறது:
if ((s == LOW) && (தூரம்> 15 && தொலைவு < ங்கள் == LOW ஐ) && (distanceleft> 15 && distancefront <= 15 && distanceright> 15)) { digitalWrite (4, LOW ஐ); டிஜிட்டல்ரைட் (7, உயர்); டிஜிட்டல்ரைட் (8, உயர்); டிஜிட்டல்ரைட் (12, குறைந்த); }

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