- பொருள் தேவை
- ஜாய்ஸ்டிக் தொகுதியைப் புரிந்துகொள்வது:
- சுற்று வரைபடம்:
- ஜாய்ஸ்டிக் இடைமுகத்திற்கான நிரலாக்க:
- உருவகப்படுத்துதல் காட்சி:
- வன்பொருள் மற்றும் வேலை:
எந்தவொரு மின்னணு திட்டங்களிலும் உள்ளீட்டு சாதனங்கள் முக்கிய பங்கு வகிக்கின்றன. இந்த உள்ளீட்டு சாதனம் பயனருக்கு டிஜிட்டல் உலகத்துடன் தொடர்பு கொள்ள உதவுகிறது. உள்ளீட்டு சாதனம் மிகுதி பொத்தானைப் போல எளிமையானதாகவோ அல்லது தொடுதிரை போல சிக்கலாகவோ இருக்கலாம்; இது திட்டத்தின் தேவையைப் பொறுத்து மாறுபடும். இந்த டுடோரியலில் , எங்கள் பி.ஐ.சி மைக்ரோகண்ட்ரோலருடன் ஜாய்ஸ்டிக் எவ்வாறு இடைமுகப்படுத்துவது என்பதை நாம் கற்றுக் கொள்ளப் போகிறோம், ஜாய்ஸ்டிக் என்பது டிஜிட்டல் உலகத்துடன் தொடர்புகொள்வதற்கான ஒரு சிறந்த வழியாகும், கிட்டத்தட்ட எல்லோரும் தங்கள் இளம் பருவத்திலேயே வீடியோ கேம்களை விளையாடுவதற்கு ஒன்றைப் பயன்படுத்தியிருப்பார்கள்.
ஒரு ஜாய்ஸ்டிக் ஒரு அதிநவீன சாதனம் என்று தோன்றலாம், ஆனால் இது உண்மையில் இரண்டு பொட்டென்டோமீட்டர்கள் மற்றும் ஒரு புஷ் பொத்தானின் கலவையாகும். எனவே அந்த MCU இன் ADC அம்சத்தை எவ்வாறு பயன்படுத்துவது என்பது எங்களுக்குத் தெரிந்தால், எந்தவொரு MCU உடன் இடைமுகப்படுத்துவது மிகவும் எளிதானது. பி.ஐ.சி உடன் ஏ.டி.சி.யை எவ்வாறு பயன்படுத்துவது என்பதை நாங்கள் ஏற்கனவே கற்றுக் கொண்டோம், எனவே இது ஜாய்ஸ்டிக்கை இடைமுகப்படுத்துவதற்கான ஒரு வேலையாக இருக்கும். பிக்கிட்டுக்கு புதியவர்கள், திட்டத்தைப் புரிந்துகொள்வதை எளிதாக்குவதற்கு மேற்கண்ட ஏடிசி திட்டத்தையும் எல்இடி ஒளிரும் வரிசை திட்டத்தையும் கற்றுக்கொள்ள பரிந்துரைக்கப்படுகிறது.
பொருள் தேவை
- நிரலாக்கத்திற்கான பிக்கிட் 3
- ஜாய் ஸ்டிக் தொகுதி
- PIC16F877A IC
- 40 - பின் ஐசி வைத்திருப்பவர்
- பெர்ஃப் போர்டு
- 20 மெகா ஹெர்ட்ஸ் கிரிஸ்டல் ஓ.எஸ்.சி.
- பெர்க்ஸ்டிக் ஊசிகளும்
- 220ohm மின்தடை
- எந்த நிறத்தின் 5-எல்.ஈ.
- 1 சாலிடரிங் கிட்
- ஐசி 7805
- 12 வி அடாப்டர்
- கம்பிகளை இணைக்கிறது
- ப்ரெட்போர்டு
ஜாய்ஸ்டிக் தொகுதியைப் புரிந்துகொள்வது:
ஜாய்ஸ்டிக்ஸ் வெவ்வேறு வடிவங்கள் மற்றும் அளவுகளில் கிடைக்கின்றன. ஒரு பொதுவான ஜாய்ஸ்டிக் தொகுதி கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளது. ஒரு ஜாய்ஸ்டிக் என்பது ஸ்மார்ட் மெக்கானிக்கல் ஏற்பாட்டில் பொருத்தப்பட்ட ஓரிரு பொட்டென்டோமீட்டர்கள் மற்றும் புஷ் பொத்தானைத் தவிர வேறில்லை. ஜாய்ஸ்டிக்கின் எக்ஸ் மற்றும் ஒய் இயக்கத்தைக் கண்காணிக்க பொட்டென்டோமீட்டர் பயன்படுத்தப்படுகிறது மற்றும் ஜாய்ஸ்டிக் அழுத்தினால் உணர பொத்தானை பயன்படுத்தப்படுகிறது. பொட்டென்டோமீட்டர்கள் இரண்டும் ஒரு அனலாக் மின்னழுத்தத்தை வெளியிடுகின்றன, இது ஜாய்ஸ்டிக்கின் நிலையைப் பொறுத்தது. இந்த மின்னழுத்த மாற்றங்களை சில மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி விளக்குவதன் மூலம் இயக்கத்தின் திசையைப் பெறலாம். முன்னதாக நாங்கள் ஜாய்ஸ்டிக் ஐ.வி.ஆருடன், ஜாய்ஸ்டிக் ஆர்டுயினோ மற்றும் ராஸ்பெர்ரி பை உடன் இணைத்தோம்.

எந்தவொரு சென்சார் அல்லது தொகுதியையும் மைக்ரோகண்ட்ரோலருடன் இணைப்பதற்கு முன், அது எவ்வாறு செயல்படுகிறது என்பதை அறிந்து கொள்வது அவசியம். இங்கே எங்கள் ஜாய்ஸ்டிக் 5 வெளியீட்டு ஊசிகளைக் கொண்டுள்ளது, அதில் இரண்டு சக்தி மற்றும் மூன்று தரவு. தொகுதி + 5 வி உடன் இயக்கப்பட வேண்டும். தரவு ஊசிகளுக்கு VRX, VRY மற்றும் SW என பெயரிடப்பட்டுள்ளது.
“விஆர்எக்ஸ்” என்ற சொல் எக்ஸ்-அச்சில் மாறுபடும் மின்னழுத்தத்தையும் “விஆர்ஒய்” என்ற சொல் ஒய்-அச்சில் மாறி மின்னழுத்தத்தையும் “எஸ்.டபிள்யூ” சுவிட்சையும் குறிக்கிறது.
எனவே நாம் ஜாய்ஸ்டிக்கை இடது அல்லது வலது பக்கம் நகர்த்தும்போது வி.ஆர்.எக்ஸில் உள்ள மின்னழுத்த மதிப்பு மாறுபடும், அதை நாம் மேலே அல்லது கீழ் மாறுபடும் போது வி.ஆர்.ஒய் மாறுபடும். இதேபோல் நாம் அதை குறுக்காக நகர்த்தும்போது VRX மற்றும் VRY இரண்டும் மாறுபடும். நாம் சுவிட்சை அழுத்தும்போது SW முள் தரையில் இணைக்கப்படும். வெளியீட்டு மதிப்புகளை மிகச் சிறப்பாக புரிந்துகொள்ள கீழேயுள்ள எண்ணிக்கை உங்களுக்கு உதவும்

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

சர்க்யூட் வரைபடத்தில் நீங்கள் காணக்கூடியது போல, ஜாய்ஸ்டிக்கிற்கு பதிலாக நாங்கள் இரண்டு பொட்டென்டோமீட்டர் ஆர்.வி 1 மற்றும் ஆர்.வி 3 ஐ அனலாக் மின்னழுத்த உள்ளீடுகளாகவும் சுவிட்சுக்கு ஒரு லாஜிக் உள்ளீடாகவும் பயன்படுத்தினோம். ஊசிகளின் பெயர்களுடன் பொருந்தவும், அதற்கேற்ப உங்கள் இணைப்புகளை உருவாக்க வயலட் நிறத்தில் எழுதப்பட்ட லேபிள்களையும் நீங்கள் பின்பற்றலாம்.
அனலாக் ஊசிகளை A0 மற்றும் A1 சேனல்களுடன் இணைக்கப்பட்டுள்ளது மற்றும் டிஜிட்டல் சுவிட்ச் RB0 உடன் இணைக்கப்பட்டுள்ளது என்பதை நினைவில் கொள்க. ஜாய்ஸ்டிக் நகர்த்தப்படும் திசையின் அடிப்படையில் ஒன்றை நாம் ஒளிரச் செய்வதற்காக 5 எல்.ஈ.டி விளக்குகள் வெளியீட்டாக இணைக்கப்பட்டுள்ளோம். எனவே இந்த வெளியீட்டு ஊசிகளை RC0 முதல் RC4 வரை PORT C உடன் இணைக்கப்பட்டுள்ளது. எங்கள் சர்க்யூட் வரைபடத்தை நாங்கள் ஒருமுறை நிரலாக்கத்துடன் தொடரலாம், பின்னர் இந்த சர்க்யூட்டில் நிரலை உருவகப்படுத்தலாம், பின்னர் ஒரு ப்ரெட்போர்டில் சர்க்யூட்டை உருவாக்கி பின்னர் நிரலை வன்பொருளில் பதிவேற்றலாம். மேலே உள்ள இணைப்புகளைச் செய்தபின் எனது வன்பொருள் உங்களுக்கு ஒரு யோசனை கொடுக்க கீழே காட்டப்பட்டுள்ளது

ஜாய்ஸ்டிக் இடைமுகத்திற்கான நிரலாக்க:
PIC கொண்டு ஜாய்ஸ்டிக் இடைமுகம் திட்டம் எளிய மற்றும் நேராக முன்னோக்கி இருக்கிறது. ஜாய்ஸ்டிக் எந்த ஊசிகளுடன் இணைக்கப்பட்டுள்ளது மற்றும் அவற்றின் செயல்பாடு என்ன என்பதை நாங்கள் ஏற்கனவே அறிவோம், எனவே நாம் ஊசிகளிலிருந்து அனலாக் மின்னழுத்தத்தைப் படித்து அதற்கேற்ப எல்.ஈ.டி வெளியீட்டைக் கட்டுப்படுத்த வேண்டும்.
இதைச் செய்வதற்கான முழுமையான நிரல் இந்த ஆவணத்தின் முடிவில் கொடுக்கப்பட்டுள்ளது, ஆனால் விஷயங்களை விளக்குவதற்கு கீழே உள்ள சிறிய அர்த்தமுள்ள துணுக்குகளுக்கு குறியீட்டை உடைக்கிறேன்.
கட்டமைப்பு பிட்களை அமைப்பதன் மூலம் நிரல் எப்போதும் தொடங்கப்படுவது போல, உள்ளமைவு பிட்களை அமைப்பது பற்றி நாங்கள் அதிகம் விவாதிக்கப் போவதில்லை, ஏனெனில் எல்.ஈ.டி ஒளிரும் திட்டத்தில் இதை நாங்கள் ஏற்கனவே கற்றுக்கொண்டோம், மேலும் இந்த திட்டத்திற்கும் இதுவே உள்ளது. உள்ளமைவு பிட்கள் அமைக்கப்பட்டவுடன், எங்கள் PIC இல் ADC தொகுதியைப் பயன்படுத்துவதற்கான ADC செயல்பாடுகளை வரையறுக்க வேண்டும். இந்த செயல்பாடு PIC டுடோரியலுடன் ADC ஐ எவ்வாறு பயன்படுத்துவது என்பதையும் கற்றுக்கொண்டது. அதன் பிறகு, எந்த ஊசிகளை உள்ளீடுகள் மற்றும் வெளியீட்டு ஊசிகளாக அறிவிக்க வேண்டும். இங்கே எல்.ஈ.டி PORTC உடன் இணைக்கப்பட்டுள்ளது, எனவே அவை வெளியீட்டு ஊசிகளாகவும், ஜாய்ஸ்டிக்கின் ஸ்விட்ச் முள் டிஜிட்டல் உள்ளீட்டு முள் ஆகும். எனவே இதை அறிவிக்க பின்வரும் வரிகளைப் பயன்படுத்துகிறோம்:
// ***** I / O கட்டமைப்பு **** // TRISC = 0X00; // PORT C வெளியீட்டு துறைமுகங்களாக பயன்படுத்தப்படுகிறது PORTC = 0X00; // அனைத்து ஊசிகளையும் குறைவாக TRISB0 = 1; // RB0 உள்ளீடாகப் பயன்படுத்தப்படுகிறது // *** I / O உள்ளமைவின் முடிவு ** ///
ஏடிசி ஊசிகளையும் உள்ளீடாக வரையறுக்கப்பட்ட வேண்டியதில்லை அது உள்ளீடு முள் போன்ற அளிக்கப்படும் ஏடிசி செயல்பாடு பயன்படுத்தும் போது ஏனெனில் அவர்கள் ஊசிகளையும். ஊசிகளை வரையறுத்தவுடன், நாம் முன்பு வரையறுக்கப்பட்ட ADC_initialize செயல்பாட்டை அழைக்கலாம் . இந்த செயல்பாடு தேவையான ஏடிசி பதிவேடுகளை அமைத்து, ஏடிசி தொகுதியைத் தயாரிக்கும்.
ADC_Initialize (); // ADC தொகுதியை உள்ளமைக்கவும்
இப்போது, நாம் எல்லையற்ற போது வளையத்திற்குள் நுழைகிறோம். இந்த வளையத்தின் உள்ளே நாம் வி.ஆர்.எக்ஸ், வி.ஆர்.ஒய் மற்றும் எஸ்.டபிள்யூ மதிப்புகளை கண்காணிக்க வேண்டும் மற்றும் மதிப்புகளின் அடிப்படையில் நாம் தலைமையிலான வெளியீட்டைக் கட்டுப்படுத்த வேண்டும். VRX மற்றும் VRY இன் அனலாக் மின்னழுத்தத்தைப் படிப்பதன் மூலம் கண்காணிப்பு செயல்முறையை நாம் தொடங்கலாம்
int joy_X = (ADC_Read (0%); // ஜாய்ஸ்டிக்கின் எக்ஸ்-அச்சைப் படியுங்கள் int joy_Y = (ADC_Read (1)); // ஜாய்ஸ்டிக்கின் ஒய்-அச்சைப் படியுங்கள்
இந்த வரி முறையே VRX மற்றும் VRY இன் மதிப்பை மாறி மகிழ்ச்சி_எக்ஸ் மற்றும் மகிழ்ச்சி_ஒய் ஆகியவற்றில் சேமிக்கும் . ADC_Read (0) செயல்பாடு என்பது சேனல் 0 இலிருந்து ADC மதிப்பைப் படிக்கிறோம், இது முள் A0 ஆகும். A0 மற்றும் A1 ஐ இணைக்க VRX மற்றும் VRY ஐ இணைத்துள்ளோம், எனவே 0 மற்றும் 1 இலிருந்து படிக்கிறோம்.
எங்கள் ஏடிசி டுடோரியலில் இருந்து நீங்கள் நினைவு கூர முடிந்தால், பி.ஐ.சி ஒரு டிஜிட்டல் சாதனமாக இருப்பதால் அதை 0 முதல் 1023 வரை படிக்கும் என்று நாங்கள் அறிவோம். ஜாய்ஸ்டிக்கின் ஒவ்வொரு நிலைக்கும் நீங்கள் என்ன மதிப்பை எதிர்பார்க்கலாம் என்பதை அறிய மேலே உள்ள லேபிள் வரைபடத்தைப் பயன்படுத்தலாம்.
இங்கே நான் 200 இன் வரம்பு மதிப்பை குறைந்த வரம்பாகவும் 800 மதிப்பை மேல் வரம்பாகவும் பயன்படுத்தினேன். நீங்கள் விரும்பும் எதையும் நீங்கள் பயன்படுத்தலாம். எனவே நாம் இந்த மதிப்புகள் பயன்படுத்த அதன்படி எல்இடி ங்கள் ஒளிரும் தொடங்க. இதைச் செய்ய நாம் மகிழ்ச்சி_எக்ஸ் மதிப்பை ஐ.எஃப் லூப்பைப் பயன்படுத்தி முன் வரையறுக்கப்பட்ட மதிப்புகளுடன் ஒப்பிட்டு கீழே காட்டப்பட்டுள்ளபடி எல்.ஈ.டி ஊசிகளை அதிகமாகவோ அல்லது குறைவாகவோ செய்ய வேண்டும். கருத்து வரிகள் சிறப்பாக புரிந்துகொள்ள உதவும்
if (joy_X <200) // மகிழ்ச்சி மேலே சென்றது {RC0 = 0; RC1 = 1;} // (LED_X> 800) // மகிழ்ச்சி கீழே நகர்ந்தால் வேறு எல்.ஈ.டி பிரகாசிக்கவும் {RC0 = 1; RC1 = 0;} // பளபளப்பு கீழ் எல்.ஈ.டி வேறு // நகர்த்தப்படாவிட்டால் {RC0 = 0; RC1 = 0;} // வழிவகுத்த இரண்டையும் அணைக்கவும்
ஒய்-அச்சின் மதிப்புக்கும் நாம் இதேபோல் செய்யலாம். நாம் மாறி ஜாய்_எக்ஸ் ஐ ஜாய்_ஒய் உடன் மாற்ற வேண்டும் , மேலும் கீழே காட்டப்பட்டுள்ளபடி அடுத்த இரண்டு எல்இடி ஊசிகளையும் கட்டுப்படுத்த வேண்டும். ஜாய்ஸ்டிக் நகர்த்தப்படாதபோது எல்.ஈ.டி விளக்குகள் இரண்டையும் அணைக்கிறோம் என்பதை நினைவில் கொள்க.
if (joy_Y <200) // மகிழ்ச்சி இடதுபுறமாக நகர்ந்தது {RC2 = 0; RC3 = 1;} // க்ளோ LED விடப்பட்டால் வேறு (joy_Y> 800) // ஜாய் வலது சென்றார் {RC2 = 1; RC3 = 0;} // ஒளிரும் வலது எல்.ஈ.டி வேறு // நகர்த்தப்படாவிட்டால் {RC2 = 0; RC3 = 0;} // எல்.ஈ.டி இரண்டையும் அணைக்கவும்
இப்போது நாம் செய்ய இன்னும் ஒரு இறுதி விஷயம் இருக்கிறது, அழுத்தினால் சுவிட்சை சரிபார்க்க வேண்டும். சுவிட்ச் முள் RB0 உடன் இணைக்கப்பட்டுள்ளது, எனவே லூப் என்றால் மீண்டும் பயன்படுத்தலாம் மற்றும் அது இயக்கப்பட்டிருக்கிறதா என்று சரிபார்க்கலாம். அதை அழுத்தினால், சுவிட்ச் அழுத்தப்பட்டிருப்பதைக் குறிக்க எல்.ஈ.டி.
if (RB0 == 1) // மகிழ்ச்சி அழுத்தினால் RC4 = 1; // பளபளப்பான நடுத்தர எல்இடி வேறு RC4 = 0; // ஆஃப் எல்இடி
உருவகப்படுத்துதல் காட்சி:
முழுமையான திட்டத்தை புரோட்டஸ் மென்பொருளைப் பயன்படுத்தி உருவகப்படுத்தலாம். நீங்கள் நிரலை எழுதியதும் குறியீட்டை தொகுத்து, உருவகப்படுத்துதலின் ஹெக்ஸ் குறியீட்டை சுற்றுடன் இணைக்கவும். எல்.ஈ.டி விளக்குகள் பொட்டென்டோமீட்டர்களின் நிலைக்கு ஏற்ப ஒளிரும் என்பதை நீங்கள் கவனிக்க வேண்டும். உருவகப்படுத்துதல் கீழே காட்டப்பட்டுள்ளது:

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

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