- குறுக்கீடுகள் வகைகள்
- Arduino இல் குறுக்கீடுகள்
- Arduino இல் குறுக்கீடுகளைப் பயன்படுத்துதல்
- கூறுகள் தேவை
- சுற்று வரைபடம்
- Arduino Interrupt Programming
- Arduino குறுக்கீடு ஆர்ப்பாட்டம்
வேகமாக நகரும் காரைக் கவனியுங்கள், அது திடீரென மற்றொரு காரை எதிர் திசையில் தாக்கினால், முதலில் நடக்கும் விஷயம் என்னவென்றால், காரில் இருக்கும் முடுக்கமானி சென்சார் திடீரென டி-முடுக்கம் உணர்ந்து, தற்போதுள்ள மைக்ரோகண்ட்ரோலருக்கு வெளிப்புற குறுக்கீட்டைத் தூண்டுகிறது. கார். அந்த குறுக்கீட்டின் அடிப்படையில் மைக்ரோகண்ட்ரோலர் உடனடியாக ஏர்பேக்குகளை வரிசைப்படுத்த மின்சார சமிக்ஞையை உருவாக்குகிறது. காரில் இருக்கும் மைக்ரோகண்ட்ரோலர்கள் காரின் வேகத்தை உணருவது, பிற சென்சார்களைச் சரிபார்ப்பது, ஏர் கண்டிஷனர் வெப்பநிலையைக் கட்டுப்படுத்துவது போன்ற பல விஷயங்களை ஒரே நேரத்தில் கண்காணிக்கின்றன. ஆகவே திடீரென ஏர்பேக்கை விநாடிகளில் திறக்க என்ன செய்கிறது? பதில் குறுக்கீடுகள், ஒரு குறுக்கீடு சமிக்ஞை இங்கு பயன்படுத்தப்படுகிறது, இது அனைவருக்கும் அதிக முன்னுரிமையைக் கொண்டுள்ளது.
குறுக்கீடுகளின் மற்றொரு எளிய எடுத்துக்காட்டு தொடுதிரை மொபைல் போன்கள் ஆகும், அவை “தொடு” உணர்வுக்கு அதிக முன்னுரிமை அளிக்கின்றன. ஏறக்குறைய ஒவ்வொரு மின்னணு சாதனமும் வழக்கமான செயல்முறையை 'குறுக்கிட' குறுக்கிட ஒரு குறிப்பிட்ட நிகழ்வில் சில அதிக முன்னுரிமை விஷயங்களைச் செய்கின்றன. குறுக்கீட்டிற்கு சேவை செய்தபின் வழக்கமான செயல்முறை மீண்டும் தொடங்கப்படுகிறது.
எனவே தொழில்நுட்ப ரீதியாக, குறுக்கீடுகள் என்பது ஒரு I / O அல்லது அறிவுறுத்தல் செயலியின் இயல்பான செயல்பாட்டை நிறுத்திவைக்கக்கூடிய ஒரு பொறிமுறையாகும், மேலும் அதற்கு அதிக முன்னுரிமை இருப்பதைப் போலவே சேவையையும் பெறுகிறது. எடுத்துக்காட்டாக, ஐ.எஸ்.ஆர் (இன்டரப்ட் சர்வீஸ் வழக்கமான) இல் இருக்கும் ஒரு குறிப்பிட்ட செயல்முறையை இயக்க சில சென்சார் மூலம் ஒரு சாதாரண செயலாக்கத்தை செயலி குறுக்கிடலாம். ஐ.எஸ்.ஆர் செயலியை இயக்கிய பிறகு மீண்டும் இயல்பான செயல்பாட்டை மீண்டும் தொடங்கலாம்.
குறுக்கீடுகள் வகைகள்
இரண்டு வகையான குறுக்கீடுகள் உள்ளன:
வன்பொருள் குறுக்கீடு: வெளிப்புற குறுக்கீடு முள் அதன் நிலையை LOW இலிருந்து HIGH அல்லது HIGH to LOW என மாற்றும்போது இது நிகழ்கிறது.
மென்பொருள் குறுக்கீடு: இது மென்பொருளின் அறிவுறுத்தலின் படி நடக்கிறது. எடுத்துக்காட்டாக டைமர் குறுக்கீடுகள் மென்பொருள் குறுக்கீடு.
Arduino இல் குறுக்கீடுகள்
இப்போது ஆர்டுயினோ போர்டில் குறுக்கீடுகளை எவ்வாறு பயன்படுத்துவது என்று பார்ப்போம். இது இரண்டு வகையான குறுக்கீடுகளைக் கொண்டுள்ளது:
- வெளிப்புற குறுக்கீடு
- முள் மாற்றம் குறுக்கீடு
வெளிப்புற குறுக்கீடு:
இந்த குறுக்கீடுகள் வன்பொருள் மூலம் விளக்கப்படுகின்றன மற்றும் மிக வேகமாக உள்ளன. இந்த குறுக்கீடுகள் RISING அல்லது FALLING அல்லது LOW நிலைகளைத் தூண்டுவதற்கு அமைக்கலாம்.
|
Arduino Board |
வெளிப்புற குறுக்கீடு ஊசிகளும்: |
|
UNO, நானோ |
2,3 |
|
மெகா |
2,3,18,19,20,21 |
முள் மாற்றம் குறுக்கீடுகள்:
முள் மாற்ற குறுக்கீடுகளைப் பயன்படுத்துவதன் மூலம் Arduinos அதிக குறுக்கீடு ஊசிகளை இயக்க முடியும். ATmega168 / 328 அடிப்படையிலான Arduino போர்டுகளில் எந்த ஊசிகளையும் அல்லது அனைத்து 20 சிக்னல் ஊசிகளையும் குறுக்கீடு ஊசிகளாகப் பயன்படுத்தலாம். அவை RISING அல்லது FALLING விளிம்புகளைப் பயன்படுத்தி தூண்டப்படலாம்.
Arduino இல் குறுக்கீடுகளைப் பயன்படுத்துதல்
Arduino இல் குறுக்கீடுகளைப் பயன்படுத்த பின்வரும் கருத்துகளைப் புரிந்து கொள்ள வேண்டும்.
குறுக்கீடு சேவை வழக்கமான (ஐ.எஸ்.ஆர்)
குறுக்கீடு சேவை வழக்கம் அல்லது குறுக்கீடு கையாளுபவர் என்பது சிறிய வழிமுறைகளைக் கொண்ட ஒரு நிகழ்வாகும். வெளிப்புற குறுக்கீடு ஏற்படும் போது, செயலி முதலில் ஐ.எஸ்.ஆரில் இருக்கும் இந்த குறியீட்டை இயக்கி, இயல்பான செயல்பாட்டை விட்டுச்சென்ற நிலைக்குத் திரும்புகிறது.
ஆர்டுயினோவில் ஐ.எஸ்.ஆர் தொடரியல் உள்ளது:
attachInterrupt (DigitalPinToInterrupt (முள்), ISR, பயன்முறை);
DigitalPinToInterrupt (பின்): Arduino Uno இல், NANO குறுக்கீடு செய்ய பயன்படுத்தப்படும் ஊசிகளும் 2,3 & மெகாவில் 2,3,18,19,20,21 ஆகும். வெளிப்புற குறுக்கீட்டிற்குப் பயன்படுத்தப்படும் உள்ளீட்டு முள் இங்கே குறிப்பிடவும்.
ஐ.எஸ்.ஆர்: இது ஒரு வெளிப்புற குறுக்கீடு செய்யப்படும்போது அழைக்கப்படும் ஒரு செயல்பாடு.
பயன்முறை: தூண்டுவதற்கான மாற்றம் வகை, எ.கா. வீழ்ச்சி, உயர்வு போன்றவை.
- ரைசிங்: முள் LOW இலிருந்து HIGH க்கு மாறும்போது குறுக்கீட்டைத் தூண்டுவதற்கு.
- வீழ்ச்சி: முள் உயரத்திலிருந்து குறைந்ததாக மாறும்போது குறுக்கீட்டைத் தூண்டுவதற்கு.
- மாற்று: முள் LOW இலிருந்து HIGH அல்லது HIGH முதல் LOW வரை மாறும்போது குறுக்கீட்டைத் தூண்டுவதற்கு (அதாவது, முள் நிலை மாறும்போது).
குறுக்கீட்டைப் பயன்படுத்தும் போது சில நிபந்தனைகள்
- குறுக்கீடு சேவை வழக்கமான செயல்பாடு (ஐ.எஸ்.ஆர்) முடிந்தவரை குறுகியதாக இருக்க வேண்டும்.
- ஐஎஸ்ஆருக்குள் தாமதம் () செயல்பாடு செயல்படாது, தவிர்க்கப்பட வேண்டும்.
இந்த Arduino Interrupt Tutorial இல், ஒரு எண் 0 இலிருந்து அதிகரிக்கப்படுகிறது மற்றும் குறுக்கீட்டைத் தூண்டுவதற்கு இரண்டு புஷ் பொத்தான்கள் பயன்படுத்தப்படுகின்றன, ஒவ்வொன்றும் D2 & D3 உடன் இணைக்கப்பட்டுள்ளன. குறுக்கீட்டைக் குறிக்க எல்.ஈ.டி பயன்படுத்தப்படுகிறது. ஒரு புஷ் பொத்தானை அழுத்தினால், லெட் ஓன் மற்றும் டிஸ்ப்ளே இன்டரப்ட் 2 ஐக் காட்டுகிறது மற்றும் ஆஃப் ஆகிறது, மற்றொரு புஷ் பொத்தானை அழுத்தும்போது லெட் ஆஃப் ஆகிறது மற்றும் டிஸ்ப்ளே இன்டரப்ட் 1 ஐக் காட்டுகிறது மற்றும் ஆஃப் ஆகும்.
கூறுகள் தேவை
- Arduino Board (இந்த டுடோரியலில் Arduino NANO பயன்படுத்தப்படுகிறது)
- புஷ் பொத்தான் - 2
- எல்.ஈ.டி - 1
- மின்தடை (10 கே) - 2
- எல்சிடி (16 எக்ஸ் 2) - 1
- ரொட்டி வாரியம்
- கம்பிகளை இணைக்கிறது
சுற்று வரைபடம்

