Turinys:
- 1 žingsnis: projekto apžvalga
- 2 žingsnis: schemos
- 3 žingsnis: PS2 valdiklio schema
- 4 veiksmas: „Zio“modulių ryšio nustatymas
- 5 veiksmas: prijunkite robotų rankos servo prie „Zio 16“servo valdiklio
- 6 veiksmas: prijunkite „16 Servo“prie DC/DC stiprintuvo ir nustatykite 6,0 V įtampą
- 7 veiksmas: prijunkite „Zuino M Uno“prie „Zio 16“servo valdiklio
- 8 veiksmas: „Uno“prijungimas prie PS2 imtuvo
- 9 žingsnis: Robotų rankos kodas
- 10 veiksmas: paleiskite kodą
- 11 veiksmas: kodo paaiškinimas
Video: Robotų ranka su „Zio“moduliais 2 dalis: 11 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šiandienos pamokoje mes naudosime visas 4 servo sistemas ir PS2 belaidį valdiklį, kad valdytume robotą.
Šis tinklaraščio įrašas yra „Zio Robotics“serijos dalis.
Įvadas
Ankstesniame tinklaraštyje paskelbėme 1 dalies vadovėlį, kaip valdyti robotinę ranką naudojant „Zio“modulius. 1 dalyje daugiausia dėmesio buvo skiriama automatiniam jūsų robotinės rankos letenos valdymui atidaryti ir uždaryti.
Šiandienos pamokoje mes šiek tiek patobulinsime, įtraukdami „PS2“belaidį valdiklį, skirtą valdyti robotų ranką. Šiam projektui mes naudosime 4 servo sistemas.
1 žingsnis: projekto apžvalga
Sunkumo lygis:
Zio Padawan
Naudingi ištekliai:
Turėtumėte turėti pagrindinį supratimą, kaip įdiegti „Zio“kūrimo plokštes. Šioje pamokoje darome prielaidą, kad jūsų kūrimo lenta jau sukonfigūruota ir paruošta nustatyti. Jei dar nesukonfigūravote savo plokštės, peržiūrėkite mūsų „Zio Qwiic“pradžios vadovo pamoką, kad galėtumėte pradėti:
„Zio Zuino M UNO Qwiic“pradžios vadovas
2 žingsnis: schemos
Čia yra 2 -osios robotinės rankos projekto prijungimo schemos, taip pat PS2 valdiklio schema, reikalinga norint suprasti jūsų kodavimo dalį.
3 žingsnis: PS2 valdiklio schema
4 veiksmas: „Zio“modulių ryšio nustatymas
Žemiau yra mūsų „Zio“modulių, kuriuos reikia nustatyti naudojant „Robotic Arm“, prijungimas. Sujungti visus modulius yra gana paprasta ir tai užtruks ne ilgiau kaip 10 minučių.
5 veiksmas: prijunkite robotų rankos servo prie „Zio 16“servo valdiklio
6 veiksmas: prijunkite „16 Servo“prie DC/DC stiprintuvo ir nustatykite 6,0 V įtampą
Mes naudojame DC/DC stiprintuvą, kad padidintume ir sureguliuotume akumuliatoriaus maitinimo įtampą iki 6,0.
Naudokite DC stiprintuvo potenciometrą, kad sureguliuotumėte įtampą, kol gausite 6,0. Spauskite įvesties/išvesties mygtuką, kol ekrane pasirodys 6.0. Norėdami sureguliuoti įtampą, į savo DC/DC stiprintuvą pirmiausia turite tiekti maitinimą (3,7 V baterija).
7 veiksmas: prijunkite „Zuino M Uno“prie „Zio 16“servo valdiklio
„Qwiic“prijunkite „Zuino M Uno“prie „Zio Servo“valdiklio „qwiic“kabeliu.
8 veiksmas: „Uno“prijungimas prie PS2 imtuvo
Čia yra jungčių kaiščių diagrama. Šiai daliai jums reikia 5 jungiamųjų laidų nuo vyrų iki moterų.
9 žingsnis: Robotų rankos kodas
Mes naudosime „PS2 Arduino“biblioteką, kad koduotume savo PS2 belaidį valdiklį, kad jis veiktų su mūsų robotine ranka. Šio „Robotic Arm 2“projekto šaltinio kodą galite rasti ir atsisiųsti mūsų „Github“puslapyje.
Atsisiųskite ir įdiekite šias bibliotekas ir išsaugokite jas vietiniame „Arduino IDE“bibliotekų aplanke:
- „Adafruit PWM Servo Driver“biblioteka
- PS2 „Arduino“biblioteka
Norėdami įdiegti bibliotekas, atidarykite „Arduino IDE“, eikite į skirtuką Eskizas, pasirinkite Įtraukti biblioteką -> Pridėti. ZIP biblioteka. Pasirinkite pirmiau nurodytas bibliotekas, kurios bus įtrauktos į jūsų IDE.
„Arduino“turi patogų vadovą, kaip įdiegti bibliotekas į „Arduino IDE“. Patikrinkite juos čia!
10 veiksmas: paleiskite kodą
Atidarykite „Arduino IDE“. Skiltyje Failai> Pavyzdžiai> PS2_Arduino_Library pasirinkite PS2X_Servo
Pastaba: Prieš valdydami savo robotinę ranką naudodami PS2 valdiklį, patikrinkite šiuos veiksmus: Įjunkite PS2 valdiklį. Patikrinkite, ar užsidega režimo šviesos diodas. Jei ne, paspauskite valdiklio mygtuką „Mode“. Atlikę aukščiau aprašytus veiksmus, turite paspausti „Zuino M Uno“atstatymo mygtuką, kad jis nuskaitytų valdiklio nustatymus. Norėdami judinti robotinę ranką, turite paspausti L1 ir vairasvirtę.
- Kairė vairasvirtė valdo rankos lenkimą aukštyn arba žemyn
- Dešinė vairasvirtė valdo leteną, kad ji atsidarytų arba užsidarytų ir pasuktų į kairę arba į dešinę.
11 veiksmas: kodo paaiškinimas
„PS2X Arduino“bibliotekos naudojimas yra paprastas, tik reikia inicijuoti, nustatyti ir tada skaityti.
Norėdami nustatyti „PS2“valdiklio ryšį su „Uno“, toliau pateikiami kaiščiai, kuriuos turite apibrėžti savo kode:
/************************************************ ****************prie PS2 valdiklio prijungti kaiščiai:* - 1e stulpelis: originalus* - 2e colmun: Stef? *pakeiskite PIN kodus tais, kuriuos naudojate ****************************************** **********************/#define PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#define PS2_SEL 10 // 16#define PS2_CLK 12 // 17
Mes pakeitėme kaiščius tais, kuriuos naudojame prisijungdami prie „Uno“, kaip nurodyta aukščiau esančioje smeigtukų diagramoje.
/************************************************ **************** Pasirinkite PS2 valdiklio režimus:* - slėgis = analoginis mygtukų skaitymas* - triukšmas = variklio dundėjimas*1 eilutės komentavimas kiekvienam režimo pasirinkimui ** ************************************************* *************
Čia mes nustatėme PS2 režimą, skirtą slėgiui ir dundėjimui, kaip klaidingą. Mes pakomentavome tuos, kurių nenaudojame.
Roboto rankos judesiui valdyti naudosime tik valdiklio vairasvirtės komandą ir L1.
void loop () {/* Turite perskaityti „Gamepad“, kad gautumėte naujas vertes ir nustatytumėte vibracijos vertes ps2x.read_gamepad (mažas variklis įjungtas/išjungtas, didesnis variklio stipris nuo 0 iki 255), jei neįjungiate triukšmo, naudokite ps2x.read_gamepad (); be reikšmių Turėtumėte tai paskambinti bent kartą per sekundę*/if (error == 1) // praleisti ciklą, jei nerastas valdiklis grįžti; else {// „DualShock Controller“ps2x.read_gamepad (klaidinga, vibruoti); // skaityti valdiklį ir nustatyti didelį variklį, kad jis suktųsi „vibraciniu“greičiu, jei (ps2x. Button (PSB_START)) // bus TIKRA, kol bus paspaustas mygtukas Serial.println („Start is holded“); if (ps2x. Button (PSB_SELECT)) Serial.println ("Pasirinkimas laikomas"); vibruoti = ps2x. Analog (PSAB_CROSS); // tai nustatys didelį variklio vibracijos greitį pagal tai, kaip stipriai paspausite mėlyną (X) mygtuką, jei (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// spausdinkite lazdelės reikšmes, jei kuri nors iš jų yra TRUE RY_Value = ps2x. Analog (PSS_RY); RX_Value = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Stick Values:"); Serial.print (RX_Value); Serial.print (""); Serijinis atspaudas (RY_Value); Serial.print (""); Serijinis atspaudas (LY_Value); Serial.print (""); Serial.println (LX_Value);
Toliau pateiktas kodas yra tas, kuriame mes koduojame savo servo sistemas, valdančias mūsų robotinę ranką, kurią įtraukiame į funkcijos iškvietimą po mygtuku ps2x.bouton (PSB_L1) || mygtukas ps2x. (PSB_R1).
Norėdami valdyti savo robotinę ranką, kartu su vairasvirte turite paspausti L1 arba R1 mygtuką.
Kairiosios vairasvirtės valdymo servos 2 ir 3 rankos daliai - valdykite atitinkamai rankos lenkimą aukštyn ir žemyn, o dešinioji vairasvirtė valdo 0 ir 1 robotinės rankos letenos servos, kad atidarytumėte arba uždarytumėte ir pasuktumėte į kairę arba į dešinę.
SERVO 0, 1 - letena SERVO 2, 3 - rankos
Šiame skyriuje galite pakeisti reikšmes, kad galėtumėte valdyti savo roboto rankos kampo laipsnį:
pulselen0 = žemėlapis (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = žemėlapis (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = žemėlapis (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = žemėlapis (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);
Rekomenduojamas:
Mojuojate ranka, kad valdytumėte OWI robotinę ranką Be jokių stygų: 10 žingsnių (su paveikslėliais)
Mojuojate ranka, kad valdytumėte OWI robotinę ranką … Nėra jokių eilučių: IDĖJA: „Instructables.com“yra bent 4 kiti projektai (2015 m. Gegužės 13 d.), Skirti modifikuoti ar valdyti „OWI Robotic Arm“. Nenuostabu, nes tai yra toks puikus ir nebrangus robotų rinkinys, su kuriuo galima žaisti. Šis projektas panašus į
Robotinė ranka su „Zio“moduliais 3 dalis: 4 žingsniai
Robotų ranka su „Zio“moduliais 3 dalis. Šis tinklaraščio įrašas yra „Zio Robotics“serijos dalis. Įvadas Ankstesniame tinklaraštyje paskelbėme 1 ir 2 dalių vadovėlį, kaip valdyti robotinę ranką naudojant „Zio“modulius. 1 dalis daugiausia skirta automatiniam jūsų robotų rankos letenos valdymui
Pristatome „I2C“su „Zio“moduliais ir „Qwiic“: 6 žingsniai
Pristatome „I2C“su „Zio“moduliais ir „Qwiic“: Robinas Sharma sakė: „Maži kasdieniai patobulinimai laikui bėgant duoda stulbinančių rezultatų“. Galbūt galvojate: „O, dar vienas I2C įrašas?“. Žinoma, yra tūkstančiai informacijos apie I2C. Bet sekite naujienas, tai ne tik dar vienas I2C
Valdykite robotinę ranką naudodami „Zio“modulius. 1 dalis: 8 žingsniai
1 dalis. Šis dienoraščio įrašas yra „Zio Robotics“serijos dalis. Įvadas Šis projektas išmokys jus, kaip padaryti, kad jūsų robotų rankos nagai atsidarytų ir užsidarytų. Šis n
Trečioji ranka ++: daugiafunkcinė pagalbos ranka elektronikai ir kitiems subtiliems darbams: 14 žingsnių (su paveikslėliais)
Trečioji ranka ++: daugiafunkcinė pagalbos ranka elektronikai ir kitiems subtiliems darbams .: Anksčiau aš naudoju trečiąsias/pagalbos rankas, kurias galima įsigyti grandinės elektronikos parduotuvėse, ir buvau nusivylęs jų naudojimu. Niekada negalėjau gauti klipų tiksliai ten, kur norėjau, arba prireikė daugiau laiko, nei iš tikrųjų reikėjo, kad juos nustatytų