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

செய்ய கை சைகைகள் மூலம் பிசி கட்டுப்படுத்த, வெறும் Arduino உடன் இரண்டு அல்ட்ராசோனிக் உணர்வுகளை இணைக்க. 5V உடன் அமெரிக்க சென்சார் வேலை எங்களுக்குத் தெரியும், எனவே அவை ஆர்டுயினோவின் போர்டு வோல்டேஜ் ரெகுலேட்டரால் இயக்கப்படுகின்றன. தொகுதியை இயக்குவதற்கும் சீரியல் தகவல்தொடர்புக்கும் Arduino ஐ பிசி / லேப்டாப்பில் இணைக்க முடியும். இணைப்புகள் முடிந்ததும் கீழே காட்டப்பட்டுள்ளபடி அவற்றை உங்கள் மானிட்டரில் வைக்கவும். எனது மானிட்டரில் ஒட்டுவதற்கு நான் இரட்டை பக்க நாடாவைப் பயன்படுத்தினேன், ஆனால் நீங்கள் உங்கள் சொந்த படைப்பாற்றலைப் பயன்படுத்தலாம். ஒரு இடத்தில் அதைப் பாதுகாத்த பிறகு, புரோகிராமிங்கைத் தொடரலாம்.


உங்கள் Arduino ஐ நிரலாக்க:
அமெரிக்க சென்சாரிலிருந்து கை தூரத்தைப் படிக்க Arduino திட்டமிடப்பட வேண்டும். முழுமையான நிரல் இந்தப் பக்கத்தின் இறுதியில் தரப்படுகிறது; கீழே நான் நிரல் விளக்கம் கொடுத்தேன். நீங்கள் மீயொலி சென்சாருக்கு புதியவர் என்றால், அர்டுயினோ & அல்ட்ராசோனிக் சென்சார் அடிப்படையிலான தூர அளவீட்டு வழியாக செல்லுங்கள்.
தூரத்தின் மதிப்பைப் படிப்பதன் மூலம் சைகைகளுடன் கட்டுப்படுத்தப்பட வேண்டிய சில செயல்களை நாம் அடையலாம், எடுத்துக்காட்டாக இந்த திட்டத்தில் நான் 5 செயல்களை ஒரு டெமோவாக நிரல் செய்துள்ளேன்.
செயல் 1: இரு கைகளும் ஒரு குறிப்பிட்ட தூரத்தில் சென்சாருக்கு முன் வைக்கப்படும் போது வி.எல்.சி பிளேயரில் உள்ள வீடியோ விளையாட / இடைநிறுத்தப்பட வேண்டும்.
செயல் 2: ஒரு குறிப்பிட்ட தூரத்தில் சென்சார் முன் வலது கை வைக்கப்படும் போது, வீடியோ வேகமாக முன்னேற வேண்டும்.
செயல் 3: ஒரு குறிப்பிட்ட தூரத்தில் சென்சார் முன் இடது கை வைக்கப்படும் போது, வீடியோ ஒரு படி முன்னாடி வைக்க வேண்டும்.
செயல் 4: சென்சார் முன் ஒரு குறிப்பிட்ட தூரத்தில் வலது கை வைக்கப்பட்டு, பின்னர் சென்சார் நோக்கி நகர்த்தப்பட்டால் வீடியோ வேகமாக முன்னோக்கி செல்ல வேண்டும், மேலும் நகர்த்தப்பட்டால் வீடியோ ரிவைண்ட் செய்யப்பட வேண்டும்.
செயல் 5: சென்சார் முன் ஒரு குறிப்பிட்ட தூரத்தில் இடது கை வைக்கப்பட்டு, பின்னர் சென்சார் நோக்கி நகர்ந்தால் வீடியோவின் அளவு அதிகரிக்க வேண்டும், மேலும் நகர்த்தப்பட்டால் தொகுதி குறைய வேண்டும்.
மேற்கண்ட செயல்களைச் செய்ய நிரல் எவ்வாறு எழுதப்பட்டுள்ளது என்பதைப் பார்ப்போம். எனவே, எல்லா நிரல்களையும் போலவே கீழே காட்டப்பட்டுள்ளபடி I / O ஊசிகளையும் வரையறுப்பதன் மூலம் தொடங்குவோம். இரண்டு அமெரிக்க சென்சார்கள் டிஜிட்டல் ஊசிகளுடன் 2,3,4 மற்றும் 5 உடன் இணைக்கப்பட்டுள்ளன, மேலும் அவை + 5 வி முள் மூலம் இயக்கப்படுகின்றன. தூண்டுதல் ஊசிகளும் வெளியீட்டு முள் மற்றும் எக்கோ ஊசிகளும் உள்ளீட்டு ஊசிகளாகும்.
Arduino மற்றும் மலைப்பாம்புக்கு இடையிலான தொடர் தொடர்பு 9600 என்ற பாட் விகிதத்தில் நடைபெறுகிறது.
const int தூண்டுதல் 1 = 2; // 1st Sesnor const int echo1 = 3 இன் தூண்டுதல் முள்; // 1 வது செஸ்னர் கான்ஸ்ட் இன்ட் தூண்டுதல் 2 = 4 இன் எக்கோ முள்; // 2 வது செஸ்னரின் தூண்டுதல் முள் எதிரொலி 2 = 5; // 2 வது செஸ்னர் வெற்றிட அமைப்பின் எதிரொலி முள் () {Serial.begin (9600); pinMode (தூண்டுதல் 1, OUTPUT); pinMode (echo1, INPUT); pinMode (தூண்டுதல் 2, OUTPUT); pinMode (echo2, INPUT); }
எந்தவொரு செயலையும் முடிப்பதற்கு முன் ஒவ்வொரு முறையும் சென்சாருக்கும் கைக்கும் இடையிலான தூரத்தை நாம் கணக்கிட வேண்டும். எனவே நாம் இதை பல முறை செய்ய வேண்டும், அதாவது இந்த குறியீடு ஒரு செயல்பாடாக பயன்படுத்தப்பட வேண்டும். Calclate_distance () என்ற பெயரில் ஒரு செயல்பாட்டை நாங்கள் எழுதியுள்ளோம், இது சென்சார் மற்றும் கைக்கு இடையிலான தூரத்தை நமக்குத் தரும்.
/ * ### தூரத்தைக் கணக்கிடுவதற்கான செயல்பாடு ### * / வெற்றிடக் கணக்கிடு_விளக்கம் (முழு தூண்டுதல், முழு எதிரொலி) {டிஜிட்டல்ரைட் (தூண்டுதல், குறைந்த); delayMicroseconds (2); டிஜிட்டல்ரைட் (தூண்டுதல், உயர்); delayMicroseconds (10); டிஜிட்டல்ரைட் (தூண்டுதல், குறைந்த); time_taken = துடிப்புஇன் (எதிரொலி, உயர்); dist = time_taken * 0.034 / 2; if (dist> 50) dist = 50; }
எங்கள் பிரதான வட்டத்திற்குள் நாம் தூரத்தின் மதிப்பைச் சரிபார்த்து மேலே குறிப்பிட்ட செயல்களைச் செய்கிறோம். அதற்கு முன் நாம் distL மற்றும் distR ஆகிய இரண்டு மாறிகள் பயன்படுத்துகிறோம், இது தற்போதைய தூர மதிப்புடன் புதுப்பிக்கப்படும்.
calculate_distance (தூண்டுதல் 1, எதிரொலி 1); distL = dist; // இடது சென்சார் கணக்கீடு_விளக்கம் (தூண்டுதல் 2, எதிரொலி 2); distR = dist; // சரியான சென்சாரின் தூரத்தைப் பெறுங்கள்
இரண்டு சென்சார்களுக்கும் இடையிலான தூரத்தை நாங்கள் அறிந்திருப்பதால், இப்போது அதை முன் வரையறுக்கப்பட்ட மதிப்புகளுடன் ஒப்பிட்டு சில செயல்களுக்கு வரலாம். உதாரணமாக இரு கைகளும் 40 எம்.சி தூரத்தில் வைக்கப்பட்டால், நாங்கள் வீடியோவை இயக்குகிறோம் / இடைநிறுத்துகிறோம். இங்கே “Play / Pause” என்ற சொல் சீரியல் போர்ட் வழியாக அனுப்பப்படும்
if ((distL> 40 && distR> 40) && (distL <50 && distR <50)) // இரு கைகளையும் கண்டறியவும் {Serial.println ("Play / Pause"); தாமதம் (500);}
வலது கை மட்டும் தொகுதிக்கு முன் வைக்கப்பட்டால், வீடியோவை ஒரு படி வேகமாக அனுப்புவோம், அது இடது கை என்றால் ஒரு படி மூலம் முன்னாடி விடுகிறோம். செயலின் அடிப்படையில், இங்கே “ரிவைண்ட்” அல்லது “ஃபார்வர்ட்” என்ற சொல் சீரியல் போர்ட் வழியாக அனுப்பப்படும்
if ((distL> 40 && distL <50) && (distR == 50%) // இடது கையைக் கண்டறிதல் {Serial.println ("முன்னாடி"); தாமதம் (500);} if ((distR> 40 && distR <50) && (distL == 50%) // வலது கையைக் கண்டறிதல் {Serial.println ("Forward"); தாமதம் (500);}
தொகுதி மற்றும் தடத்தின் எதிரி விரிவான கட்டுப்பாடு தவறான தூண்டுதல்களைத் தடுக்க வேறு முறையைப் பயன்படுத்துகிறோம். செய்ய தொகுதி கட்டுப்படுத்த நாங்கள் சுமார் இடது கை வைக்க வேண்டும். 15 செ.மீ தூரத்தில், அளவை அதிகரிக்க சென்சாரிலிருந்து அதை நகர்த்துவதற்கான அளவைக் குறைக்க நீங்கள் அதை சென்சார் நோக்கி நகர்த்தலாம். அதற்கான குறியீடு கீழே காட்டப்பட்டுள்ளது. செயலின் அடிப்படையில், இங்கே “Vup” அல்லது “Vdown” என்ற சொல் சீரியல் போர்ட் வழியாக அனுப்பப்படும்
// இடதுபுறமாக பூட்டு - கட்டுப்பாட்டு முறை என்றால் (distL> = 13 && distL <= 17) {தாமதம் (100); // ஹேண்ட் ஹோல்ட் டைம் கணக்கீடு_விளக்கம் (தூண்டுதல் 1, எதிரொலி 1); distL = dist; if (distL> = 13 && distL <= 17) {Serial.println ("இடது பூட்டப்பட்டுள்ளது"); (distL <= 40) {கணக்கிட_விளக்கம் (தூண்டுதல் 1, எதிரொலி 1); distL = dist; if (distL <10) // கை {Serial.println ("Vup") இல் தள்ளப்படுகிறது; தாமதம் (300);} if (distL> 20) // கை வெளியேற்றப்பட்டது {Serial.println ("Vdown"); தாமதம் (300);}}}}
வீடியோவின் தடத்தைக் கட்டுப்படுத்த, வலது பக்க சென்சாருக்கும் இதே முறையைப் பயன்படுத்தலாம். அதாவது, நாம் வலது கையை சென்சார் நோக்கி நகர்த்தினால் அது திரைப்படத்தை வேகமாக முன்னோக்கி நகர்த்தும், நீங்கள் அதை சென்சாரிலிருந்து நகர்த்தினால் அது திரைப்படத்தை முன்னாடி வைக்கும். செயலின் அடிப்படையில், இங்கே “ரிவைண்ட்” அல்லது “ஃபார்வர்ட்” என்ற சொல் சீரியல் போர்ட் வழியாக அனுப்பப்படும்
பக்கத்தின் முடிவில் கொடுக்கப்பட்ட இந்த சைகை கட்டுப்பாட்டு பிசிக்கான முழுமையான குறியீட்டை இப்போது நீங்கள் படித்து, அதை முழுவதுமாகக் குறைக்க முயற்சிக்கவும், பின்னர் அதை உங்கள் ஆர்டுயினோ ஐடிஇக்கு நகலெடுக்கவும்.
உங்கள் பைத்தானை நிரலாக்க:
இந்த திட்டத்திற்கான பைதான் திட்டம் மிகவும் எளிது. சரியான பாட் வீதத்தின் மூலம் அர்டுயினோவுடன் ஒரு தொடர் தகவல்தொடர்புகளை நாங்கள் நிறுவ வேண்டும், பின்னர் சில அடிப்படை விசைப்பலகை செயல்களைச் செய்ய வேண்டும். பைதான் உடனான முதல் படி p yautogui தொகுதியை நிறுவ வேண்டும். இந்த கட்டத்தை நீங்கள் பின்பற்றுகிறீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், ஏனெனில் நிரல் பியூட்டோகுய் தொகுதி இல்லாமல் இயங்காது.
சாளரங்களுக்கான பைட்டோகுய் தொகுதியை நிறுவுதல்:
சாளரங்களுக்கு pyautogui ஐ நிறுவ பின்வரும் படிகளைப் பின்பற்றவும். நீங்கள் பிற தளங்களைப் பயன்படுத்துகிறீர்கள் என்றால் படிகளும் அதிகமாகவோ அல்லது குறைவாகவோ இருக்கும். உங்கள் கணினி / லேப்டாப் இணையத்துடன் இணைக்கப்பட்டுள்ளதா என்பதை உறுதிசெய்து, கீழேயுள்ள படிகளுடன் தொடரவும்
படி 1: விண்டோஸ் கட்டளை வரியில் திறந்து, நீங்கள் பைதான் நிறுவிய கோப்புறையில் கோப்பகத்தை மாற்றவும். முன்னிருப்பாக கட்டளை இருக்க வேண்டும்
cd C: y பைதான் 27
படி 2: உங்கள் பைதான் கோப்பகத்தின் உள்ளே உங்கள் குழாயை மேம்படுத்த பைதான் –எம் பிப் இன்ஸ்டால் -அப்ரேட் பைப் கட்டளையைப் பயன்படுத்தவும். பிப் என்பது பைத்தானில் உள்ள ஒரு கருவியாகும், இது பைதான் தொகுதிகளை எளிதாக நிறுவ உதவுகிறது. இந்த தொகுதி மேம்படுத்தப்பட்டதும் (கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி) அடுத்த கட்டத்திற்கு செல்லுங்கள்.
python –m pip install -upgrade pip
படி 3: pyautogui தொகுதியை நிறுவ “ python –m pip install pyautogui ” கட்டளையைப் பயன்படுத்தவும். செயல்முறை வெற்றிகரமாக முடிந்ததும், இதைப் போன்ற ஏதாவது ஒரு திரையை கீழே காண வேண்டும்.
python –m pip install -upgrade pip

இப்போது பைத்தோகுய் தொகுதி மற்றும் பைசீரியல் தொகுதி (முந்தைய டுடோரியலில் நிறுவப்பட்டுள்ளது) பைத்தானுடன் வெற்றிகரமாக நிறுவப்பட்டிருப்பதால், பைதான் நிரலுடன் தொடரலாம். முழு மலைப்பாம்பு குறியீடு பயிற்சியின் இறுதியில் உள்ள கொடுக்கப்பட்டுள்ளது ஆனால் பின்வருமாறு அதே விளக்கமாகும்.
இந்த திட்டத்திற்கு தேவையான மூன்று தொகுதிகளையும் இறக்குமதி செய்வோம். அவை பியூட்டோகுய், சீரியல் பைதான் மற்றும் நேரம்.
இறக்குமதி சீரியல் # சீரியல் தகவல்தொடர்பு இறக்குமதி நேரத்திற்காக இறக்குமதி செய்யப்பட்டது # தாமத செயல்பாடுகளை இறக்குமதி செய்ய வேண்டும் பைட்டோகுய்
அடுத்து நாம் COM போர்ட் மூலம் Arduino உடன் இணைப்பை ஏற்படுத்துகிறோம். எனது கணினியில் Arduino COM 18 உடன் இணைக்கப்பட்டுள்ளது. உங்கள் Arduino எந்த COM துறைமுகத்துடன் இணைக்கப்பட்டுள்ளது என்பதைக் கண்டறிய சாதன நிர்வாகியைப் பயன்படுத்தவும், அதற்கேற்ப பின்வரும் வரியை சரிசெய்யவும்.
ArduinoSerial = serial.Serial ('com18', 9600) # arduinoSerialData time எனப்படும் சீரியல் போர்ட் பொருளை உருவாக்கவும். தூக்கம் (2) # தொடர்பு நிறுவ 2 வினாடிகள் காத்திருக்கவும்
எல்லையற்ற போது வளையத்திற்குள், நாங்கள் மீண்டும் மீண்டும் COM போர்ட்டைக் கேட்டு , முக்கிய சொற்களை எந்த முன்-மறுக்கப்பட்ட படைப்புகளுடன் ஒப்பிட்டு, அதற்கேற்ப விசைப்பலகை அழுத்துகிறோம்.
அதே நேரத்தில் 1: உள்வரும் = str (ArduinoSerial.readline ()) # தொடர் தரவைப் படித்து, உள்வரும் இடத்தில் 'இயக்கு / இடைநிறுத்தம்' செய்தால் அதை வரி அச்சிடுக என அச்சிடுக: pyautogui.typewrite (, 0.2) உள்வரும் போது 'முன்னாடி' என்றால்: pyautogui. உள்வரும் போது 'முன்னோக்கி' இருந்தால் ஹாட்ஸ்கி ('ctrl', 'இடது'): உள்வரும் போது 'Vup' என்றால்: pyautogui.hotkey ('ctrl', 'right'): pyautogui.hotkey ('ctrl', 'down') if ' Vdown 'உள்வரும்: pyautogui.hotkey (' ctrl ',' up ')
நீங்கள் பார்க்க முடியும் என, ஒரு விசையை அழுத்துவதற்கு நாம் “pyautogui.typewrite (, 0.2)” கட்டளையைப் பயன்படுத்த வேண்டும், இது முக்கிய இடத்தை 0.2sec க்கு அழுத்தும். உங்களுக்கு ctrl + S போன்ற சூடான விசைகள் தேவைப்பட்டால், “pyautogui.hotkey ('ctrl', 's')” என்ற சூடான விசை கட்டளையைப் பயன்படுத்தலாம் .
இந்த சேர்க்கைகளை நான் பயன்படுத்தினேன், ஏனெனில் அவை வி.எல்.சி மீடியா பிளேயரில் வேலை செய்கின்றன, நீங்கள் கணினியில் எதையும் சைகைகளுடன் கட்டுப்படுத்த உங்கள் சொந்த பயன்பாடுகளை உருவாக்க விரும்பும் எந்த வகையிலும் அவற்றை மாற்றலாம்.
சைகை கட்டுப்படுத்தப்பட்ட கணினி செயலில்:
மேலே வரையறுக்கப்பட்டபடி இணைப்புகளை உருவாக்கி, உங்கள் ஆர்டுயினோ போர்டில் Arduino குறியீட்டைப் பதிவேற்றவும். பின்னர் கீழே உள்ள பைதான் ஸ்கிரிப்டைப் பயன்படுத்தி உங்கள் லேப்டாப் / கணினியில் நிரலைத் தொடங்கவும்.
இப்போது நீங்கள் வி.எல்.சி மீடியா பிளேயரைப் பயன்படுத்தி உங்கள் கணினியில் எந்த திரைப்படத்தையும் இயக்கலாம் மற்றும் கீழே கொடுக்கப்பட்டுள்ள வீடியோவில் காட்டப்பட்டுள்ளபடி மூவியைக் கட்டுப்படுத்த உங்கள் கையைப் பயன்படுத்தலாம்.

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