Arduino நானோ மற்றும் 16x2 LCD டிஸ்ப்ளே இடையே சுற்று இணைப்பு:
|
எல்.சி.டி. |
அர்டுடினோ நானோ |
|
வி.எஸ்.எஸ் |
ஜி.என்.டி. |
|
வி.டி.டி. |
+ 5 வி |
|
வி 0 |
பொட்டென்டோமீட்டர் சென்டர் பின் எல்சிடியின் மாறுபாட்டைக் கட்டுப்படுத்துவதற்கு |
|
ஆர்.எஸ் |
டி 7 |
|
ஆர்.டபிள்யூ |
ஜி.என்.டி. |
|
இ |
டி 8 |
|
டி 4 |
டி 9 |
|
டி 5 |
டி 10 |
|
டி 6 |
டி 11 |
|
டி 7 |
டி 12 |
|
அ |
+ 5 வி |
|
கே |
ஜி.என்.டி. |
முள் டி 2 & டி 3 இல் இரண்டு புஷ் பொத்தான்கள் அர்டுடினோ நானோவுடன் இணைக்கப்பட்டுள்ளன. அவை இரண்டு வெளிப்புற குறுக்கீடுகளைப் பயன்படுத்தப் பயன்படுகின்றன, ஒன்று எல்.ஈ. ஐ இயக்கவும் மற்றொன்று எல்.ஈ.டி. ஒவ்வொரு புஷ் பொத்தானும் தரையில் இணைக்கப்பட்ட 10k இன் இழுக்கும் மின்தடையத்தைக் கொண்டுள்ளது. எனவே புஷ் பொத்தானை அழுத்தும்போது அது லாஜிக் ஹை (1) மற்றும் அழுத்தும் போது அது லாஜிக் லோ (0) ஆகும். ஒரு புல் டவுன் மின்தடை கட்டாயமானது இல்லையெனில் உள்ளீட்டு முள் டி 2 & டி 3 இல் மிதக்கும் மதிப்புகள் இருக்கும்.
ஒரு எல்இடி மேலும் அல்லது ஒரு குறுக்கீட்டு தூண்டப்படலாம் என்று குறிப்பிடப் பயன்படுகிறது ஒரு பொத்தானை அழுத்தம் கொடுக்கப்பட்டது.
Arduino Interrupt Programming
இந்த டுடோரியலில் 0 இலிருந்து ஒரு எண் அதிகரிக்கப்படுகிறது, இது அர்டுயினோ நானோவுடன் இணைக்கப்பட்ட (16x2) எல்.சி.டி.யில் தொடர்ந்து காண்பிக்கப்படுகிறது, இடது புஷ் பொத்தானை (குறுக்கீடு முள் டி 3) அழுத்தும் போதெல்லாம் எல்.ஈ.டி இயங்கும் மற்றும் காட்சி குறுக்கீடு 2 ஐக் காட்டுகிறது, வலது புஷ் பொத்தான் (குறுக்கீடு முள் டி 2) அழுத்தினால் எல்.ஈ.டி முடக்கப்பட்டு காட்சி குறுக்கீடு 1 ஐக் காட்டுகிறது.
இந்த டுடோரியலின் முடிவில் வேலை செய்யும் வீடியோவுடன் முழுமையான குறியீடு கொடுக்கப்பட்டுள்ளது.
1. முதலில் எல்சிடி டிஸ்ப்ளேவுக்கான தலைப்பு கோப்பு சேர்க்கப்பட்டுள்ளது, பின்னர் அர்டுயினோ நானோவுடன் இணைக்கப் பயன்படுத்தப்படும் எல்சிடி ஊசிகளும் வரையறுக்கப்படுகின்றன.
#சேர்க்கிறது
2. வெற்றிட அமைவு () செயல்பாட்டின் உள்ளே, முதலில் எல்சிடி டிஸ்ப்ளேயில் சில அறிமுக செய்தியைக் காண்பி. அர்டுயினோவுடன் எல்.சி.டி.யை இணைப்பது பற்றி மேலும் அறிக.
lcd.begin (16,2); lcd.setCursor (0,0); lcd.print ("CIRCUIT DIGEST"); lcd.setCursor (0,1); lcd.print ("ArduinoInterrupt"); தாமதம் (3000); lcd.clear ();
3. பின்னர் அதே வெற்றிட அமைவு () செயல்பாட்டில் உள்ளீடு மற்றும் வெளியீட்டு ஊசிகளைக் குறிப்பிட வேண்டும். முள் டி 13 எல்இடியின் அனோடோடு இணைக்கப்பட்டுள்ளது, எனவே இந்த முள் வெளியீடாக வரையறுக்கப்பட வேண்டும்.
pinMode (13, OUTPUT);
4. இப்போது புரோகிராமிங்கில் முக்கிய முக்கிய பகுதி இணைக்கப்பட்டுள்ளது, இது இணைப்பு () செயல்பாடு, இது வெற்றிட அமைவு () க்குள் சேர்க்கப்பட்டுள்ளது.
attachInterrupt (DigitalPinToInterrupt (2), buttonPressed1, RISING); attachInterrupt (DigitalPinToInterrupt (3), buttonPressed2, RISING);
முள் 2 வெளிப்புற குறுக்கீட்டிற்கானது என்று இங்கே குறிப்பிடப்பட்டுள்ளது, மேலும் டி 2 முள் RISING (LOW to HIGH) இருக்கும்போது buttonPressed1 செயல்பாடு அழைக்கப்படுகிறது. முள் 3 வெளிப்புற குறுக்கீட்டிற்கும் மற்றும் டி 3 முள் RISING இருக்கும்போது பொத்தானை அழுத்த 2 செயல்பாடு அழைக்கப்படுகிறது.
5. வெற்றிட வளையத்தின் () உள்ளே, ஒரு எண் (i) பூஜ்ஜியத்திலிருந்து அதிகரிக்கப்பட்டு எல்சிடி (16x2) இல் அச்சிடப்படுகிறது.
lcd.clear (); lcd.print ("COUNTER:"); lcd.print (i); ++ நான்; தாமதம் (1000);
அதே வெற்றிட சுழற்சியில் (), எல்.ஈ.டி யின் அனோட் இணைக்கப்பட்டுள்ள முள் டி 13 இல் டிஜிட்டல்ரைட் () பயன்படுத்தப்படுகிறது. மாறி வெளியீட்டில் உள்ள மதிப்பைப் பொறுத்து எல்.ஈ.டி இயக்கப்படும் அல்லது அணைக்கப்படும்
டிஜிட்டல்ரைட் (13, வெளியீடு);
6. மிக முக்கியமான பகுதி, இணைப்பு இன்டர்ரப்ட் () செயல்பாட்டில் பயன்படுத்தப்படும் பெயருக்கு ஏற்ப குறுக்கீடு கையாளுதல் செயல்பாட்டை உருவாக்குவது.
இரண்டு குறுக்கீடு ஊசிகளை 2 மற்றும் 3 பயன்படுத்துவதால் இரண்டு ஐ.எஸ்.ஆர் தேவைப்படுகிறது. இங்கே இந்த நிரலாக்கத்தில் பின்வரும் ஐ.எஸ்.ஆர் பயன்படுத்தப்படுகிறது
buttonPressed1 ():
void buttonPressed1 () { output = LOW; lcd.setCursor (0,1); lcd.print ("குறுக்கீடு 1"); }
முள் D2 இல் புஷ் பொத்தானை அழுத்தும்போது இந்த செயல்பாடு செயல்படுகிறது (RISING EDGE). இந்த செயல்பாடு வெளியீட்டின் நிலையை LOW ஆக மாற்றுகிறது, இதனால் எல்.ஈ.டி முடக்கப்படும் மற்றும் எல்சிடி டிஸ்ப்ளேயில் “குறுக்கீடு 1” ஐ அச்சிடுகிறது.
buttonPressed2 ():
void buttonPressed2 () {வெளியீடு = உயர்; lcd.setCursor (0,1); lcd.print ("குறுக்கீடு 2"); }
முள் டி 3 இல் புஷ் பொத்தானை அழுத்தும்போது இந்த செயல்பாடு செயல்படும். இந்த செயல்பாடு வெளியீட்டின் நிலையை HIGH ஆக மாற்றுகிறது, இதனால் எல்.ஈ.டி இயக்கப்படும் மற்றும் எல்சிடி டிஸ்ப்ளேயில் “குறுக்கீடு 2” ஐ அச்சிடுகிறது.
Arduino குறுக்கீடு ஆர்ப்பாட்டம்
1. இடதுபுறத்தில் புஷ் பட்டன் அழுத்தும் போது எல்.ஈ.டி இயங்கும் மற்றும் எல்.சி.டி இன்டரப்ட் 2 ஐக் காட்டுகிறது.

2. வலதுபுறத்தில் உள்ள புஷ் பட்டன் அழுத்தும் போது எல்.ஈ.டி அணைக்கப்பட்டு எல்.சி.டி இன்டரப்ட் 1 ஐக் காட்டுகிறது

சாதாரண மரணதண்டனைக்கு இடையில் எந்தவொரு முக்கியமான பணியையும் தூண்டுவதற்கு ஒரு குறுக்கீடு பயனுள்ளதாக இருக்கும்.
