Sisukord:

Zio moodulitega robotkäsi 2. osa: 11 sammu
Zio moodulitega robotkäsi 2. osa: 11 sammu

Video: Zio moodulitega robotkäsi 2. osa: 11 sammu

Video: Zio moodulitega robotkäsi 2. osa: 11 sammu
Video: Чуи, мы дома! ► 2 Прохождение Star Wars Jedi: Fallen Order 2024, Juuli
Anonim
Zio moodulitega robotkäsi 2. osa
Zio moodulitega robotkäsi 2. osa

Tänases õpetuses kasutame robotkäe juhtimiseks kõiki 4 servot ja PS2 juhtmevaba kontrollerit.

See ajaveebi postitus on osa Zio Robotics seeriast.

Sissejuhatus

Eelmises ajaveebis postitasime 1. osa õpetuse, kuidas Zio moodulite abil robotkätt juhtida. Esimene osa keskendus peamiselt teie robotkäepideme avamise ja sulgemise automaatsele juhtimisele.

Tänases õpetuses parandame seda pisut, lisades robotkäe juhtimiseks PS2 traadita kontrolleri. Selle projekti jaoks kasutame 4 servot.

Samm: projekti ülevaade

Raskusaste:

Zio Padawan

Kasulikud ressursid:

Teil peaks olema põhiteadmised Zio arendusplaatide paigaldamisest. Selles õpetuses eeldame, et teie arendusplaat on juba konfigureeritud ja seadistamiseks valmis. Kui te pole oma plaati veel konfigureerinud, vaadake alustamiseks meie Zio Qwiici kasutusjuhendi juhendit:

Zio Zuino M UNO Qwiici kasutusjuhend

2. samm: skeemid

Skeemid
Skeemid

Siin on robotrooli 2. osa projekti ühendusskeemid ja PS2 kontrolleri skeem, mis on vajalik teie kodeeriva osa mõistmiseks.

Samm: PS2 kontrolleri skeem

PS2 kontrolleri skeem
PS2 kontrolleri skeem

Samm 4: Zio moodulite ühenduse seadistamine

Allpool on meie Zio moodulite ühendus, mis tuleb seadistada koos robotkäega. Kõigi moodulite ühendamine on üsna lihtne ja seadistamine ei võta rohkem kui 10 minutit.

Samm: ühendage robotkäe servo Zio 16 servokontrolleriga

Ühendage robotkäe servo Zio 16 servokontrolleriga
Ühendage robotkäe servo Zio 16 servokontrolleriga

Samm: ühendage oma 16 servo DC/DC võimendiga ja seadke see 6,0 V pingele

Ühendage oma 16 servo DC/DC võimendiga ja seadke see 6,0 V pingele
Ühendage oma 16 servo DC/DC võimendiga ja seadke see 6,0 V pingele

Kasutame DC/DC võimendit, et suurendada ja reguleerida aku toitepinget väärtusele 6,0.

Kasutage DC Boosteri potentsiomeetrit, et reguleerida pinget, kuni saate 6,0. Vajutage sisse/välja nuppu, kuni ekraanil kuvatakse 6.0. Pinge reguleerimiseks peate esmalt oma DC/DC võimendisse toite (3,7 V aku) varustama.

Samm: ühendage Zuino M Uno Zio 16 servokontrolleriga

Ühendage Zuino M Uno Zio 16 servokontrolleriga
Ühendage Zuino M Uno Zio 16 servokontrolleriga

Qwiic ühendage Zuino M Uno Qioic -kaabli abil Zio Servo kontrolleriga.

Samm: Uno ühendamine PS2 vastuvõtjaga

Uno ühendamine PS2 vastuvõtjaga
Uno ühendamine PS2 vastuvõtjaga

Siin on ühenduste pin -skeem. Selle osa jaoks vajate 5 meessoost naissoost juhtmestikku.

9. samm: robotkäe kood

Kasutame PS2 Arduino raamatukogu, et kodeerida oma PS2 traadita kontroller meie robotkäega töötamiseks. Selle projekti Robotic Arm Part 2 lähtekoodi leiate ja alla laadite meie Githubi lehelt.

Laadige alla ja installige järgmised teegid ning salvestage see oma kohalikku Arduino IDE raamatukogude kausta:

  • Adafruit PWM servo draiverite raamatukogu
  • PS2 Arduino raamatukogu

Teekide installimiseks avage oma Arduino IDE, minge vahekaardile Visand, valige Kaasa raamatukogu -> Lisa. ZIP -raamatukogu. Valige ülaltoodud teegid, mis teie IDE -sse kaasatakse.

Arduinol on mugav juhend raamatukogude installimiseks oma Arduino IDE -sse. Vaata neid siit!

Samm: käivitage oma kood

Käivitage oma kood
Käivitage oma kood

Avage Arduino IDE. Jaotises Failid> Näited> PS2_Arduino_Library valige PS2X_Servo

Märkus. Enne oma robotkäe juhtimist PS2 kontrolleriga kontrollige järgmisi samme: Lülitage PS2 kontroller sisse. Kontrollige, kas režiimi LED süttib. Kui ei, siis vajutage kontrolleri režiiminuppu. Pärast ülaltoodud toiminguid peate vajutama Zuino M Uno lähtestamisnuppu, et see saaks teie kontrolleri seadeid lugeda. Robotikäe liigutamiseks peate vajutama L1 ja juhtkangi.

  • Vasak juhtkang reguleerib käe painutamist üles või alla
  • Parem juhtnupp juhib küünist kas avama või sulgema ning pöörama küünist vasakule või paremale.

11. samm: koodi selgitus

PS2X Arduino teegi kasutamine on lihtne, nõudes vaid lähtestamist, seadistamist ja seejärel lugemiskäsku.

PS2 kontrolleri ühenduse seadistamiseks Uno -ga on allpool koodid, mida peate oma koodis määratlema:

/************************************************ ****************PS2 kontrolleriga ühendatud tihvtid:* - 1e veerg: originaal* - 2e colmun: Stef? *asendage pin -numbrid kasutatavatega ***************************************** **********************/#define PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#define PS2_SEL 10 // 16#define PS2_CLK 12 // 17

Oleme asendanud tihvtid nendega, mida kasutame Uno -ga ühenduse loomiseks, nagu on kirjeldatud ülaltoodud tihvtide skeemil.

/************************************************ **************** valige PS2 kontrolleri režiimid:* - rõhud = surunuppude analoognäidud* - müristamine = mootori mürin*tühistage 1 rida iga režiimivaliku kohta ** ************************************************* **************

Siin määratlesime PS2 režiimi rõhkude ja müristamise jaoks valeks. Kommenteerisime neid, mida me ei kasuta.

Robotikäe liikumise juhtimiseks kasutame ainult kontrolleri juhtkangi käsku ja L1.

void loop () {/* Uute väärtuste saamiseks ja vibratsiooniväärtuste seadmiseks peate lugema mänguplaati ps2x.read_gamepad (väike mootor sisse/välja, suurem mootori tugevus vahemikus 0–255), kui te mürinat ei luba, kasutage ps2x.read_gamepad (); väärtusteta Peaksite seda kutsuma vähemalt kord sekundis*/if (error == 1) // vahele jätma, kui ühtegi kontrollerit ei leitud; else {// DualShock Controller ps2x.read_gamepad (vale, vibreeriv); // lugege kontrollerit ja seadke suur mootor pöörlema vibreerimiskiirusel, kui (ps2x. Button (PSB_START)) // on tõene seni, kuni nuppu vajutatakse Serial.println ("Starti hoitakse"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Valimist hoitakse kinni"); vibreerima = ps2x. Analog (PSAB_CROSS); // see määrab suure mootori vibreerimiskiiruse sõltuvalt sellest, kui tugevalt vajutad sinist (X) nuppu, kui (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// prindib pulga väärtused, kui kumbki on TRUE RY_Value = ps2x. Analog (PSS_RY); RX_Väärtus = ps2x. Analoog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Pulgaväärtused:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);

Allolev kood on koht, kus me kodeerime oma servot, mis juhivad meie robotkätt, mille lisame funktsioonikutsesse ps2x.button (PSB_L1) || ps2x.nupp (PSB_R1).

Robotkäe juhtimiseks peate vajutama nuppu L1 või R1 koos juhthoovaga.

Vasakpoolsed juhtkangi juhtimisservad 2 ja 3 käeosa jaoks - juhivad vastavalt käe üles- ja allapoole painutamist, parempoolne juhtkangi servo 0 ja 1 robotrooli küünise servo avamiseks või sulgemiseks ning vasakule või paremale pööramiseks.

SERVO 0, 1 - Küünis SERVO 2, 3 - Arm

Selle jaotise väärtusi saate muuta, et juhtida oma robotkäe nurka:

pulselen0 = kaart (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = kaart (RX_Väärtus, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = kaart (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = kaart (LX_Väärtus, 0, 255, SERVOMIN3, SERVOMAX3);

Soovitan: