INHOUDSOPGAWE:

Robotarm met Zio -modules Deel 2: 11 stappe
Robotarm met Zio -modules Deel 2: 11 stappe

Video: Robotarm met Zio -modules Deel 2: 11 stappe

Video: Robotarm met Zio -modules Deel 2: 11 stappe
Video: Маленький лисенок вышел к людям за помощью 2024, Julie
Anonim
Robotarm met Zio -modules Deel 2
Robotarm met Zio -modules Deel 2

In die tutoriaal van vandag gebruik ons al 4 servo's en 'n PS2 -draadlose beheerder om die robotarm te beheer.

Hierdie blogpos is deel van die Zio Robotics -reeks.

Inleiding

In ons vorige blog het ons deel 1 -tutoriaal geplaas oor hoe u 'n robotarm kan beheer met behulp van Zio -modules. Deel 1 konsentreer meestal op die outomatiese beheer van u robotarm se klou om oop en toe te maak.

In die tutoriaal van vandag sal ons dit 'n bietjie verbeter deur 'n PS2 Wireless -beheerder in te sluit om die robotarm te beheer. Vir hierdie projek gebruik ons 4 servo's.

Stap 1: Oorsig van die projek

Moeilikheidsgraad:

Zio Padawan

Nuttige hulpbronne:

U moet 'n basiese kennis hê van hoe u Zio -ontwikkelingsborde moet installeer. In hierdie tutoriaal neem ons aan dat u ontwikkelingsbord reeds gekonfigureer is en gereed is om opgestel te word. As u nog nie u bord gekonfigureer het nie, kyk dan na ons handleiding hieronder vir die Zio Qwiic -gids om aan die gang te kom:

Zio Zuino M UNO Qwiic Begingids

Stap 2: Skema's

Skemas
Skemas

Hier is die bedradingskema's van die robotarm -deel 2 -projek, sowel as die PS2 -beheerdiagram wat u moet verstaan vir u koderingsonderdeel.

Stap 3: PS2 -beheerdiagram

PS2 -beheerdiagram
PS2 -beheerdiagram

Stap 4: Opstel van verbinding met Zio -modules

Hieronder is die verbinding van ons Zio -modules wat opgestel moet word met die robotarm. Dit is redelik maklik om al die modules aanmekaar te koppel, en dit neem nie meer as 10 minute om dit op te stel nie.

Stap 5: Koppel die Robotic Arm Servo aan die Zio 16 Servo Controller

Koppel die Robotic Arm Servo aan die Zio 16 Servo Controller
Koppel die Robotic Arm Servo aan die Zio 16 Servo Controller

Stap 6: Koppel u 16 servo aan DC/DC Booster en stel dit op 6.0V

Koppel u 16 servo aan DC/DC Booster en stel dit op 6.0V
Koppel u 16 servo aan DC/DC Booster en stel dit op 6.0V

Ons gebruik 'n DC/DC Booster om die batteryspanning na 6.0 te versterk en aan te pas.

Gebruik die potensiometer op die DC Booster om die spanning aan te pas totdat u 6,0 kry. Druk die In/Out -knoppie totdat die skerm 6.0 vertoon. U moet eers u DC/DC Booster krag (3,7V battery) verskaf om die spanning aan te pas.

Stap 7: Koppel Zuino M Uno aan die Zio 16 Servo Controller

Koppel Zuino M Uno aan die Zio 16 Servo Controller
Koppel Zuino M Uno aan die Zio 16 Servo Controller

Qwiic verbind Zuino M Uno met die Zio Servo -kontroleerder met qwiic -kabel.

Stap 8: Koppel Uno aan die PS2 -ontvanger

Koppel Uno aan die PS2 -ontvanger
Koppel Uno aan die PS2 -ontvanger

Hier is 'n speldiagram van die verbindings. U benodig 5 manlike tot vroulike trui vir hierdie onderdeel.

Stap 9: Kode vir robotarm

Ons sal die PS2 Arduino -biblioteek gebruik om ons PS2 Wireless Controller te kodeer om met ons robotarm te werk. U kan die bronkode vir hierdie Robotic Arm Part 2 -projek op ons Github -bladsy vind en aflaai.

Laai die volgende biblioteke af en installeer dit en stoor dit in u plaaslike gids Arduino IDE biblioteke:

  • Adafruit PWM Servo Driver Library
  • PS2 Arduino -biblioteek

Om die biblioteke te installeer, maak u Arduino IDE oop, gaan na die Skets -oortjie en kies Include Library -> Add. Zip Library. Kies die bogenoemde biblioteke wat op u IDE ingesluit moet word.

Arduino het 'n handige gids oor hoe om biblioteke op u Arduino IDE te installeer. Kyk hier na hulle!

Stap 10: voer u kode uit

Begin u kode
Begin u kode

Maak Arduino IDE oop. Kies onder lêers> Voorbeelde> PS2_Arduino_Library PS2X_Servo

Let wel: Voordat u u robotarm met die PS2 -beheerder kan beheer, moet u die volgende stappe doen: Skakel u PS2 -beheerder aan. Kontroleer of die modus -LED brand. As dit nie die geval is nie, druk die modusknoppie op u beheerder. Nadat u die bogenoemde gedoen het, moet u op die reset -knoppie op u Zuino M Uno druk om die instellings van die beheerder te lees. U moet op L1 en die joystick druk om u robotarm te beweeg.

  • Linker joystick beheer die buiging van die arm opwaarts of afwaarts
  • Regter joystick beheer die klou om oop of toe te maak en die klou na links of regs te draai.

Stap 11: Kode Uitleg

Die gebruik van die PS2X Arduino -biblioteek is eenvoudig, slegs 'n inisialisering, 'n opstelling en dan 'n leesopdrag.

Om die verbinding vir u PS2 -beheerder met u Uno in te stel, is die penne wat u in u kode moet definieer:

/************************************************ *****************stel penne gekoppel aan PS2 -beheerder:* - 1e kolom: oorspronklike* - 2e kolmun: Stef? *vervang pennommers deur die wat u gebruik ***************************************** **********************/#definieer PS2_DAT 13 // 14#definieer PS2_CMD 11 // 15#definieer PS2_SEL 10 // 16#definieer PS2_CLK 12 // 17

Ons het die penne vervang met die wat ons gebruik om aan ons Uno te koppel, soos uiteengesit op die speldiagram hierbo.

/************************************************ ***************** kies modusse van PS2 -beheerder:* - druk = analoog lees van drukknoppies* - gedreun = motorgerommel*kommentaar 1 van die reëls vir elke moduskeuse ** ************************************************* ************///#definieer druk waar#definieer druk vals //#definieer dreun waar#definieer dreun vals

Hier het ons die PS2 -modus vir druk en gedreun gedefinieer as vals. Ons het kommentaar gelewer op diegene wat ons nie gebruik nie.

Ons sal slegs die joystick -opdrag van die beheerder en L1 gebruik om die beweging van ons robotarm te beheer.

void loop () {/* U moet Gamepad lees om nuwe waardes te kry en vibrasie waardes in te stel ps2x.read_gamepad (klein motor aan/af, groter motorsterkte van 0-255), as u nie die dreuning in staat stel nie, gebruik ps2x.read_gamepad (); sonder waardes U moet dit ten minste een keer per sekonde noem*/if (error == 1) // slaan lus oor as geen kontroleerder terugkeer nie; anders {// DualShock Controller ps2x.read_gamepad (vals, vibreer); // lees kontroleerder en stel groot motor om teen 'trilspoed' te draai as (ps2x. Button (PSB_START)) // WAAR sal wees, solank die knoppie ingedruk word Serial.println ("Start word gehou"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Select word gehou"); vibreer = ps2x. Analog (PSAB_CROSS); // dit stel die trillingsnelheid van die groot motor in op grond van hoe hard jy op die blou (X) -knoppie druk as (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// druk stokwaardes as een van hulle TRUE RY_Value is = 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_Waarde); Serial.print (""); Serial.print (RY_Waarde); Serial.print (""); Serial.print (LY_Waarde); Serial.print (""); Serial.println (LX_Waarde);

Die onderstaande kode is waar ons ons servo's kodeer wat ons robotarm beheer, wat ons insluit in die funksie -oproep onder ps2x.button (PSB_L1) || ps2x. -knoppie (PSB_R1).

U moet saam met die joystick op die L1- of R1 -knoppie druk om u robotarm te beheer.

Die linker joystick -bedienings servo's 2 en 3 vir die armdeel - beheer die buiging van die arm onderskeidelik, terwyl die regter -joystick die servo's 0 en 1 van die robotarm se klou beheer om oop of toe te draai en na links of regs te draai.

SERVO 0, 1 - Klauw SERVO 2, 3 - Arm

U kan waardes in hierdie afdeling verander om die graad van u robotarmhoek te beheer:

pulselen0 = kaart (RY_Waarde, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = kaart (RX_Waarde, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = kaart (LY_Waarde, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = kaart (LX_Waarde, 0, 255, SERVOMIN3, SERVOMAX3);

Aanbeveel: