Obsah:

Robotické rameno s modulmi Zio, časť 2: 11 krokov
Robotické rameno s modulmi Zio, časť 2: 11 krokov

Video: Robotické rameno s modulmi Zio, časť 2: 11 krokov

Video: Robotické rameno s modulmi Zio, časť 2: 11 krokov
Video: ESP32 Turorial 1 - Introduction to SunFounder's ESP32 IoT Learnig kit Software and Arduino IDE 2024, Júl
Anonim
Robotické rameno s modulmi Zio, časť 2
Robotické rameno s modulmi Zio, časť 2

V dnešnom tutoriáli použijeme na ovládanie robotického ramena všetky 4 servá a bezdrôtový ovládač PS2.

Tento blogový príspevok je súčasťou série Zio Robotics.

Úvod

V našom predchádzajúcom blogu sme uverejnili návod 1. časti o tom, ako ovládať robotické rameno pomocou modulov Zio. Časť 1 sa väčšinou zameriavala na automatické ovládanie otvárania a zatvárania pazúry vašej robotickej paže.

V dnešnom tutoriáli to trocha zhrnieme zahrnutím bezdrôtového ovládača PS2 na ovládanie robotického ramena. Na tento projekt použijeme 4 servá.

Krok 1: Prehľad projektu

Obtiažnosť:

Zio Padawan

Užitočné zdroje:

Mali by ste mať základné znalosti o tom, ako nainštalovať vývojové dosky Zio. V tomto návode predpokladáme, že vaša vývojová doska je už nakonfigurovaná a je pripravená na nastavenie. Ak ste ešte nenakonfigurovali svoju dosku, pozrite sa na začiatok do nášho nižšie uvedeného tutoriálu Zio Qwiic Start Guide:

Zio Zuino M UNO Qwiic Sprievodca spustením

Krok 2: Schémy

Schémy
Schémy

Tu je schéma zapojenia projektu Robotic Arm Part 2 Project a schéma ovládača PS2 potrebné na pochopenie vašej kódovacej časti.

Krok 3: Schéma ovládača PS2

Schéma ovládača PS2
Schéma ovládača PS2

Krok 4: Nastavenie pripojenia modulov Zio

Nasleduje pripojenie našich modulov Zio, ktoré je potrebné nastaviť pomocou robotického ramena. Pripojenie všetkých modulov je veľmi jednoduché a nastavenie vám nezaberie viac ako 10 minút.

Krok 5: Pripojte servopohon robotického ramena k servopohonu Zio 16

Pripojte servo s robotickým ramenom k servo ovládači Zio 16
Pripojte servo s robotickým ramenom k servo ovládači Zio 16

Krok 6: Pripojte 16 servo k zosilňovaču DC/DC a nastavte ho na 6,0 V

Pripojte svoje 16 servo k zosilňovaču DC/DC a nastavte ho na 6,0 V
Pripojte svoje 16 servo k zosilňovaču DC/DC a nastavte ho na 6,0 V

Na zvýšenie a úpravu napájacieho napätia batérie na 6,0 používame zosilňovač DC/DC.

Potenciometrom na zosilňovači DC upravte napätie, kým nedosiahnete hodnotu 6,0. Stláčajte tlačidlo In/Out, kým sa na displeji nezobrazí 6.0. Na nastavenie napätia musíte najskôr napájať (3,7 V batériu) zosilňovač DC/DC.

Krok 7: Pripojte Zuino M Uno k servopohonu Zio 16

Pripojte Zuino M Uno k servopohonu Zio 16
Pripojte Zuino M Uno k servopohonu Zio 16

Qwiic prepojte Zuino M Uno s ovládačom Zio Servo pomocou kábla qwiic.

Krok 8: Pripojenie Uno k prijímaču PS2

Pripojenie Uno k prijímaču PS2
Pripojenie Uno k prijímaču PS2

Tu je pinový diagram spojení. Na túto časť potrebujete 5 prepojovacích káblov medzi mužom a ženou.

Krok 9: Kód pre robotické rameno

Na kódovanie nášho bezdrôtového ovládača PS2 na prácu s robotickým ramenom použijeme knižnicu PS2 Arduino. Zdrojový kód tohto projektu Robotic Arm Part 2 nájdete a stiahnite si na našej stránke Github.

Stiahnite si a nainštalujte nasledujúce knižnice a uložte ich do svojho miestneho priečinka s knižnicami Arduino IDE:

  • Knižnica servopohonov Adafruit PWM
  • Knižnica PS2 Arduino

Ak chcete nainštalovať knižnice, otvorte Arduino IDE, prejdite na kartu Náčrt, vyberte položku Zahrnúť knižnicu -> Pridať. Zip knižnicu. Vyberte vyššie uvedené knižnice, ktoré majú byť zahrnuté do vášho IDE.

Arduino má praktického sprievodcu inštaláciou knižníc do vášho Arduino IDE. Pozrite sa na ne tu!

Krok 10: Spustite kód

Spustite svoj kód
Spustite svoj kód

Otvorte Arduino IDE. V časti Súbory> Príklady> PS2_Arduino_Library vyberte PS2X_Servo

Poznámka: Predtým, ako budete môcť ovládať svoju robotickú ruku pomocou ovládača PS2, skontrolujte nasledujúce kroky: Zapnite ovládač PS2. Skontrolujte, či sa rozsvieti LED dióda režimu. Ak nie, stlačte tlačidlo Režim na ovládači. Po vykonaní vyššie uvedených krokov musíte na svojom zariadení Zuino M Uno stlačiť tlačidlo reset, aby prečítal nastavenia vášho ovládača. Na pohyb robotickej ruky musíte stlačiť L1 a joystick.

  • Ľavý joystick ovláda ohýbanie ramena nahor alebo nadol
  • Pravý joystick ovláda pazúr, aby sa otváral alebo zatváral a otáčal pazúrom doľava alebo doprava.

Krok 11: Vysvetlenie kódu

Použitie knižnice PS2X Arduino je jednoduché, vyžaduje iba inicializáciu, nastavenie a potom príkaz na čítanie.

Ak chcete nastaviť prepojenie svojho ovládača PS2 s Uno, nižšie sú kolíky, ktoré musíte definovať vo svojom kóde:

/********************************************************************** ****************nastaviť kolíky pripojené k ovládaču PS2:* - 1e stĺpec: originál* - 2e colmun: Stef? *nahraďte čísla pinov tými, ktoré používate ***************************************** **********************/#definovať PS2_DAT 13 // 14#definovať PS2_CMD 11 // 15#definovať PS2_SEL 10 // 16#definovať PS2_CLK 12 // 17

Piny sme nahradili tými, ktoré používame na pripojenie k nášmu Uno, ako je to naznačené na schéme pinov vyššie.

/********************************************************************** **************** vyberte režimy regulátora PS2:* - tlaky = analógové čítanie tlačidiel* - rachot = rachot motora*odkomentujte 1 riadok pre každý výber režimu ** ********************************************************** ************///#definovať tlaky pravdivé#definovať tlaky nepravdivé //#definovať rachot pravdivé#definovať rachot nepravdivé

Tu sme definovali režim PS2 pre tlaky a rachot ako falošný. Komentovali sme tie, ktoré nepoužívame.

Na ovládanie pohybu našej robotickej paže budeme používať iba príkaz Joysticku ovládača a L1.

void loop () {/* Musíte si prečítať gamepad, aby ste získali nové hodnoty a nastavili hodnoty vibrácií ps2x.read_gamepad (zapnutie/vypnutie malého motora, väčšia sila motora od 0 do 255), ak nepovolíte rachot, použite ps2x.read_gamepad (); bez hodnôt Mali by ste to zavolať aspoň raz za sekundu*/if (chyba == 1) // preskočiť slučku, ak sa nenašiel žiadny ovládač; else {// DualShock Controller ps2x.read_gamepad (false, vibrate); // prečítajte ovládač a nastavte veľký motor, aby sa otáčal rýchlosťou „vibrovania“, ak (ps2x. Button (PSB_START)) // // bude PRAVDA, pokiaľ je tlačidlo stlačené Serial.println („Štart je držaný“); if (ps2x. Button (PSB_SELECT)) Serial.println ("Select is holded"); vibrovať = ps2x. Analog (PSAB_CROSS); // toto nastaví rýchlosť vibrácií veľkého motora na základe toho, ako silne stlačíte modré tlačidlo (X), ak (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// vytlačenie hodnôt tyčinky, ak je niektorá z nich 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 ("Hodnoty Stick:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);

V nižšie uvedenom kóde kódujeme naše servá, ktoré ovládajú naše robotické rameno a ktoré zahrnujeme do volania funkcie pod ps2x.button (PSB_L1) || tlačidlo ps2x. (PSB_R1).

Na ovládanie svojej robotickej paže musíte stlačiť tlačidlo L1 alebo R1 spolu s joystickom.

Ľavé joysticky ovládajú serva 2 a 3 pre časť ramena - ovládajú ohýbanie ramena hore a dole, zatiaľ čo pravý joystick ovláda serva 0 a 1 pazúra robotického ramena otváranie alebo zatváranie a otáčanie doľava alebo doprava.

SERVO 0, 1 - pazúr SERVO 2, 3 - arm

V tejto časti môžete vykonávať zmeny hodnôt a ovládať tak stupeň uhla svojej robotickej paže:

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

Odporúča: