DIY Arduino மற்றும் புளூடூத் கட்டுப்படுத்தப்பட்ட ரோபோடிக் கையை உருவாக்குவது எப்படி?

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



ரோபோடிக் கை

இந்த திட்டத்தில், நாங்கள் ஒரு ரோபோடிக் கையை உருவாக்கப் போகிறோம், இது ஒரு ஆர்டுயினோ மைக்ரோகண்ட்ரோலரால் கட்டுப்படுத்தப்படும். இது ஒரு Android ரிமோட் கண்ட்ரோல் பயன்பாட்டின் உதவியுடன் புளூடூத் வழியாக கட்டுப்படுத்தப்படும்.



Arduino ஐப் பயன்படுத்தி ஒரு ரோபோடிக் கையை எவ்வாறு கட்டுப்படுத்துவது?

இப்போது எங்கள் திட்டத்தின் சுருக்கம் எங்களுக்குத் தெரியும். சுற்று பற்றி மேலும் சில தகவல்களை சேகரித்து புளூடூத் கட்டுப்பாட்டு ரோபோ கையை உருவாக்க ஆரம்பித்து அதை புளூடூத் வழியாக கட்டுப்படுத்துவோம்.



படி 1: கூறுகளை சேகரித்தல்

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



  • HC-05 வயர்லெஸ் புளூடூத் சீரியல் டிரான்ஸ்ஸீவர்
  • 6 வி அடாப்டர்
  • ஜம்பர் கம்பிகள்
  • ப்ரெட்போர்டு

படி 2: கூறுகளைப் படிப்பது

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

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

அர்டுடினோ நானோ



HC-05 வயர்லெஸ் புளூடூத் சீரியல் டிரான்ஸ்ஸீவர் : இந்த திட்டத்தில் எங்களுக்கு வயர்லெஸ் தொடர்பு தேவை, எனவே நாங்கள் புளூடூத் தொழில்நுட்பத்தைப் பயன்படுத்துவோம், மேலும் அந்த தொகுதிக்கு HC-05 பயன்படுத்தப்படுகிறது. இந்த தொகுதி பல நிரல்படுத்தக்கூடிய பாட் விகிதங்களைக் கொண்டுள்ளது, ஆனால் இயல்புநிலை பாட் வீதம் 9600 பிபிஎஸ் ஆகும். இது மாஸ்டர் அல்லது அடிமை என கட்டமைக்கப்படலாம், அதே நேரத்தில் மற்றொரு தொகுதி HC-06 அடிமை பயன்முறையில் மட்டுமே செயல்பட முடியும். இந்த தொகுதிக்கு நான்கு ஊசிகளும் உள்ளன. ஒன்று வி.சி.சி (5 வி) மற்றும் மீதமுள்ள மூன்று ஜி.என்.டி, டி.எக்ஸ் மற்றும் ஆர்.எக்ஸ். இந்த தொகுதியின் இயல்புநிலை கடவுச்சொல் 1234 அல்லது 0000 . நாங்கள் இரண்டு மைக்ரோகண்ட்ரோலர்களுக்கிடையில் தொடர்பு கொள்ள விரும்பினால் அல்லது தொலைபேசி அல்லது லேப்டாப் எச்.சி -05 போன்ற புளூடூத் செயல்பாட்டுடன் எந்த சாதனத்துடனும் தொடர்பு கொள்ள விரும்பினால் அதைச் செய்ய எங்களுக்கு உதவுகிறது. பல Android பயன்பாடுகள் ஏற்கனவே கிடைக்கின்றன, இது இந்த செயல்முறையை மிகவும் எளிதாக்குகிறது.

HC-05 புளூடூத் தொகுதி

ஒரு பொதுவான ரோபோடிக் கை பல பிரிவுகளால் ஆனது மற்றும் பொதுவாக 6 மூட்டுகளைக் கொண்டுள்ளது. இது கணினியால் கட்டுப்படுத்தப்படும் குறைந்தபட்சம் 4 ஸ்டெப்பர் மோட்டார்கள் கொண்டுள்ளது. ஸ்டெப்பர் மோட்டார்கள் மற்ற டிசி மோட்டார்கள் வேறுபட்டவை. அவை துல்லியமான அதிகரிப்புகளில் துல்லியமாக நகரும். இந்த ரோபோ ஆயுதங்கள் பல்வேறு நடவடிக்கைகளை மேற்கொள்ள பயன்படுத்தப்படுகின்றன. ரிமோட் கண்ட்ரோல் மூலம் அவற்றை கைமுறையாக இயக்கலாம் அல்லது அவற்றை தன்னாட்சி முறையில் வேலை செய்ய நாங்கள் திட்டமிடலாம்.

ரோபோடிக் கை.

படி 3: கூறுகளை அசெம்பிளிங் செய்தல்

இப்போது பயன்படுத்தப்படும் அனைத்து முக்கிய கூறுகளின் வேலை பற்றி எங்களுக்குத் தெரியும். அவற்றைக் கூட்ட ஆரம்பித்து தொலை கட்டுப்பாட்டு ரோபோ கையை உருவாக்க ஒரு சுற்று செய்வோம்.

  1. ப்ரெட்போர்டில் அர்டுயினோ நானோ போர்டை இணைக்கவும். அடாப்டரின் நேர்மறை மற்றும் எதிர்மறை கம்பி மூலம் அர்டுயினோ இயக்கப்படும்.
  2. ப்ரூடோர்டிலும் புளூடூத் தொகுதியை வைக்கவும். Arduino மூலம் புளூடூத் தொகுதியை மேம்படுத்தவும். புளூடூத் தொகுதியின் Tx முள் Arduino Nan குழுவின் Rx முள் உடன் இணைக்கவும் மற்றும் புளூடூத் தொகுதியின் Rx முள் Arduino நானோ போர்டின் Tx முள் உடன் இணைக்கவும்.
  3. 4 ஸ்டெப்பர் மோட்டார்கள் உள்ளன என்பது எங்களுக்குத் தெரியும். ஒவ்வொன்றுக்கும் ஒரு தொழில்நுட்ப பெயர் உண்டு. அவர்கள் அழைக்கப்படுகிறார்கள் முழங்கை , தோள்பட்டை , அடித்தளம், மற்றும் கிரிப்பர் . அனைத்து மோட்டார்களின் வி.சி.சி மற்றும் மைதானம் பொதுவானதாக இருக்கும் மற்றும் 6 வி அடாப்டரின் நேர்மறை மற்றும் எதிர்மறையுடன் இணைக்கப்படும். நான்கு மோட்டார்களின் சிக்னல் முள் Arduino நானோவின் pin5, pin6, pin9 மற்றும் pin11 உடன் இணைக்கப்படும்.
  4. நீங்கள் செய்த இணைப்புகள் பின்வரும் சுற்று வரைபடத்தின்படி என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.

    சுற்று வரைபடம்

படி 4: Arduino உடன் தொடங்குவது

Arduino IDE ஐ நீங்கள் ஏற்கனவே அறிந்திருக்கவில்லை என்றால், கவலைப்பட வேண்டாம், ஏனென்றால் மைக்ரோகண்ட்ரோலர் போர்டுடன் Arduino IDE ஐ அமைப்பதற்கும் பயன்படுத்துவதற்கும் படிப்படியான ஒரு படி கீழே விவரிக்கப்பட்டுள்ளது.

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

    துறைமுகத்தைக் கண்டறிதல்

  3. கருவி மெனுவைக் கிளிக் செய்து பலகையை அமைக்கவும் அர்டுடினோ நானோ கீழ்தோன்றும் மெனுவிலிருந்து.

    அமைத்தல் வாரியம்

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

    துறைமுகத்தை அமைத்தல்

  5. அதே கருவி மெனுவில், செயலியை அமைக்கவும் ATmega328P (பழைய துவக்க ஏற்றி).

    செயலி

  6. சர்வோ மோட்டார்கள் இயக்க குறியீடு எழுத, எங்களுக்கு சிறப்பு நூலகம் தேவை, இது சர்வோ மோட்டர்களுக்கு பல செயல்பாடுகளை எழுத உதவும். இந்த நூலகம் குறியீட்டோடு இணைக்கப்பட்டுள்ளது, கீழே உள்ள இணைப்பில். நூலகத்தைச் சேர்க்க, கிளிக் செய்க ஸ்கெட்ச்> நூலகத்தைச் சேர்க்கவும்> ZIP ஐச் சேர்க்கவும். நூலகம்.

    நூலகம் சேர்க்கவும்

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

    பதிவேற்றவும்

குறியீட்டைப் பதிவிறக்க, இங்கே கிளிக் செய்க.

படி 5: பயன்பாட்டைப் பதிவிறக்குகிறது

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

செயலி

படி 6: குறியீட்டைப் புரிந்துகொள்வது

குறியீடு நன்கு கருத்துரைக்கப்பட்டு புரிந்துகொள்ள எளிதானது. இன்னும் பர், இது சுருக்கமாக கீழே விளக்கப்பட்டுள்ளது.

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

# அடங்கும் // arduino நூலகம் # அடங்கும் // நிலையான c நூலகம் # PI ஐ வரையறுக்கவும் 3.141 Servo baseServo; சர்வோ தோள்பட்டை சர்வோ; சர்வோ முழங்கைசர்வோ; சர்வோ கிரிப்பர்சர்வோ; int கட்டளை;

2. பின்னர் அடிப்படை, தோள்பட்டை மற்றும் முழங்கை சர்வோ மோட்டர்களுக்கான மதிப்புகளை எடுக்க ஒரு கட்டமைப்பு அறிவிக்கப்படுகிறது.

struct JointAngle {// ஒரு கட்டமைப்பு எண்ணின் தளத்தை அறிவித்தல்; முழு தோள்பட்டை; முழு முழங்கை; };

3. இதற்குப் பிறகு, விரும்பிய பிடியை, தாமதம் மற்றும் சர்வோ மோட்டரின் நிலையை சேமிக்க சில மாறிகள் துவக்கப்படுகின்றன. வேகம் 15 ஆக அமைக்கப்பட்டுள்ளது, மேலும் கட்டமைப்பில் உள்ள கோணத்தின் மதிப்பை எடுக்க ஒரு பொருள் தயாரிக்கப்படுகிறது.

int விரும்பிய கிரிப்; int கிரிப்பர்போஸ்; எண்ணாக விரும்பிய தேதி; int servoSpeed ​​= 15; int தயார் = 0; struct கூட்டுஆங்கிள் விரும்பிய ஆங்கிலம்; சேவையகங்களின் // விரும்பிய கோணங்கள்

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

void setup () {Serial.begin (9600); baseServo.attach (9); // முள் 9 இல் அடிப்படை சேவையை சர்வோ பொருள் தோள்பட்டை சேவையகத்துடன் இணைக்கிறது (10); // முள் 9 இல் தோள்பட்டை சேவையை சேவையக பொருளான elbowServo.attach (11) உடன் இணைக்கிறது; // முள் 9 இல் முழங்கை சேவையை சர்வோ ஆப்ஜெக்ட் கிரிப்பர்சர்வோ.அட்டாச்சுடன் இணைக்கிறது (6); // முள் 9 இல் உள்ள கிரிப்பர் சர்வோவை சர்வோ ஆப்ஜெக்ட் சீரியல்.செட் டைமவுட் (50) உடன் இணைக்கிறது; // arduino சீரியலை அதிக நேரம் படிக்கவில்லை என்பதை உறுதி செய்கிறது Serial.println ('தொடங்கியது'); baseServo.write (90); // சேவையகங்களின் தோள்பட்டை நிலைகள் சர்வோ.ரைட் (150); elbowServo.write (110); தயார் = 0; }

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

int servoParallelControl (int thePos, Servo theServo, int theSpeed) {int startPos = theServo.read (); // தற்போதைய pos int newPos = startPos; // int theSpeed ​​= வேகம்; // கட்டளை தொடர்பாக pos எங்குள்ளது என்பதை வரையறுக்கவும் // தற்போதைய நிலை குறைவாக இருந்தால் உண்மையான நகர்வு (ஸ்டார்ட் போஸ் (thePos + 5)) {newPos = newPos - 1; theServo.write (newPos); தாமதம் (தி ஸ்பீட்); திரும்ப 0; } else {திரும்ப 1; }}

6. வெற்றிட சுழற்சி () ஒரு சுழற்சியில் மீண்டும் மீண்டும் இயங்கும் ஒரு செயல்பாடு. இந்த செயல்பாடு தொடர்ச்சியாக வரும் தரவைப் படித்து ஒவ்வொரு சேவையின் கோணத்தையும் கட்டமைப்பில் சேமிக்கிறது. ஆரம்பத்தில், அனைத்து சேவைகளின் நிலை பூஜ்ஜியமாக அமைக்கப்படுகிறது. இங்கே ஒரு செயல்பாடு servoParallelControl () அழைக்கப்படுகிறது மற்றும் அளவுருக்கள் அதில் அனுப்பப்படுகின்றன. இந்த செயல்பாடு மதிப்பைத் தரும், மேலும் அது நிலை மாறியில் சேமிக்கப்படும்.

void loop () {if (Serial.available ()) {ready = 1; விரும்பியஅங்கிள்.பேஸ் = சீரியல்.பார்ஸ்இன்ட் (); wantAngle.shoulder = Serial.parseInt (); wantAngle.elbow = Serial.parseInt (); விரும்பிய கிரிப் = சீரியல்.பார்ஸ்இன்ட் (); wantDelay = Serial.parseInt (); if (Serial.read () == ' n') {// கடைசி பைட் 'd' ஆக இருந்தால், படிப்பதை நிறுத்திவிட்டு 'd' கட்டளையை இயக்கவும் 'முடிந்தது' Serial.flush (); // இடையகத்தில் குவிந்துள்ள மற்ற அனைத்து கட்டளைகளையும் அழிக்கவும் // Serial.print ('d') கட்டளையை நிறைவு செய்யுங்கள்; status} int status1 = 0; int status2 = 0; int status3 = 0; int status4 = 0; int முடிந்தது = 0; போது (முடிந்தது == 0 && தயார் == 1) {// சேவையை விரும்பிய நிலைக்கு நகர்த்தவும் நிலை 1 = servoParallelControl (விரும்பியஅங்கிள்.பேஸ், பேஸ் சர்வோ, விரும்பிய டெலே); status2 = servoParallelControl (விரும்பியஅங்கிள்.ஷால்டர், தோள்பட்டை, விரும்பியதே); status3 = servoParallelControl (விரும்பியஅங்கிள்.ல்போ, முழங்கை சர்வோ, விரும்பிய டெலே); status4 = servoParallelControl (விரும்பிய கிரிப், கிரிப்பர்சர்வோ, விரும்பிய தேதி); if (status1 == 1 & status2 == 1 & status3 == 1 & status4 == 1) {முடிந்தது = 1}} // முடிவில்}

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