- தேவையான கூறுகள்:
- மீயொலி சென்சார் தொகுதி:
- சுற்று விளக்கம்:
- எப்படி இது செயல்படுகிறது:
- நிரலாக்க விளக்கம்:
தொழில்கள், தொழிற்சாலைகள், மருத்துவமனைகள் போன்றவற்றில் பணிகளை தானியங்குபடுத்துவதன் மூலம் கனரக வேலைகளில் மனித முயற்சிகளைக் குறைக்கும் இயந்திரங்கள் ரோபோக்கள். சில கட்டுப்பாட்டு அலகு அல்லது புஷ் பொத்தான், ரிமோட், ஜாய்ஸ்டிக், பிசி, சைகைகள் போன்றவற்றைப் பயன்படுத்தி ரோபோக்கள் இயங்குகின்றன. கட்டுப்படுத்தி அல்லது செயலியைப் பயன்படுத்தி சில கட்டளையை இயக்குகிறது. ஆனால் இன்று நாம் ஒரு தானியங்கி ரோபோவுடன் இங்கு வந்துள்ளோம், இது எந்தவொரு வெளிப்புற நிகழ்வுகளும் இல்லாமல் அதன் பாதையில் உள்ள அனைத்து தடைகளையும் தவிர்த்து தன்னிச்சையாக நகரும், ஆம், ரோபோவைத் தவிர்ப்பது பற்றி பேசுகிறோம். இந்த திட்டத்தில், ரோபோவின் பாதையில் உள்ள பொருட்களைக் கண்டுபிடிப்பதற்காக ரோபோ மற்றும் அல்ட்ராசோனிக் சென்சார் ஆகியவற்றை இயக்க ராஸ்பெர்ரி பை மற்றும் மோட்டார் டிரைவரைப் பயன்படுத்தினோம்.
முன்னதாக நாங்கள் பல பயனுள்ள ரோபோக்களை உள்ளடக்கியுள்ளோம், அவற்றை எங்கள் ரோபாட்டிக்ஸ் திட்டங்கள் பிரிவில் காணலாம்.
தேவையான கூறுகள்:
- ராஸ்பெர்ரி பை
- மீயொலி சென்சார் தொகுதி HC-SR04
- ரோபோ சேஸ் திருகுடன் முடிந்தது
- டிசி மோட்டார்ஸ்
- எல் 293 டி ஐ.சி.
- சக்கரங்கள்
- ரொட்டி வாரியம்
- மின்தடை (1 கி)
- மின்தேக்கி (100nF)
- கம்பிகளை இணைக்கிறது
- மின்சாரம் அல்லது பவர் வங்கி
மீயொலி சென்சார் தொகுதி:
ஒரு தடையைத் தவிர்க்கும் ரோபோ ஒரு தானியங்கி ரோபோ மற்றும் எந்த ரிமோட்டையும் பயன்படுத்தி அதைக் கட்டுப்படுத்த தேவையில்லை. இந்த வகையான தானியங்கி ரோபோக்கள் தடையாக கண்டறிதல்கள், ஒலி கண்டுபிடிப்பான், வெப்ப கண்டறிதல் அல்லது உலோகக் கண்டுபிடிப்பாளர்கள் போன்ற சில 'ஆறாவது உணர்வு' சென்சார்களைக் கொண்டுள்ளன. அல்ட்ராசவுண்ட் சிக்னல்களைப் பயன்படுத்தி தடங்கல் கண்டறிதலை இங்கு செய்துள்ளோம். இந்த நோக்கத்திற்காக, மீயொலி சென்சார் தொகுதியைப் பயன்படுத்தியுள்ளோம்.
அல்ட்ராசோனிக் சென்சார்கள் பொதுவாக பொருட்களைக் கண்டறிந்து சென்சாரிலிருந்து தடையின் தூரத்தை தீர்மானிக்கப் பயன்படுகின்றன. தொட்டியில் நீர் நிலை அளவீட்டு, தூர அளவீட்டு, தடை தவிர்க்கும் ரோபோ போன்ற எந்தவொரு உடல் தொடர்பும் இல்லாமல் தூரத்தை அளவிட இது ஒரு சிறந்த கருவியாகும். எனவே இங்கே, பொருளைக் கண்டறிந்து அல்ட்ராசோனிக் சென்சார் மற்றும் ராஸ்பெர்ரி பை ஆகியவற்றைப் பயன்படுத்தி தூரத்தை அளந்தோம்.

அல்ட்ராசோனிக் சென்சார் HC-SR04 3 மிமீ துல்லியத்துடன் 2cm-400cm வரம்பில் தூரத்தை அளவிட பயன்படுகிறது. சென்சார் தொகுதி ஒரு மீயொலி டிரான்ஸ்மிட்டர், ரிசீவர் மற்றும் கட்டுப்பாட்டு சுற்று ஆகியவற்றைக் கொண்டுள்ளது. அல்ட்ராசோனிக் சென்சார் இரண்டு வட்டக் கண்களைக் கொண்டுள்ளது, அவற்றில் ஒன்று மீயொலி அலைகளை கடத்தவும் மற்றொன்று அதைப் பெறவும் பயன்படுத்தப்படுகிறது.
சென்சாருக்குத் திரும்புவதற்கு மீயொலி அலை எடுக்கும் நேரத்தின் அடிப்படையில் பொருளின் தூரத்தை நாம் கணக்கிட முடியும். ஒலியின் நேரம் மற்றும் வேகம் தெரிந்திருப்பதால், பின்வரும் சூத்திரங்களால் தூரத்தைக் கணக்கிடலாம்.
- தூரம் = (நேரம் x காற்றில் ஒலியின் வேகம் (343 மீ / வி)) / 2.
ஒரே தூரத்தை உள்ளடக்கிய அலை முன்னோக்கி மற்றும் பின்னோக்கி பயணிப்பதால் மதிப்பு இரண்டால் வகுக்கப்படுகிறது. ஆகவே தடையை அடைவதற்கான நேரம் மொத்த நேரத்தின் பாதி மட்டுமே.
எனவே கீழே உள்ள தடையிலிருந்து தூரத்தை (சென்டிமீட்டரில்) கணக்கிட்டுள்ளோம்:
pulse_start = time.time () போது GPIO.input (ECHO) == 1: # ECHO HIGH GPIO.output (led, false) pulse_end = time.time () pulse_duration = pulse_end - pulse_start தூரம் = துடிப்பு_ காலம் * 17150 தூரம் = சுற்று (தூரம், 2) avgDistance = avgDistance + தூரம்
எங்கே pulse_duration அனுப்பும் மற்றும் மீயொலி சமிக்ஞை பெறும் இடைப்பட்டதாகும்.
சுற்று விளக்கம்:
ராஸ்பெர்ரி பை பயன்படுத்தி ரோபோவைத் தவிர்ப்பதற்கு இந்த தடை மிகவும் எளிதானது. ஒரு அல்ட்ராசோனிக் சென்சார் தொகுதி, கண்டறிவதை பொருட்களை பயன்படுத்தப்படும், GPIO முள் 17 மற்றும் ராஸ்பெர்ரி பை 27 இணைக்கப்பட்டுள்ளன. ரோபோவின் மோட்டார்கள் ஓட்டுவதற்காக ஒரு மோட்டார் டிரைவர் ஐசி எல் 293 டி ராஸ்பெர்ரி பை 3 உடன் இணைக்கப்பட்டுள்ளது. மோட்டார் டிரைவரின் உள்ளீட்டு ஊசிகளான 2, 7, 10 மற்றும் 15 ஆகியவை முறையே ராஸ்பெர்ரி பை ஜிபிஐஓ முள் எண் 12, 16, 20 மற்றும் 21 உடன் இணைக்கப்பட்டுள்ளன. ரோபோவை இயக்க இரண்டு டிசி மோட்டார்கள் பயன்படுத்தினோம், இதில் ஒரு மோட்டார் மோட்டார் டிரைவர் ஐசியின் வெளியீட்டு முள் 3 & 6 உடன் இணைக்கப்பட்டுள்ளது, மற்றொரு மோட்டார் மோட்டார் டிரைவர் ஐசியின் பின் 11 & 14 இல் இணைக்கப்பட்டுள்ளது.

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

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

நிரலாக்க விளக்கம்:
நிரலுக்காக இங்கே பைதான் மொழியைப் பயன்படுத்துகிறோம். குறியீட்டுக்கு முன், பயனர் ராஸ்பெர்ரி பை கட்டமைக்க வேண்டும். ராஸ்பெர்ரி பை உடன் தொடங்குவதற்கும் பை இல் ராஸ்பியன் ஜெஸ்ஸி ஓஎஸ் நிறுவுவதற்கும் கட்டமைப்பதற்கும் எங்கள் முந்தைய பயிற்சிகளை நீங்கள் சரிபார்க்கலாம்.
இந்த திட்டத்தின் நிரலாக்க பகுதி அனைத்து செயல்பாடுகளையும் செய்ய மிக முக்கிய பங்கு வகிக்கிறது. முதலாவதாக, தேவையான நூலகங்களை நாங்கள் உள்ளடக்குகிறோம், மாறிகள் துவக்குகிறோம் மற்றும் மீயொலி சென்சார், மோட்டார் மற்றும் கூறுகளுக்கான ஊசிகளை வரையறுக்கிறோம்.
RPi.GPIO ஐ GPIO இறக்குமதி நேரமாக இறக்குமதி செய்க # இறக்குமதி நேர நூலகம் GPIO.setwarnings (தவறு) GPIO.setmode (GPIO.BCM) TRIG = 17 ECHO = 27………………….
அதன் பிறகு, ரோபோவை முன்னோக்கி, பின்னோக்கி, இடது அல்லது வலது திசையில் நகர்த்துவதற்கு டெஃப் ஃபார்வர்ட் (), டெஃப் பேக் (), டெஃப் இடது (), டெஃப் வலது () மற்றும் ரோபோவை நிறுத்த டெஃப் ஸ்டாப் () ஆகியவற்றை உருவாக்கியுள்ளோம் . கீழே கொடுக்கப்பட்டுள்ள குறியீட்டில் உள்ள செயல்பாடுகளை சரிபார்க்கவும்.
பின்னர், பிரதான திட்டத்தில், அல்ட்ராசோனிக் சென்சாரைத் தொடங்கினோம் மற்றும் சமிக்ஞையின் பரிமாற்றத்திற்கும் வரவேற்புக்கும் இடையிலான நேரத்தைப் படித்து தூரத்தைக் கணக்கிட்டோம். சிறந்த துல்லியத்திற்காக இந்த செயல்முறையை 5 முறை மீண்டும் செய்துள்ளோம். அல்ட்ராசோனிக் சென்சார் பயன்படுத்தி தூரத்தை கணக்கிடும் செயல்முறையை நாங்கள் ஏற்கனவே விளக்கினோம்.
i = 0 avgDistance = 0 வரம்பில் (5): GPIO.output (TRIG, False) time.sleep (0.1) GPIO.output (TRIG, True) time.sleep (0.00001) GPIO.output (TRIG, False) GPIO.input (ECHO) == 0: GPIO.output (led, False) pulse_start = time.time () GPIO.input (ECHO) == 1: # ECHO HIGH GPIO.output (led, தவறு) துடிப்பு_எண்ட் = நேரம்.நேரம் () துடிப்பு_தொடக்கம் = துடிப்பு_என்ட் - துடிப்பு_நிலைய தூரம் = துடிப்பு_ காலம் * 17150 தூரம் = சுற்று (தூரம், 2) avgDistance = avgDistance + தூர
கடைசியாக ரோபோவுக்கு முன்னால் ஏதேனும் தடையாக இருந்தால், அந்தத் தடையிலிருந்து தூரத்தைப் பெற்ற பிறகு, ரோபோவை வேறு பாதையில் செல்ல நாங்கள் திட்டமிட்டுள்ளோம்.
avgDistance <15: count = count + 1 stop () time.sleep (1) back () time.sleep (1.5) if (count% 3 == 1) & (flag == 0): right () flag = 1 வேறு: இடது () கொடி = 0 நேரம். தூக்கம் (1.5) நிறுத்த () நேரம். தூக்கம் (1) வேறு: முன்னோக்கி () கொடி = 0
இந்த ராஸ்பெர்ரி பை தடைக்கான முழுமையான குறியீடு ரோபோவைத் தவிர்ப்பது ஒரு ஆர்ப்பாட்ட வீடியோவுடன் கீழே கொடுக்கப்பட்டுள்ளது.
