Inhaltsverzeichnis:
- Schritt 1: Projektübersicht
- Schritt 2: Schaltpläne
- Schritt 3: PS2-Controller-Diagramm
- Schritt 4: Zio-Module-Verbindung einrichten
- Schritt 5: Verbinden Sie den Roboterarm-Servo mit dem Zio 16-Servocontroller
- Schritt 6: Verbinden Sie Ihren 16-Servo mit dem DC / DC-Booster und stellen Sie ihn auf 6,0 V ein
- Schritt 7: Verbinden Sie Zuino M Uno mit dem Zio 16 Servo Controller
- Schritt 8: Anschließen von Uno an den PS2-Empfänger
- Schritt 9: Code für Roboterarm
- Schritt 10: Führen Sie Ihren Code aus
- Schritt 11: Code-Erklärung
Video: Roboterarm mit Zio-Modulen Teil 2: 11 Schritte
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Im heutigen Tutorial werden wir alle 4 Servos und einen PS2-Wireless-Controller verwenden, um den Roboterarm zu steuern.
Dieser Blogbeitrag ist Teil der Zio Robotics Series.
Einführung
In unserem vorherigen Blog haben wir Teil 1-Tutorial zur Steuerung eines Roboterarms mit Zio-Modulen veröffentlicht. Teil 1 konzentrierte sich hauptsächlich darauf, die Klaue Ihres Roboterarms automatisch zum Öffnen und Schließen zu steuern.
Im heutigen Tutorial werden wir es ein wenig verbessern, indem wir einen PS2-Wireless-Controller zur Steuerung des Roboterarms hinzufügen. Für dieses Projekt werden wir 4 Servos verwenden.
Schritt 1: Projektübersicht
Schwierigkeitsgrad:
Zio Padawan
Hilfreiche Ressourcen:
Sie sollten über ein grundlegendes Verständnis der Installation von Zio-Entwicklungsboards verfügen. In diesem Tutorial gehen wir davon aus, dass Ihr Entwicklungsboard bereits konfiguriert ist und eingerichtet werden kann. Wenn Sie Ihr Board noch nicht konfiguriert haben, sehen Sie sich unser Tutorial zur Zio Qwiic-Startanleitung unten an, um loszulegen:
Zio Zuino M UNO Qwiic-Startanleitung
Schritt 2: Schaltpläne
Hier ist der Schaltplan des Roboterarm-Teil-2-Projekts sowie das PS2-Controller-Diagramm, das zum Verständnis Ihres Codierungsteils benötigt wird.
Schritt 3: PS2-Controller-Diagramm
Schritt 4: Zio-Module-Verbindung einrichten
Unten sehen Sie die Verbindung unserer Zio-Module, die mit dem Roboterarm eingerichtet werden sollen. Das Verbinden aller Module ist ziemlich einfach und dauert nicht länger als 10 Minuten.
Schritt 5: Verbinden Sie den Roboterarm-Servo mit dem Zio 16-Servocontroller
Schritt 6: Verbinden Sie Ihren 16-Servo mit dem DC / DC-Booster und stellen Sie ihn auf 6,0 V ein
Wir verwenden einen DC/DC-Booster, um die Batterieversorgungsspannung zu erhöhen und auf 6,0 einzustellen.
Verwenden Sie das Potentiometer am DC-Booster, um die Spannung einzustellen, bis Sie 6,0 erhalten. Drücken Sie die In/Out-Taste, bis das Display 6.0 anzeigt. Sie müssen zuerst Ihren DC/DC-Booster mit Strom (3,7 V Batterie) versorgen, um die Spannung anzupassen.
Schritt 7: Verbinden Sie Zuino M Uno mit dem Zio 16 Servo Controller
Qwiic verbinden Zuino M Uno mit dem Zio Servo Controller mit Qwiic Kabel.
Schritt 8: Anschließen von Uno an den PS2-Empfänger
Hier ist ein Pin-Diagramm der Anschlüsse. Sie benötigen 5 Stecker-auf-Buchse-Überbrückungsdrähte für dieses Teil.
Schritt 9: Code für Roboterarm
Wir werden die PS2-Arduino-Bibliothek verwenden, um unseren PS2-Wireless-Controller für die Arbeit mit unserem Roboterarm zu codieren. Sie können den Quellcode für dieses Robotic Arm Part 2-Projekt auf unserer Github-Seite finden und herunterladen.
Laden Sie die folgenden Bibliotheken herunter, installieren Sie sie und speichern Sie sie in Ihrem lokalen Arduino IDE-Bibliotheksordner:
- Adafruit PWM-Servotreiberbibliothek
- PS2 Arduino-Bibliothek
Um die Bibliotheken zu installieren, öffnen Sie Ihre Arduino IDE, gehen Sie zur Registerkarte Sketch, wählen Sie Bibliothek einschließen -> Add. Zip Library. Wählen Sie die oben genannten Bibliotheken aus, die in Ihre IDE aufgenommen werden sollen.
Arduino hat eine praktische Anleitung zum Installieren von Bibliotheken in Ihrer Arduino-IDE. Schau sie dir hier an!
Schritt 10: Führen Sie Ihren Code aus
Öffnen Sie die Arduino-IDE. Wählen Sie unter Dateien > Beispiele > PS2_Arduino_Library PS2X_Servo
Hinweis: Bevor Sie Ihren Roboterarm mit dem PS2-Controller steuern können, überprüfen Sie die folgenden Schritte: Schalten Sie Ihren PS2-Controller ein. Prüfen Sie, ob die Modus-LED aufleuchtet. Wenn dies nicht der Fall ist, drücken Sie die Mode-Taste auf Ihrem Controller. Nachdem Sie die obigen Schritte ausgeführt haben, müssen Sie die Reset-Taste Ihres Zuino M Uno drücken, damit Ihre Controller-Einstellungen gelesen werden können. Sie müssen L1 und den Joystick drücken, um Ihren Roboterarm zu bewegen.
- Der linke Joystick steuert die Beugung des Arms nach oben oder unten
- Der rechte Joystick steuert die Klaue, um sich entweder zu öffnen oder zu schließen und die Klaue nach links oder rechts zu drehen.
Schritt 11: Code-Erklärung
Die Verwendung der PS2X-Arduino-Bibliothek ist einfach und erfordert nur eine Initialisierung, ein Setup und dann einen Lesebefehl.
Um die Verbindung für Ihren PS2-Controller mit Ihrem Uno einzurichten, sind unten die Pins, die Sie in Ihrem Code definieren müssen:
/************************************************ ************** * Set-Pins, die an PS2-Controller angeschlossen sind: * - 1e Spalte: Original * - 2e Spalte: Stef? * Ersetzen Sie die Pin-Nummern durch die, die Sie verwenden******************************************** **********************/#define PS2_DAT 13 //14 #define PS2_CMD 11 //15#define PS2_SEL 10 //16#define PS2_CLK 12 // 17
Wir haben die Pins durch diejenigen ersetzt, die wir verwenden, um uns mit unserem Uno zu verbinden, wie im obigen Pin-Diagramm beschrieben.
/************************************************ **************** Betriebsarten des PS2-Reglers auswählen: * - Drücke = analoge Anzeige der Drucktasten * - Rumpeln = Motorrumpeln * 1 der Zeilen für jede Modusauswahl auskommentieren** ************************************************* ************/ //#Drücke definieren wahr#Drücke definieren falsch //#Rumble definieren wahr#Rumble definieren falsch
Hier haben wir den PS2-Modus für Druck und Rumpeln als falsch definiert. Wir haben diejenigen kommentiert, die wir nicht verwenden.
Wir werden nur den Joystick-Befehl des Controllers und L1 verwenden, um die Bewegung unseres Roboterarms zu steuern.
void loop() {/* Sie müssen Gamepad lesen, um neue Werte zu erhalten und Vibrationswerte einzustellen ps2x.read_gamepad (kleiner Motor an/aus, größere Motorstärke von 0-255) (); ohne Werte Sie sollten dies mindestens einmal pro Sekunde aufrufen*/ if(error == 1) //Schleife überspringen, wenn kein Controller gefunden wurde return; else {//DualShock Controller ps2x.read_gamepad (falsch, vibrieren); // Controller lesen und großen Motor so einstellen, dass er sich mit "Vibrations"-Geschwindigkeit dreht if (ps2x. Button (PSB_START)) // wird TRUE sein, solange die Taste gedrückt wird Serial.println ("Start wird gehalten"); if(ps2x. Button(PSB_SELECT)) Serial.println("Auswahl wird gehalten"); vibrieren = ps2x. Analog(PSAB_CROSS); // Dadurch wird die Vibrationsgeschwindigkeit des großen Motors basierend darauf eingestellt, wie stark Sie die blaue Taste (X) drücken if (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {//stick-Werte drucken, wenn einer von beiden TRUE ist 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("Stickwerte:"); Serial.print (RX_Value); Serial.print (" "); Serial.print (RY_Value); Serial.print (" "); Serial.print (LY_Value); Serial.print (" "); Serial.println (LX_Value);
Im folgenden Code codieren wir unsere Servos, die unseren Roboterarm steuern, die wir in den Funktionsaufruf unter ps2x.button(PSB_L1)||. aufnehmen ps2x.button(PSB_R1).
Sie müssen die L1- oder R1-Taste zusammen mit dem Joystick drücken, um Ihren Roboterarm zu steuern.
Der linke Joystick steuert die Servos 2 und 3 für den Armteil - steuert das Auf- und Abbeugen des Arms, während der rechte Joystick die Servos 0 und 1 der Greifer des Roboterarms zum Öffnen oder Schließen und zum Drehen nach links oder rechts steuert.
SERVO 0, 1 - Klaue SERVO 2, 3 - Arm
Sie können die Werte in diesem Abschnitt ändern, um den Winkel Ihres Roboterarms zu steuern:
pulselen0=map(RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1=map(RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2=map(LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3=map(LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);
Empfohlen:
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: 8 Schritte (mit Bildern)
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: EinführungSeit ich mit dem Studium von Arduino und der Maker-Kultur begonnen habe, habe ich gerne nützliche Geräte aus Schrott- und Schrottstücken wie Kronkorken, PVC-Stücken, Getränkedosen usw. gebaut. Ich liebe es, eine Sekunde zu geben Leben für jedes Stück oder jeden Kumpel
Roboterarm mit Zio mit PS2-Controller steuern - Gunook
Steuern Sie den Roboterarm mit Zio mithilfe des PS2-Controllers: Dieser Blogbeitrag ist Teil der Zio Robotics Series. Einführung Dies ist die letzte Ausgabe des Beitrags „Steuern eines Roboterarms mit Zio“. In diesem Tutorial werden wir unserem Roboterarm einen weiteren Teil hinzufügen. Frühere Tutorials enthalten keine Basis für die
WIE MAN EINEN BEEINDRUCKENDEN HOLZ-ROBOTERARM ZUSAMMENBAUT (TEIL 3: ROBOTERARM) - BASIERT AUF DEM MIKRO: BITN - Gunook
WIE MAN EINEN BEEINDRUCKENDEN ROBOTERARM AUS HOLZ MONTIERT (TEIL3: ROBOTERARM) -- BASIEREND AUF DEM MIKRO: BITN: Der nächste Installationsvorgang basiert auf dem Abschluss des Hindernisvermeidungsmodus. Der Installationsprozess im vorherigen Abschnitt ist der gleiche wie der Installationsprozess im Linienverfolgungsmodus. Dann werfen wir einen Blick auf die endgültige Form von A