Satura rādītājs:

Robotiskā roka ar Zio moduļiem 2. daļa: 11 soļi
Robotiskā roka ar Zio moduļiem 2. daļa: 11 soļi

Video: Robotiskā roka ar Zio moduļiem 2. daļa: 11 soļi

Video: Robotiskā roka ar Zio moduļiem 2. daļa: 11 soļi
Video: САМАЯ СИЛЬНАЯ ДЕВЧОНКА ИЗБИЛА СТРАШНОГО КЛОУНА Пеннивайза! НОВЕНЬКАЯ не такая как все! 2024, Novembris
Anonim
Robotiskā roka ar Zio moduļiem, 2. daļa
Robotiskā roka ar Zio moduļiem, 2. daļa

Šodienas apmācībā mēs izmantosim visus 4 servos un PS2 bezvadu kontrolieri, lai kontrolētu robota roku.

Šis emuāra ieraksts ir daļa no Zio Robotics sērijas.

Ievads

Iepriekšējā emuārā mēs ievietojām 1. daļas apmācību par to, kā kontrolēt robotu roku, izmantojot Zio moduļus. Pirmā daļa galvenokārt tika koncentrēta uz automātisku robota rokas naga atvēršanu un aizvēršanu.

Šodienas apmācībā mēs to nedaudz uzlabosim, iekļaujot PS2 bezvadu kontrolieri, lai kontrolētu robotu roku. Šim projektam mēs izmantosim 4 servos.

1. darbība: projekta pārskats

Grūtības līmenis:

Zio Padawan

Noderīgi resursi:

Jums vajadzētu būt pamatzināšanām par to, kā instalēt Zio izstrādes plates. Šajā apmācībā mēs pieņemam, ka jūsu izstrādes dēlis jau ir konfigurēts un ir gatavs iestatīšanai. Ja vēl neesat konfigurējis savu dēli, lai sāktu, skatiet mūsu Zio Qwiic sākuma rokasgrāmatas pamācību:

Zio Zuino M UNO Qwiic sākuma ceļvedis

2. darbība. Shēmas

Shēmas
Shēmas

Šeit ir Robota rokas 2. daļas projekta elektroinstalācijas shēmas, kā arī PS2 kontroliera shēma, kas nepieciešama, lai saprastu jūsu kodēšanas daļu.

3. darbība: PS2 kontroliera shēma

PS2 kontroliera shēma
PS2 kontroliera shēma

4. darbība. Zio moduļu savienojuma iestatīšana

Zemāk ir mūsu Zio moduļu savienojums, kas jāiestata ar robotu roku. Visu moduļu savienošana ir diezgan vienkārša, un to iestatīšana neaizņems vairāk kā 10 minūtes.

5. solis: pievienojiet robotizētās rokas servo Zio 16 servo kontrolierim

Pievienojiet robotizētās rokas servo Zio 16 servo kontrolierim
Pievienojiet robotizētās rokas servo Zio 16 servo kontrolierim

6. solis: pievienojiet savu 16 servo līdzstrāvas/līdzstrāvas pastiprinātājam un iestatiet to pie 6.0V

Pievienojiet savu 16 servo līdzstrāvas/līdzstrāvas pastiprinātājam un iestatiet to pie 6,0 V
Pievienojiet savu 16 servo līdzstrāvas/līdzstrāvas pastiprinātājam un iestatiet to pie 6,0 V

Mēs izmantojam DC/DC pastiprinātāju, lai palielinātu un pielāgotu akumulatora barošanas spriegumu līdz 6,0.

Izmantojiet līdzstrāvas pastiprinātāja potenciometru, lai noregulētu spriegumu, līdz iegūstat 6,0. Spiediet taustiņu In/Out, līdz displejā parādās 6.0. Lai pielāgotu spriegumu, DC/DC pastiprinātājam vispirms jāpiegādā barošana (3,7 V akumulators).

7. darbība: savienojiet Zuino M Uno ar servo kontrolieri Zio 16

Savienojiet Zuino M Uno ar Zio 16 servo kontrolieri
Savienojiet Zuino M Uno ar Zio 16 servo kontrolieri

Qwiic savienojiet Zuino M Uno ar Zio Servo kontrolieri, izmantojot qwiic kabeli.

8. darbība: Uno pievienošana PS2 uztvērējam

Uno savienošana ar PS2 uztvērēju
Uno savienošana ar PS2 uztvērēju

Šeit ir savienojumu diagramma. Šai daļai jums ir nepieciešami 5 džemperi no vīriešiem līdz sievietēm.

9. solis: Robotiskās rokas kods

Mēs izmantosim PS2 Arduino bibliotēku, lai kodētu mūsu PS2 bezvadu kontrolieri darbam ar mūsu robotu roku. Jūs varat atrast un lejupielādēt šī projekta Robotic Arm Part 2 projekta pirmkodu mūsu Github lapā.

Lejupielādējiet un instalējiet šādas bibliotēkas un saglabājiet tās vietējā Arduino IDE bibliotēku mapē:

  • Adafruit PWM servo draiveru bibliotēka
  • PS2 Arduino bibliotēka

Lai instalētu bibliotēkas, atveriet savu Arduino IDE, dodieties uz cilni Skice, atlasiet Iekļaut bibliotēku -> Pievienot. ZIP bibliotēka. Atlasiet iepriekš minētās bibliotēkas, kas jāiekļauj jūsu IDE.

Arduino ir ērts ceļvedis par to, kā instalēt bibliotēkas Arduino IDE. Pārbaudiet tos šeit!

10. darbība: palaidiet savu kodu

Palaidiet savu kodu
Palaidiet savu kodu

Atveriet Arduino IDE. Sadaļā Faili> Piemēri> PS2_Arduino_Library atlasiet PS2X_Servo

Piezīme: Pirms jūs varat vadīt savu robotroku ar PS2 kontrolieri, pārbaudiet šādas darbības: Ieslēdziet PS2 kontrolieri. Pārbaudiet, vai iedegas režīma gaismas diode. Ja tā nav, nospiediet kontroliera pogu Mode. Pēc iepriekš minēto darbību veikšanas jums ir jānospiež Zuino M Uno atiestatīšanas poga, lai tas nolasītu jūsu kontroliera iestatījumus. Lai pārvietotu robotu roku, jums ir jānospiež L1 un kursorsviru.

  • Kreisā kursorsvira kontrolē rokas saliekšanu uz augšu vai uz leju
  • Labā kursorsvira kontrolē spīles atvēršanu vai aizvēršanu un pagriež to uz kreiso vai labo pusi.

11. darbība: koda skaidrojums

PS2X Arduino bibliotēkas izmantošana ir vienkārša, tā prasa tikai inicializāciju, iestatīšanu un pēc tam lasīšanas komandu.

Lai iestatītu savienojumu ar PS2 kontrolieri ar Uno, tālāk ir norādītas tapas, kas jānosaka savā kodā:

/************************************************ ****************komplekta tapas, kas savienotas ar PS2 kontrolieri:* - 1e kolonna: oriģināls* - 2e colmun: Stef? *aizstājiet PIN numurus ar izmantotajiem ****************************************** **********************/#definēt PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#define PS2_SEL 10 // 16#define PS2_CLK 12 // 17

Mēs esam nomainījuši tapas ar tām, kuras izmantojam, lai izveidotu savienojumu ar mūsu Uno, kā norādīts iepriekš esošajā tapas diagrammā.

/************************************************ **************** izvēlieties PS2 kontroliera režīmus:* - spiediens = spiedpogu analogā nolasīšana* - dārdoņa = motora rīboņa*1. rindas komentārs katrai režīma izvēlei ** ************************************************* *************///#definēt spiedienu patiesu#definēt spiedienu nepatiesu //#definēt dārdoņu patiesu

Šeit mēs definējām PS2 režīmu spiedienam un dārdēšanai kā nepatiesu. Mēs komentējām tos, kurus neizmantojam.

Mēs izmantosim tikai kontroliera kursorsviru komandu un L1, lai kontrolētu mūsu robotizētās rokas kustību.

void loop () {/* Lai iegūtu jaunas vērtības un iestatītu vibrācijas vērtības ps2x.read_gamepad (mazs motors ieslēgts/izslēgts, lielāks motora stiprums no 0 līdz 255), jums ir jāizlasa Gamepad, ja neieslēdzat dārdoņu, izmantojiet ps2x.read_gamepad (); bez vērtībām To vajadzētu izsaukt vismaz reizi sekundē*/if (error == 1) // izlaist cilpu, ja neviens kontrolieris neatrada atgriešanos; else {// DualShock Controller ps2x.read_gamepad (nepatiess, vibrēt); // nolasiet kontrolieri un iestatiet lielu motoru, lai tas grieztos ar “vibrācijas” ātrumu, ja (ps2x. Button (PSB_START)) // būs TRUE, kamēr vien tiks nospiesta poga Serial.println ("Sākums tiek turēts"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Atlasīšana tiek aizturēta"); vibrēt = ps2x. Analog (PSAB_CROSS); // tas noteiks lielo motora vibrācijas ātrumu, pamatojoties uz to, cik stipri nospiežat zilo (X) pogu, ja (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// drukājiet nūju vērtības, ja kāda no tām ir 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 (""); Sērijas nospiedums (RY_Value); Serial.print (""); Sērijas nospiedums (LY_Value); Serial.print (""); Serial.println (LX_Value);

Tālāk norādītais kods ir tas, kur mēs kodējam savus servos, kas kontrolē mūsu robotu roku, ko mēs iekļaujam funkciju izsaukumā zem pogas ps2x.button (PSB_L1) || poga ps2x. (PSB_R1).

Lai vadītu savu robotizēto roku, kopā ar kursorsviru jānospiež poga L1 vai R1.

Kreisās kursorsviras vadības servi 2 un 3 rokas daļai - kontrolējiet attiecīgi rokas saliekšanu uz augšu un uz leju, savukārt labās kursorsviras vadības servo 0 un 1 vadības rokturi, lai atvērtu vai aizvērtu un pagrieztu pa kreisi vai pa labi.

SERVO 0, 1 - spīle SERVO 2, 3 - roka

Šajā sadaļā varat veikt izmaiņas vērtībās, lai kontrolētu robotizētās rokas leņķa pakāpi.

pulselen0 = karte (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = karte (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = karte (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = karte (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);

Ieteicams: