- தேவையான பொருட்கள்:
- மீயொலி சென்சார் எவ்வாறு செயல்படுகிறது?
- உங்கள் PIC மைக்ரோகண்ட்ரோலரை புரோகிராமிங் செய்தல்:
எந்தவொரு திட்டமும் உயிரோடு வர, நாம் சென்சார்களைப் பயன்படுத்த வேண்டும். உட்பொதிக்கப்பட்ட அனைத்து பயன்பாடுகளுக்கும் சென்சார்கள் கண்கள் மற்றும் காதுகளாக செயல்படுகின்றன, இது டிஜிட்டல் மைக்ரோகண்ட்ரோலருக்கு இந்த உண்மையான அனலாக் உலகில் உண்மையில் என்ன நடக்கிறது என்பதைப் புரிந்துகொள்ள உதவுகிறது. இந்த டுடோரியலில் , PIC மைக்ரோகண்ட்ரோலருடன் அல்ட்ராசோனிக் சென்சார் HC-SR04 ஐ எவ்வாறு இடைமுகப்படுத்துவது என்பதைக் கற்றுக்கொள்வோம்.
உயர்நீதிமன்றத்தில்-SR04 மீயொலி சென்சார் உள்ளது 450cm (கோட்பாட்டளவில்) க்கு 2cm இடையிலான தூரம் எங்கும் அளவிட பயன்படுத்த முடியும். தடைகள் கண்டறிதல், தூர அளவீட்டு, சுற்றுச்சூழல் மேப்பிங் போன்ற பல திட்டங்களை பொருத்துவதன் மூலம் இந்த சென்சார் தன்னை தகுதியானது என்று நிரூபித்துள்ளது. இந்த கட்டுரையின் முடிவில் இந்த சென்சார் எவ்வாறு இயங்குகிறது மற்றும் தூரத்தையும் அளவையும் அளவிட PIC16F877A மைக்ரோகண்ட்ரோலருடன் எவ்வாறு இடைமுகப்படுத்துவது என்பதை நீங்கள் அறிந்து கொள்வீர்கள். இது எல்சிடி திரையில். சுவாரஸ்யமானதாகத் தெரிகிறது !! எனவே தொடங்குவோம்…
தேவையான பொருட்கள்:
- நிரலாக்க அமைப்போடு PIC16F877A MCU
- எல்சிடி 16 * 2 காட்சி
- மீயொலி சென்சார் (HC-SR04)
- கம்பிகளை இணைக்கிறது
மீயொலி சென்சார் எவ்வாறு செயல்படுகிறது?
மேலதிக தகவல்களைப் பெறுவதற்கு முன்பு, அல்ட்ராசோனிக் சென்சார் எவ்வாறு இயங்குகிறது என்பதை நாம் அறிந்து கொள்ள வேண்டும், இதன் மூலம் இந்த டுடோரியலை நாம் நன்றாக புரிந்து கொள்ள முடியும். இந்த திட்டத்தில் பயன்படுத்தப்படும் மீயொலி சென்சார் கீழே காட்டப்பட்டுள்ளது.

நீங்கள் பார்க்க முடியும் என இது இரண்டு வட்ட கண்கள் கணிப்புகள் மற்றும் நான்கு ஊசிகளை வெளியே வருகிறது. கணிப்புகள் போன்ற இரண்டு கண் அல்ட்ராசோனிக் அலை (இனிமேல் அமெரிக்க அலை என குறிப்பிடப்படுகிறது) டிரான்ஸ்மிட்டர் மற்றும் ரிசீவர். டிரான்ஸ்மிட்டர் ஒரு அமெரிக்க அலையை 40 ஹெர்ட்ஸ் அதிர்வெண்ணில் வெளியிடுகிறது, இந்த அலை காற்று வழியாக பயணிக்கிறது மற்றும் ஒரு பொருளை உணரும்போது மீண்டும் பிரதிபலிக்கிறது. திரும்பும் அலைகள் பெறுநரால் கவனிக்கப்படுகின்றன. இந்த அலை பிரதிபலிக்க மற்றும் திரும்பி வருவதற்கு எடுக்கப்பட்ட நேரம் இப்போது எங்களுக்குத் தெரியும், அமெரிக்க அலைகளின் வேகமும் உலகளாவியது (3400cm / s). இந்தத் தகவலையும் கீழேயுள்ள உயர்நிலைப் பள்ளி சூத்திரங்களையும் பயன்படுத்தி நாம் உள்ளடக்கிய தூரத்தை கணக்கிடலாம்.
தூரம் = வேகம் × நேரம்
ஒரு அமெரிக்க சென்சார் எவ்வாறு இயங்குகிறது என்பதை இப்போது நாம் அறிவோம், நான்கு ஊசிகளைப் பயன்படுத்தி எந்த MCU / CPU உடன் அதை எவ்வாறு இணைக்க முடியும் என்பதைப் பார்ப்போம். இந்த நான்கு ஊசிகளும் முறையே வி.சி.சி, தூண்டுதல், எக்கோ மற்றும் மைதானம். தொகுதி + 5 வி இல் இயங்குகிறது, எனவே தொகுதிக்கு சக்தி அளிக்க வி.சி.சி மற்றும் கிரவுண்ட் முள் பயன்படுத்தப்படுகிறது. மற்ற இரண்டு ஊசிகளும் I / O ஊசிகளாகும், அதைப் பயன்படுத்தி நாங்கள் எங்கள் MCU உடன் தொடர்பு கொள்கிறோம். தூண்டுதல் முள் ஒரு வெளியீடு முள் போன்ற அறிவித்தார் வேண்டும் மற்றும் ஒரு 10uS உயர் செய்யப்பட்ட, இந்த 8 சுழற்சி ஒலி வெடிப்பு போன்ற காற்றில் அமெரிக்க அலை அனுப்ப முடிய வேண்டும். அலை கவனிக்கப்பட்டவுடன், எக்கோ முள் சரியான நேர இடைவெளியில் அமெரிக்க அலை மூலம் சென்சார் தொகுதிக்குத் திரும்புவதற்கு எடுக்கப்பட்ட நேரத்திற்கு அதிகமாக செல்லும். எனவே இந்த எக்கோ முள் உள்ளீடாக அறிவிக்கப்படும்முள் எவ்வளவு காலம் அதிகமாக இருந்தது என்பதை அளவிட ஒரு டைமர் பயன்படுத்தப்படும். கீழேயுள்ள நேர வரைபடத்தால் இதை மேலும் புரிந்து கொள்ள முடியும்.

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

காட்டப்பட்டுள்ளபடி, சுற்று ஒரு எல்சிடி டிஸ்ப்ளே மற்றும் மீயொலி சென்சார் தவிர வேறு எதுவும் இல்லை. யுஎஸ் சென்சார் + 5 வி மூலம் இயக்கப்படலாம், எனவே இது நேரடியாக 7805 மின்னழுத்த சீராக்கி மூலம் இயக்கப்படுகிறது. சென்சாரில் ஒரு வெளியீட்டு முள் (தூண்டுதல் முள்) உள்ளது, இது முள் 34 (RB1) உடன் இணைக்கப்பட்டுள்ளது மற்றும் உள்ளீட்டு முள் (எக்கோ முள்) பின் 35 (RB2) உடன் இணைக்கப்பட்டுள்ளது. முழுமையான முள் இணைப்பு கீழே உள்ள அட்டவணையில் விளக்கப்பட்டுள்ளது.
|
எஸ். இல்லை: |
PIC முள் எண் |
முள் பெயர் |
இணைக்கப்பட்டுவிட்டது |
|
1 |
21 |
ஆர்.டி 2 |
எல்சிடியின் ஆர்.எஸ் |
|
2 |
22 |
ஆர்.டி 3 |
எல்சிடியின் மின் |
|
3 |
27 |
ஆர்.டி 4 |
எல்சிடியின் டி 4 |
|
4 |
28 |
ஆர்.டி 5 |
எல்சிடியின் டி 5 |
|
5 |
29 |
ஆர்.டி 6 |
எல்சிடியின் டி 6 |
|
6 |
30 |
ஆர்.டி 7 |
எல்சிடியின் டி 7 |
|
7 |
34 |
ஆர்.பி 1 |
அமெரிக்காவின் தூண்டுதல் |
|
8 |
35 |
ஆர்.பி 2 |
அமெரிக்காவின் எதிரொலி |
உங்கள் PIC மைக்ரோகண்ட்ரோலரை புரோகிராமிங் செய்தல்:
இந்த டுடோரியலுக்கான முழுமையான நிரல் இந்த பக்கத்தின் முடிவில் கொடுக்கப்பட்டுள்ளது, மேலும் கீழே நீங்கள் புரிந்துகொள்ளும் வகையில் குறியீட்டை சிறிய அர்த்தமுள்ள முழு துகள்களாக விளக்கினேன். முன்பு கூறியது போல், இந்த திட்டத்தில் எல்சிடி இன்டர்ஃபேசிங் மற்றும் டைமர் என்ற கருத்தை உள்ளடக்கியது, இது முந்தைய டுடோரியல்களில் ஏற்கனவே அவற்றை உள்ளடக்கியுள்ளதால் இந்த டுடோரியலில் விவரங்களில் விளக்கப்படாது.
உள்ளே, வழக்கம் போல் IO ஊசிகளையும் பிற பதிவுகளையும் துவக்குவதன் மூலம் நாம் தொடங்கும் முக்கிய செயல்பாடு. எல்.சி.டி மற்றும் யு.எஸ்.
TRISD = 0x00; // எல்.சி.டி டி.ஆர்.எஸ்.பி 0 = 1 ஐ இணைப்பதற்கான வெளியீடாக PORTD அறிவிக்கப்பட்டுள்ளது; // குறுக்கீடு முள் TRISB1 = 0 ஆக பயன்படுத்த RB0 முள் உள்ளீடாக வரையறுக்கவும்; // அமெரிக்க சென்சாரின் தூண்டுதல் முள் வெளியீட்டு முள் TRISB2 = 1 ஆக அனுப்பப்படுகிறது; // யு.எஸ் சென்சாரின் எக்கோ முள் உள்ளீட்டு முள் TRISB3 = 0 ஆக அமைக்கப்பட்டுள்ளது; // RB3 என்பது LED T1CON = 0x20 க்கான வெளியீட்டு முள்; // 4 ப்ரெஸ்-ஸ்கேலர் மற்றும் உள் கடிகாரம்
டைமர் 1 என்பது PIC16F877A இல் பயன்படுத்தப்படும் 16-பிட் டைமர் ஆகும், T1CON பதிவு டைமர் தொகுதியின் அளவுருக்களைக் கட்டுப்படுத்துகிறது, இதன் விளைவாக TMR1H மற்றும் TMR1L இல் சேமிக்கப்படும், ஏனெனில் இது 16-பிட் விளைவாக முதல் 8 TMR1H இல் சேமிக்கப்படும் மற்றும் TMR1L இல் அடுத்த 8. இந்த நேரத்தை முறையே TMR1ON = 0 மற்றும் TMR1ON = 1 ஐப் பயன்படுத்தி இயக்கலாம் அல்லது முடக்கலாம்.
இப்போது, டைமர் பயன்படுத்தத் தயாராக உள்ளது, ஆனால் அமெரிக்க அலைகளை சென்சாருக்கு வெளியே அனுப்ப வேண்டும், இதைச் செய்ய நாம் 10uS க்கு தூண்டுதல் முள் அதிகமாக வைத்திருக்க வேண்டும், இது பின்வரும் குறியீட்டால் செய்யப்படுகிறது.
தூண்டுதல் = 1; __ தாமத_உஸ் (10); தூண்டுதல் = 0;
மேலே உள்ள நேர வரைபடத்தில் காட்டப்பட்டுள்ளபடி , அலை திரும்பும் வரை எக்கோ முள் குறைவாக இருக்கும், பின்னர் அலைகள் திரும்பி வருவதற்கு எடுக்கப்பட்ட சரியான நேரத்திற்கு உயரமாக இருக்கும். இந்த நேரத்தை டைமர் 1 தொகுதி மூலம் அளவிட வேண்டும், இது கீழேயுள்ள வரியால் செய்யப்படலாம்
போது (எதிரொலி == 0); TMR1ON = 1; போது (எதிரொலி == 1); TMR1ON = 0;
நேரம் அளவிடப்பட்டதும், இதன் விளைவாக மதிப்பு TMR1H மற்றும் TMR1L ஆகிய பதிவுகளில் சேமிக்கப்படும், 16-பிட் மதிப்பைப் பெற இந்த பதிவேடுகளை சேகரிக்க வேண்டும். கீழே உள்ள வரியைப் பயன்படுத்தி இது செய்யப்படுகிறது
time_taken = (TMR1L - (TMR1H << 8%);
கீழேயுள்ள சூத்திரத்தைப் பயன்படுத்த வேண்டிய உண்மையான நேர மதிப்பைப் பெற இந்த நேர_விவரம் படிவ பைட்டுகளில் இருக்கும்.
நேரம் = (16-பிட் பதிவு மதிப்பு) * (1 / உள் கடிகாரம்) * (முன்-அளவுகோல்) உள் கடிகாரம் = Fosc / 4 எங்களுடைய விஷயத்தில், Fosc = 20000000Mhz மற்றும் Pre-scale = 4 எனவே உள் கடிகாரத்தின் மதிப்பு 5000000 மெகா ஹெர்ட்ஸ் மற்றும் நேரத்தின் மதிப்பு நேரம் = (16-பிட் பதிவு மதிப்பு) * (1/5000000) * (4) = (16-பிட் பதிவு மதிப்பு) * (4/5000000) = (16-பிட் பதிவு மதிப்பு) * 0.0000008 வினாடிகள் (OR) நேரம் = (16-பிட் பதிவு மதிப்பு) * 0.8 மைக்ரோ விநாடிகள்
எங்கள் நிரலில், 16-பிட் பதிவேட்டின் மதிப்பு மாறி time_taken இல் சேமிக்கப்படுகிறது, எனவே கீழேயுள்ள வரி மைக்ரோ வினாடிகளில் எடுக்கப்பட்ட நேரத்தை கணக்கிட பயன்படுத்தப்படுகிறது
time_taken = time_taken * 0.8;
அடுத்து தூரத்தை எவ்வாறு கணக்கிடுவது என்பதைக் கண்டுபிடிக்க வேண்டும். நமக்குத் தெரியும் தூரம் = வேகம் * நேரம். ஆனால் இங்கே அலை 2 ஆல் வகுக்கப்பட வேண்டும், ஏனெனில் அலை பரவும் தூரம் மற்றும் பெறும் தூரம் இரண்டையும் உள்ளடக்கியது. எங்களை அலைகளின் வேகம் (ஒலி) 34000cm / s ஆகும்.
தூரம் = (வேகம் * நேரம்) / 2 = (34000 * (16-பிட் பதிவு மதிப்பு) * 0.0000008) / 2 தூரம் = (0.0272 * 16-பிட் பதிவு மதிப்பு) / 2
எனவே தூரத்தை கீழே உள்ள சென்டிமீட்டர்களில் கணக்கிடலாம்:
தூரம் = (0.0272 * நேரம்_ எடுத்தது) / 2;
எடுக்கப்பட்ட தூரம் மற்றும் நேரத்தின் மதிப்பைக் கணக்கிட்ட பிறகு அவற்றை எல்சிடி திரையில் காண்பிக்க வேண்டும்.
PIC மற்றும் மீயொலி சென்சார் பயன்படுத்தி தூரத்தை அளவிடுதல்:
இணைப்புகளை உருவாக்கி, குறியீட்டைப் பதிவேற்றிய பிறகு, உங்கள் சோதனை அமைவு கீழேயுள்ள படத்தில் காட்டப்பட்டுள்ளதைப் போல இருக்க வேண்டும்.
இந்த படத்தில் காண்பிக்கப்படும் PIC Perf போர்டு, எங்கள் PIC டுடோரியல் தொடருக்காக உருவாக்கப்பட்டது, இதில் PIC மைக்ரோகண்ட்ரோலரை எவ்வாறு பயன்படுத்துவது என்பதை நாங்கள் கற்றுக்கொண்டோம். பிக்கிட் 3 ஐப் பயன்படுத்தி ஒரு நிரலை எப்படி எரிப்பது என்று உங்களுக்குத் தெரியாவிட்டால், MPLABX மற்றும் XC8 ஐப் பயன்படுத்தி அந்த PIC மைக்ரோகண்ட்ரோலர் டுடோரியல்களுக்கு நீங்கள் திரும்பிச் செல்ல விரும்பலாம், ஏனெனில் அந்த அடிப்படை தகவல்களை நான் தவிர்த்துவிடுவேன்.

இப்போது சென்சாருக்கு முன் ஒரு பொருளை வைக்கவும், அது சென்சாரிலிருந்து பொருள் எவ்வளவு தூரம் என்பதைக் காட்ட வேண்டும். அலை கடத்த மற்றும் திரும்புவதற்கு மைக்ரோ விநாடிகளில் காட்டப்படும் நேரத்தையும் நீங்கள் கவனிக்கலாம்.
நீங்கள் விரும்பிய தூரத்தில் பொருளை நகர்த்தலாம் மற்றும் எல்சிடியில் காட்டப்படும் மதிப்பை சரிபார்க்கலாம். 0.5cm துல்லியத்துடன் 2cm முதல் 350cm வரையிலான தூரத்தை என்னால் அளவிட முடிந்தது. இது மிகவும் திருப்திகரமான முடிவு! நீங்கள் டுடோரியலை ரசித்தீர்கள், சொந்தமாக ஏதாவது செய்வது எப்படி என்று கற்றுக்கொண்டீர்கள் என்று நம்புகிறேன். உங்களுக்கு ஏதேனும் சந்தேகம் இருந்தால் அவற்றை கீழே உள்ள கருத்துப் பிரிவில் விடுங்கள் அல்லது மன்றங்களைப் பயன்படுத்தவும்.
பிற மைக்ரோகண்ட்ரோலர்களுடன் அல்ட்ராசோனிக் சென்சாரின் இடைமுகத்தையும் சரிபார்க்கவும்:
- Arduino & மீயொலி சென்சார் அடிப்படையிலான தூர அளவீட்டு
- ராஸ்பெர்ரி பை மற்றும் எச்.சி.எஸ்.ஆர் 04 மீயொலி சென்சார் பயன்படுத்தி தூரத்தை அளவிடவும்
- HC-SR04 மற்றும் AVR மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி தூர அளவீட்டு
