Sisällysluettelo:
- Vaihe 1: Projektin yleiskatsaus
- Vaihe 2: Kaaviot
- Vaihe 3: PS2 -ohjaimen kaavio
- Vaihe 4: Zio -moduulien yhteyden määritys
- Vaihe 5: Liitä robottivarren servo Zio 16 Servo -ohjaimeen
- Vaihe 6: Liitä 16 Servo DC/DC Boosteriin ja aseta se 6,0 V: n jännitteelle
- Vaihe 7: Liitä Zuino M Uno Zio 16 Servo -ohjaimeen
- Vaihe 8: Unon liittäminen PS2 -vastaanottimeen
- Vaihe 9: Robottivarren koodi
- Vaihe 10: Suorita koodi
- Vaihe 11: Koodin selitys
Video: Robottivarsi Zio -moduuleilla Osa 2: 11 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämän päivän opetusohjelmassa käytämme kaikkia 4 servoa ja langatonta PS2 -ohjainta robottivarren ohjaamiseen.
Tämä blogikirjoitus on osa Zio Robotics -sarjaa.
Johdanto
Edellisessä blogissamme julkaisimme osan 1 opetusohjelman robottiharjan ohjaamisesta Zio -moduulien avulla. Osa 1 keskittyi enimmäkseen siihen, että Robotic Arm's Claw ohjataan automaattisesti avautumaan ja sulkeutumaan.
Tämän päivän opetusohjelmassa korostamme sitä hieman sisällyttämällä langattoman PS2 -ohjaimen ohjaamaan robottivartta. Tässä projektissa käytämme 4 servoa.
Vaihe 1: Projektin yleiskatsaus
Vaikeusaste:
Zio Padawan
Hyödyllisiä resursseja:
Sinulla pitäisi olla perustiedot Zio -kehityskorttien asentamisesta. Tässä opetusohjelmassa oletamme, että kehityskorttisi on jo määritetty ja valmis määritettäväksi. Jos et ole vielä määrittänyt levyäsi, tutustu Zio Qwiicin aloitusoppaan opetusohjelmaan, jotta pääset alkuun:
Zio Zuino M UNO Qwiicin aloitusopas
Vaihe 2: Kaaviot
Tässä on Robotic Arm Part 2 -projektin kytkentäkaaviot sekä PS2 -ohjaimen kaavio, jota tarvitaan koodausosan ymmärtämiseen.
Vaihe 3: PS2 -ohjaimen kaavio
Vaihe 4: Zio -moduulien yhteyden määritys
Alla on Zio -moduuliemme liitäntä, joka asennetaan robottivarren kanssa. Kaikkien moduulien liittäminen yhteen on melko helppoa, eikä niiden asennus vie yli 10 minuuttia.
Vaihe 5: Liitä robottivarren servo Zio 16 Servo -ohjaimeen
Vaihe 6: Liitä 16 Servo DC/DC Boosteriin ja aseta se 6,0 V: n jännitteelle
Käytämme DC/DC -tehostinta tehostamaan ja säätämään akun syöttöjännitettä arvoon 6.0.
Säädä jännitettä DC -tehostimen potentiometrillä, kunnes saat 6,0. Paina In/Out -painiketta, kunnes näytössä näkyy 6.0. Sinun on ensin syötettävä virtaa (3,7 V paristo) DC/DC Booster -laitteeseesi jännitteen säätämiseksi.
Vaihe 7: Liitä Zuino M Uno Zio 16 Servo -ohjaimeen
Qwiic Liitä Zuino M Uno Zio Servo -ohjaimeen qwiic -kaapelilla.
Vaihe 8: Unon liittäminen PS2 -vastaanottimeen
Tässä on liitosten nastakaavio. Tarvitset 5 uros -naarasliitintä tähän osaan.
Vaihe 9: Robottivarren koodi
Käytämme PS2 Arduino -kirjastoa koodataksemme langattoman PS2 -ohjaimen toimimaan robottivartemme kanssa. Löydät ja lataat tämän Robotic Arm Part 2 -projektin lähdekoodin Github -sivultamme.
Lataa ja asenna seuraavat kirjastot ja tallenna ne paikalliseen Arduino IDE -kirjastojen kansioon:
- Adafruit PWM Servo -ohjainkirjasto
- PS2 Arduino -kirjasto
Jos haluat asentaa kirjastot, avaa Arduino IDE, siirry Luonnos -välilehteen, valitse Sisällytä kirjasto -> Lisää. Zip -kirjasto. Valitse yllä olevat kirjastot, jotka sisällytetään IDE -laitteeseesi.
Arduinolla on kätevä opas kirjastojen asentamiseen Arduino IDE -laitteeseen. Tarkista ne täältä!
Vaihe 10: Suorita koodi
Avaa Arduino IDE. Valitse Tiedostot> Esimerkit> PS2_Arduino_Library, valitse PS2X_Servo
Huomautus: Ennen kuin voit ohjata robottivartta PS2 -ohjaimella, tarkista seuraavat vaiheet: Kytke PS2 -ohjain päälle. Tarkista, että tilan merkkivalo palaa. Jos ei, paina ohjaimen Mode -painiketta. Kun olet tehnyt edellä mainitut toimet, sinun on painettava Zuino M Unon nollauspainiketta, jotta se lukee ohjaimen asetukset. Sinun täytyy painaa L1 ja ohjaussauvaa liikuttaaksesi robottivartta.
- Vasen ohjaussauva ohjaa käsivarren taivutusta ylös- tai alaspäin
- Oikea ohjaussauva ohjaa kynsiä joko avautumaan tai sulkeutumaan ja kiertämään kynsiä vasemmalle tai oikealle.
Vaihe 11: Koodin selitys
PS2X Arduino -kirjaston käyttö on yksinkertaista, vaatii vain alustamisen, asennuksen ja sitten lukukomennon.
Jos haluat määrittää PS2 -ohjaimesi yhteyden Unoosi, alla on nastat, jotka sinun on määritettävä koodissasi:
/************************************************* ****************PS2 -ohjaimeen yhdistetyt nastat:* - 1e -sarake: alkuperäinen* - 2e colmun: Stef? *korvaa PIN -numerot käyttämilläsi ****************************************** **********************/#define PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#define PS2_SEL 10 // 16#define PS2_CLK 12 // 17
Olemme korvanneet nastat niillä, joilla käytämme yhteyttä Uno -laitteeseemme yllä olevan nastakaavion mukaisesti.
/************************************************* ***************** Valitse PS2 -ohjaimen tilat:* - paineet = painonappien analoginen lukeminen* - jyrinä = moottorin jyrinä*poista 1 rivin kommentti jokaisesta tilanvalinnasta ** ************************************************** *************///#määritä paineet tosi#määrittele paineet epätosi
Tässä määrittelimme PS2 -tilan paineille ja rummutukselle epätosi. Kommentoimme niitä, joita emme käytä.
Käytämme vain ohjaimen joystick -komentoa ja L1: tä ohjaamaan robottivartemme liikettä.
void loop () {/* Sinun on luettava peliohjain saadaksesi uusia arvoja ja asettaaksesi värähtelyarvot ps2x.read_gamepad (pieni moottori päälle/pois, suurempi moottorin voima 0-255), jos et ota rumblea käyttöön, käytä ps2x.read_gamepad (); ilman arvoja Sinun on kutsuttava tämä vähintään kerran sekunnissa*/if (error == 1) // ohita silmukka, jos ohjainta ei löydy paluu; else {// DualShock Controller ps2x.read_gamepad (epätosi, värinä); // lue ohjain ja aseta suuri moottori pyörimään värinänopeudella, jos (ps2x. Button (PSB_START)) // on TOSI niin kauan kuin painiketta painetaan Serial.println ("Käynnistys pidetään päällä"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Valinta on pidossa"); värise = ps2x. Analog (PSAB_CROSS); // tämä asettaa suuren moottorin värähtelynopeuden sen mukaan, kuinka voimakkaasti painat sinistä (X) -painiketta, jos (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// tulosta tikun arvot, jos jompikumpi on TRUE RY_Value = ps2x. Analog (PSS_RY); RX_arvo = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("tikkuarvot:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Sarja.println (LX_arvo);
Alla olevassa koodissa koodataan servomme, jotka ohjaavat robottivartta ja jotka sisällytetään funktiokutsuun ps2x.button -kohtaan (PSB_L1) || ps2x.button (PSB_R1).
Sinun on painettava L1- tai R1 -painiketta yhdessä ohjaussauvan kanssa ohjataksesi robottivartta.
Vasemman ohjaussauvan ohjaus servot 2 ja 3 käsivarsiosalle - ohjaa käsivarren taivutusta ylöspäin ja alaspäin, kun taas oikea ohjaussauva ohjaa servoja 0 ja 1 robottivarren kynsissä avaamaan tai sulkemaan ja kiertämään vasemmalle tai oikealle.
SERVO 0, 1 - Kynsi SERVO 2, 3 - Varsi
Voit tehdä muutoksia tämän osion arvoihin ohjataksesi robottiharjan kulmaa:
pulselen0 = kartta (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = kartta (RX_arvo, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = kartta (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = kartta (LX_arvo, 0, 255, SERVOMIN3, SERVOMAX3);
Suositeltava:
Robottivarsi ja kahva: 9 vaihetta (kuvilla)
Robottivarsi tarttujalla: Sitruunapuiden korjuuta pidetään kovana työnä puiden suuren koon ja myös sitruunapuiden istutusalueiden kuuman ilmaston vuoksi. Siksi tarvitsemme jotain muuta auttaaksemme maataloustyöntekijöitä suorittamaan työnsä entistä paremmin
3D -robottivarsi Bluetooth -ohjatulla askelmoottorilla: 12 vaihetta
3D-robottivarsi Bluetooth-ohjattavilla askelmoottoreilla: Tässä opetusohjelmassa näemme, miten tehdään 3D-robottivarsi, jossa on 28byj-48 askelmoottorit, servomoottori ja 3D-painetut osat. Painettu piirilevy, lähdekoodi, sähkökaavio, lähdekoodi ja paljon tietoa sisältyvät verkkosivustolleni
Robottivarsi: 15 vaihetta
Robotti: Käytä automaattista järjestelmää
Servo -robottivarsi: 4 vaihetta
Servorobottivarsi: Tämä on yksinkertainen servorobotti käsivarsi, joka pystyy poimimaan esineitä ja sijoittamaan ne määrätylle alueelle. Tämä projekti vie suurimman osan ajastaan kokoonpanoon, koska on tärkeää varmistaa, että varsi on vakaa ja pystyy suorittamaan tehtäviä ilman
Kiertokooderin ohjaama robottivarsi: 6 vaihetta
Rotary Encoder Controlled Robot Arm: Kävin osoitteessa howtomechatronics.com ja näin siellä bluetooth -ohjatun robotin. käytä käsivartta kiertokooderia ja tallenna se