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

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

சென்சார் இரண்டு ஊசிகளை தூண்டுகிறது மற்றும் எக்கோ உள்ளது, இது நேர வரைபடத்தில் காட்டப்பட்டுள்ளபடி தூரத்தை அளவிட பயன்படுகிறது. முதலில் அளவீட்டைத் தொடங்க நாம் டிரான்ஸ்மிட்டரிலிருந்து ஒரு மீயொலி அலையை அனுப்ப வேண்டும், தூண்டுதல் முள் 10uS க்கு உயரமாக அமைப்பதன் மூலம் இதைச் செய்யலாம். இது முடிந்தவுடன், டிரான்ஸ்மிட்டர் முள் அமெரிக்க அலைகளின் 8 சோனிக் வெடிப்பை அனுப்பும். இந்த அமெரிக்க அலை ஒரு பொருளைத் திரும்பத் தாக்கும் மற்றும் பெறுநரால் பெறப்படும்.
ரிசீவர் அலைகளைப் பெற்றவுடன், அது எக்கோ முள் ஒரு குறிப்பிட்ட காலத்திற்கு உயரச் செய்யும் என்று நேர வரைபடம் காட்டுகிறது, இது அலை அமெரிக்க சென்சாரிலிருந்து பயணித்து மீண்டும் சென்சாருக்குச் செல்ல எடுக்கும் நேரத்திற்கு சமமாகும். இந்த நேர வரைபடம் உண்மை என்று தெரியவில்லை.
எனது சென்சாரின் Tx (டிரான்ஸ்மிட்டர்) பகுதியை மூடி, எக்கோ துடிப்பு அதிகமாக இருக்கிறதா என்று சோதித்தேன், ஆம் அது உயர்ந்ததாக இருக்கும். இதன் பொருள் அமெரிக்காவின் (மீயொலி) அலை பெற எக்கோ துடிப்பு காத்திருக்காது. இது அமெரிக்க அலைகளை கடத்தியவுடன் அது உயர்ந்து, அலை திரும்பும் வரை உயரமாக இருக்கும். எனவே சரியான நேர வரைபடம் கீழே காட்டப்பட்டுள்ளதைப் போன்றதாக இருக்க வேண்டும் (எனது மோசமான எழுத்து திறமைக்கு மன்னிக்கவும்)

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

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

மேலே உள்ள வரைபடத்தில், Tx டிரான்ஸ்மிட்டர் சென்சாரையும் Rx ரிசீவர் சென்சாரையும் குறிக்கிறது. காட்டப்பட்டபடி, டிரான்ஸ்மிட்டர் சென்சார் அமெரிக்க அலைகளை குறிப்பிட்ட கால இடைவெளியில் கடத்தச் செய்யப்படும், இது செய்ய வேண்டியது இதுதான்.
ரிசீவர் சென்சாரில், டிரான்ஸ்மிட்டர் முள் அதிகமாக செல்லும் போது தூண்டுதல் முள் சரியாக உயர வேண்டும். எனவே ஆரம்பத்தில் நாம் பெறுநர்களைத் தூண்டுவதை உயர்த்துவோம், இது எதிரொலி முள் குறைவாக செல்லும் வரை உயரமாக இருக்கும். இந்த எதிரொலி முள் டிரான்ஸ்மிட்டரிலிருந்து ஒரு அமெரிக்க அலையைப் பெறும்போது மட்டுமே குறைவாக இருக்கும். எனவே அது குறைந்தவுடன், டிரான்ஸ்மிட்டர் சென்சார் தூண்டப்பட்டதாக நாம் கருதலாம். இப்போது, இந்த அனுமானத்துடன் எதிரொலி குறைவாக சென்றவுடன், நாம் அறிந்த தாமதத்திற்கு காத்திருக்கலாம், பின்னர் பெறுநர்களின் தூண்டுதலைத் தூண்டலாம். இது டிரான்ஸ்மிட்டர் மற்றும் ரிசீவர் இரண்டின் தூண்டுதலையும் ஓரளவு ஒத்திசைக்கும், எனவே நீங்கள் பல்ஸ்இன் () ஐப் பயன்படுத்தி உடனடி எதிரொலி துடிப்பு காலத்தைப் படித்து தூரத்தைக் கணக்கிடலாம்.
டிரான்ஸ்மிட்டர் சென்சாருக்கான திட்டம்:
டிரான்ஸ்மிட்டர் தொகுதிக்கான முழுமையான நிரலை பக்கத்தின் கீழே காணலாம். இது ஒரு குறிப்பிட்ட இடைவெளியில் டிரான்ஸ்மிட்டர் சென்சாரைத் தூண்டுவதைத் தவிர வேறு எதுவும் செய்யாது.
டிஜிட்டல்ரைட் (ட்ரிக்பின், உயர்); delayMicroseconds (10); டிஜிட்டல்ரைட் (ட்ரிக்பின், குறைந்த);
ஒரு சென்சாரைத் தூண்டுவதற்கு 10uS க்கு உயரமாக இருக்க தூண்டுதல் முள் செய்ய வேண்டும். இதைச் செய்வதற்கான குறியீடு மேலே காட்டப்பட்டுள்ளது
ரிசீவர் சென்சாருக்கான திட்டம்:
ரிசீவர் சென்சாரில், முன்பு விவாதித்தபடி போலி செய்ய சென்சாரின் டிரான்ஸ்மிட்டர் கண்ணை மூடி வைத்திருக்கிறோம். இப்போது நாம் மேலே குறிப்பிட்ட நுட்பத்தைப் பயன்படுத்தி இரண்டு சென்சார்களுக்கு இடையிலான தூரத்தை அளவிடலாம். முழுமையான நிரல் இந்த பக்கத்தின் கீழே கொடுக்கப்பட்டுள்ளது. சில முக்கியமான வரிகள் கீழே விளக்கப்பட்டுள்ளன
தூண்டுதல்_யூஎஸ் (); போது (டிஜிட்டல் ரீட் (எக்கோபின்) == உயர்); delayMicroseconds (10); தூண்டுதல்_யூஎஸ் (); கால = துடிப்புஇன் (எக்கோபின், உயர்);
ஆரம்பத்தில் நாம் Trigger_US () செயல்பாட்டைப் பயன்படுத்தி அமெரிக்க சென்சாரைத் தூண்டுகிறோம், பின்னர் சிறிது சுழற்சியைப் பயன்படுத்தி எதிரொலி முள் அதிகமாக இருக்கும் வரை காத்திருக்கவும். இது குறைந்துவிட்டால், முன்கூட்டியே தீர்மானிக்கப்பட்ட காலத்திற்கு நாங்கள் காத்திருக்கிறோம், இந்த காலம் 10 முதல் 30 மைக்ரோ விநாடிகளுக்கு இடையில் இருக்க வேண்டும், இது சோதனை மற்றும் பிழையைப் பயன்படுத்தி தீர்மானிக்கப்படலாம் (அல்லது கீழே கொடுக்கப்பட்டுள்ள மேம்பட்ட யோசனையைப் பயன்படுத்தலாம்). இந்த தாமதத்திற்குப் பிறகு அதே செயல்பாட்டைப் பயன்படுத்தி அமெரிக்காவை மீண்டும் தூண்டவும், பின்னர் அலைகளின் காலத்தைக் கணக்கிட பல்ஸ்இன் () செயல்பாட்டைப் பயன்படுத்தவும்.
இப்போது அதே பழைய சூத்திரங்களைப் பயன்படுத்தி கீழே உள்ள தூரத்தை கணக்கிடலாம்
தூரம் = காலம் * 0.034;
வேலை:
நிரலில் விளக்கப்பட்டுள்ளபடி இணைப்புகளை உருவாக்கவும். படத்தில் காட்டப்பட்டுள்ளபடி ரிசீவர் சென்சாரின் Tx பகுதியை மூடு. பின்னர் டிரான்ஸ்மிட்டர் குறியீடு மற்றும் ரிசீவர் குறியீட்டை முறையே டிரான்ஸ்மிட்டர் மற்றும் ரிசீவர் ஆர்டுயினோவிற்கு பதிவேற்றவும். ரிசீவர் தொகுதியின் சீரியல் மானிட்டரைத் திறக்கவும், கீழேயுள்ள வீடியோவில் காட்டப்பட்டுள்ளபடி இரண்டு தொகுதிகள் காட்டப்படும் தூரத்தை நீங்கள் கவனிக்க வேண்டும்.
குறிப்பு: இந்த முறை ஒரு சித்தாந்தம் மட்டுமே, இது துல்லியமானதாகவோ அல்லது திருப்திகரமாகவோ இருக்காது. இருப்பினும் சிறந்த முடிவுகளைப் பெற கீழே உள்ள மேம்பட்ட யோசனையை நீங்கள் முயற்சி செய்யலாம்.

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

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