Inhaltsverzeichnis:

[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter - Daumen Roboter - Servomotor - Quellcode: 26 Schritte (mit Bildern)
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter - Daumen Roboter - Servomotor - Quellcode: 26 Schritte (mit Bildern)

Video: [Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter - Daumen Roboter - Servomotor - Quellcode: 26 Schritte (mit Bildern)

Video: [Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter - Daumen Roboter - Servomotor - Quellcode: 26 Schritte (mit Bildern)
Video: Wii Nunchuk am Arduino Uno (3/3) - 3-Achsen Beschleunigungssensor auslesen 2024, November
Anonim
Image
Image
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter | Daumen Roboter | Servomotor | Quellcode
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter | Daumen Roboter | Servomotor | Quellcode

Daumen Roboter. Verwendet ein Potentiometer des Servomotors MG90S. Es macht sehr viel Spaß und ist einfach! Der Code ist sehr einfach. Es sind nur etwa 30 Zeilen. Es sieht aus wie ein Motion-Capture.

Bitte hinterlassen Sie Fragen oder Feedback!

[Anweisung]

  • Quellcode
  • 3D-Druckdateien

[Über den Hersteller]

Youtube

Schritt 1: ARDUINO-TEILE

ARDUINO-TEILE
ARDUINO-TEILE
ARDUINO-TEILE
ARDUINO-TEILE
ARDUINO-TEILE
ARDUINO-TEILE

Arduino-IDE installieren

https://www.arduino.cc/en/Main/Software

CH340-Treiber installieren (für chinesische Version)

https://www.wch.cn/download/CH341SER_ZIP.html

DOWNLOAD - Quellcode

  • https://github.com/happythingsmaker/ThumbsRobot
  • Wie Sie sehen können, gibt es eine ZIP-Datei. Extrahieren Sie alle Dateien und doppelklicken Sie auf die Quellcodedatei.

Platine / Prozessor / Com-Port auswählen

  • Arduino Nano
  • ATmega328P (alter Bootloader)

Stecken Sie Ihr Arduino Nano

Stecken Sie das USB-Kabel ein und ein neuer Port wird angezeigt

Aufstrebenden Com-Port suchen/wählen

  • Klicken Sie auf den angezeigten Port und klicken Sie auf die Schaltfläche zum Hochladen
  • Klicke auf den Upload-Button

Schritt 2: 3D-DRUCKTEILE

3D-DRUCK TEILE
3D-DRUCK TEILE

Laden Sie 3D-Modellierungsdateien von Thingiverse herunter

https://www.thingiverse.com/thing:2844993

Drucken Sie alle Teile einzeln aus

Schritt 3: Schaltungsteil

Schaltungsteil
Schaltungsteil

Verwenden Sie das Arduino Nano-Erweiterungsboard. Da der Arduino Nano selbst nicht viele Pins hat, müssen Sie eine Erweiterungsplatine verwenden.

Wenn Sie sich die mit dem Motor verbundene Verkabelung ansehen, sehen Sie drei Farben. Gelb, Rot und Braun. Braun muss mit G (Masse) verbunden werden.

In den folgenden Schritten schauen wir uns das noch einmal genau an.

Schritt 4: HARDWARETEIL - Bereiten Sie alle Teile vor

HARDWARETEIL - Bereiten Sie alle Teile vor
HARDWARETEIL - Bereiten Sie alle Teile vor

[Teile]

  • 1 x Arduino Nano
  • 1 x Arduino Nano-Erweiterungsplatine
  • 6 x Servomotoren
  • 2 x Spielzeugaugenkugeln
  • 12 x Schraubenbolzen (2 * 6mm)

[Werkzeuge]

  • 3D-Drucker (Anet A8)
  • Filament für 3D-Druck (PLA 1,75mm)
  • Drahtzange
  • Drahtstipper
  • Heißklebepistole
  • Schraubendreher (+)
  • Tonband
  • Lötwerkzeuge (Hakko)
  • Löthand
  • Elektroschrauber

Schritt 5: Ändern Sie 3 Servomotoren in Positionssensor

Die folgenden Schritte zeigen Ihnen, wie Sie einen Servomotor in einen Positionssensor umwandeln. Grundsätzlich haben die meisten Servomotoren ein Potentiometer oder einen Encoder, um einen Winkelwert zu erhalten.

Wir werden dieses Potentiometer selbst verwenden. Wir müssen das Gehäuse öffnen, die Platine zerlegen und erneut verkabeln.

Schritt 6: 4 Schrauben auf der Rückseite abschrauben und das vordere Gehäuse öffnen

4 Schrauben auf der Rückseite lösen und das vordere Gehäuse öffnen
4 Schrauben auf der Rückseite lösen und das vordere Gehäuse öffnen
4 Schrauben auf der Rückseite lösen und das vordere Gehäuse öffnen
4 Schrauben auf der Rückseite lösen und das vordere Gehäuse öffnen

Sie benötigen einen kleinen Schraubendreher, da sie zu klein sind. Der Motor besteht aus 3 Teilen - vorne, Körper und hinten.

Wenn Sie die Vorderseite öffnen, sehen Sie die Zahnräder. Eigentlich verwenden wir diesen Motor nicht als "Motor". Die Zahnräder sind also theoretisch nicht mehr notwendig. Aber wir werden einen Teil davon verwenden, damit der Betriebswinkel immer noch eine Rotationsbeschränkung hat.

Schritt 7: Entfernen Sie den 3. Gang

Entfernen Sie den 3. Gang
Entfernen Sie den 3. Gang
3. Gang entfernen
3. Gang entfernen
Entfernen Sie den 3. Gang
Entfernen Sie den 3. Gang

Das Potentiometer im Servomotor hat eine Winkelbegrenzung von etwa 180 Grad. Das Potentiometer hat seinen eigenen Begrenzungsmechanismus, aber er ist so schwach. Es ist oft leicht kaputt. Um es zu schützen, gibt das Getriebe einen anderen Mechanismus. Das erste Zahnrad hat einen Kunststoffstoßfänger, der mit dem zweiten Gang in Kontakt kommt.

Wir brauchen definitiv den ersten Gang für den Gesamtrahmen, den zweiten Gang wird für die Begrenzung benötigt. Wir können sie also nicht loswerden. Stattdessen können wir den dritten Gang entfernen.

Sie fragen sich vielleicht, warum wir ein Zahnrad entfernen müssen. Diese drei Servomotoren werden verwendet, um Winkelinformationen zu erhalten. Wenn sich Zahnräder darin befinden, wird die Bewegung steif. Also müssen wir eine Ausrüstung von ihnen loswerden.

Schritt 8: Neuverdrahtung / Löten

Umverdrahten / Löten
Umverdrahten / Löten

Schneiden Sie die Drähte ab, die mit den Motoren verbunden sind.

Schritt 9: Verwenden Sie ein Lötwerkzeug und entfernen Sie die Platine

Verwenden Sie ein Lötwerkzeug und entfernen Sie die Platine
Verwenden Sie ein Lötwerkzeug und entfernen Sie die Platine
Verwenden Sie ein Lötwerkzeug und entfernen Sie die Platine
Verwenden Sie ein Lötwerkzeug und entfernen Sie die Platine

Schritt 10: Schneiden Sie einen Draht und bereiten Sie sich zum Löten vor

Schneiden Sie einen Draht ab und bereiten Sie ihn zum Löten vor
Schneiden Sie einen Draht ab und bereiten Sie ihn zum Löten vor
Schneiden Sie einen Draht ab und bereiten Sie ihn zum Löten vor
Schneiden Sie einen Draht ab und bereiten Sie ihn zum Löten vor

und etwas Paste und etwas Blei auf das Kabel auftragen

Schritt 11: Löten Sie es

Löten Sie es
Löten Sie es
Löten Sie es
Löten Sie es
Löten Sie es
Löten Sie es
Löten Sie es
Löten Sie es

von ganz links rot gelb und braun

Schritt 12: Legen Sie etwas Kleber darauf

Geben Sie etwas Kleber darauf
Geben Sie etwas Kleber darauf
Geben Sie etwas Kleber darauf
Geben Sie etwas Kleber darauf

und erobere seine Rückseite

Wir brauchen 2 weitere Potentiometer. Machen Sie die gleiche Arbeit für zwei andere Motoren

Schritt 13: Machen Sie den ersten gemeinsamen Keller

Machen Sie den ersten gemeinsamen Keller
Machen Sie den ersten gemeinsamen Keller
Machen Sie den ersten gemeinsamen Keller
Machen Sie den ersten gemeinsamen Keller
Machen Sie den ersten gemeinsamen Keller
Machen Sie den ersten gemeinsamen Keller

Ich habe ein Kochbrett für dieses Projekt verwendet. es ist billig und fest, es zu verwenden. Um den Rahmen auf der Platine zu befestigen, müssen Sie Schrauben mit scharfen Enden verwenden. Es macht Loch und Gewinde gleichzeitig.

Es gibt 6 Motoren. 3 Motoren auf der linken Seite sind die Originalmotoren. Andererseits gibt es 3 Motoren, die vor dem Schritt modifiziert werden.

Schritt 14: Machen Sie das Giergelenk

Machen Sie das Giergelenk
Machen Sie das Giergelenk
Machen Sie das Giergelenk
Machen Sie das Giergelenk

Sie müssen M2 * 6mm Schraubenbolzen verwenden.

Schritt 15: Montieren Sie das Giergelenk mit dem ersten Motor

Bauen Sie das Azimutgelenk mit dem ersten Motor zusammen
Bauen Sie das Azimutgelenk mit dem ersten Motor zusammen
Bauen Sie das Azimutgelenk mit dem ersten Motor zusammen
Bauen Sie das Azimutgelenk mit dem ersten Motor zusammen

Wie Sie auf dem letzten Bild sehen können, müssen Sie die Fuge in horizontaler Richtung legen. Und die Position sollte 90 Grad des Motors und des Potentiometers betragen.

Mit anderen Worten, Sie können dieses Giergelenk von dieser Position aus um 90 Grad im Uhrzeigersinn und gegen den Uhrzeigersinn drehen.

Schritt 16: Bauen Sie den Arduino Nano mit der Arduino Nano-Erweiterungsplatine zusammen

Bauen Sie den Arduino Nano mit der Arduino Nano-Erweiterungsplatine zusammen
Bauen Sie den Arduino Nano mit der Arduino Nano-Erweiterungsplatine zusammen
Bauen Sie den Arduino Nano mit der Arduino Nano-Erweiterungsplatine zusammen
Bauen Sie den Arduino Nano mit der Arduino Nano-Erweiterungsplatine zusammen

Achten Sie auf die Richtung. Der USB-Port befindet sich auf der gleichen Seite mit der DC-Buchse.

Schritt 17: Die Verbindung der ersten Schicht

Die First-Layer-Verbindung
Die First-Layer-Verbindung
Die First-Layer-Verbindung
Die First-Layer-Verbindung

Das Potentiometer ist mit dem Analog 0 Pin des Arduino verbunden. Sie müssen es richtig einstecken. Dieser Arduino Nano verfügt über einen 8-Kanal-ADC (Analog Digital Converter). Grundsätzlich gibt das Potentiometer analogen Pegel oder Spannung an. Sie können diesen Voltwert lesen, indem Sie ADC-Pins verwenden

Zum anderen ist der Servomotor mit Digital 9 des Arduino verbunden. Servomotoren können mit PWM (Pulsweitenmodulation) gesteuert werden. Der Arduino Nano verfügt über einen 6-Kanal-PWM-Pin (Pin 9, 10, 11, 3, 5 und 6). So können wir bis zu 6 Servomotoren verwenden.

In diesem Schritt sieht der Quellcode so aus

#enthalten

Servoservo[6];void setup () { PinMode (A0, INPUT); servo[0].attach(9);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180));}

Schritt 18: Montieren Sie die zweite Schicht

Bauen Sie die zweite Schicht zusammen
Bauen Sie die zweite Schicht zusammen
Bauen Sie die zweite Schicht zusammen
Bauen Sie die zweite Schicht zusammen
Bauen Sie die zweite Schicht zusammen
Bauen Sie die zweite Schicht zusammen
Bauen Sie die zweite Schicht zusammen
Bauen Sie die zweite Schicht zusammen

Die zweite Schicht ist ebenfalls einfach herzustellen. Worauf Sie achten müssen, ist, es an der richtigen Stelle zu platzieren, wenn Sie das Kabel an den Arduino anschließen.

  • Der linke Servomotor ist mit Pin 10. verbunden
  • Das rechte Potentiometer ist mit A1. verbunden

#enthalten

Servoservo[6];void setup () { PinMode (A0, INPUT); PinMode (A1, EINGANG); servo[0].attach(9); servo[1].attach(10);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = analogRead(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180));}

Schritt 19: Montieren Sie die 3rd Layer Frames

Montieren Sie die 3rd-Layer-Frames
Montieren Sie die 3rd-Layer-Frames

Schritt 20: Montieren Sie den Rahmen mit dem 2. Motor / Potentiometer

Montieren Sie den Rahmen mit dem zweiten Motor / Potentiometer
Montieren Sie den Rahmen mit dem zweiten Motor / Potentiometer
Montieren Sie den Rahmen mit dem zweiten Motor / Potentiometer
Montieren Sie den Rahmen mit dem zweiten Motor / Potentiometer
Montieren Sie den Rahmen mit dem zweiten Motor / Potentiometer
Montieren Sie den Rahmen mit dem zweiten Motor / Potentiometer
Montieren Sie den Rahmen mit dem zweiten Motor / Potentiometer
Montieren Sie den Rahmen mit dem zweiten Motor / Potentiometer

Schritt 21: Montieren Sie den 3. Motor in den Gelenkrahmen

Montieren Sie den dritten Motor in den Gelenkrahmen
Montieren Sie den dritten Motor in den Gelenkrahmen
Montieren Sie den dritten Motor in den Gelenkrahmen
Montieren Sie den dritten Motor in den Gelenkrahmen

Schritt 22: Stecken Sie das Kabel in das Arduino

Stecken Sie das Kabel in den Arduino
Stecken Sie das Kabel in den Arduino
Stecken Sie das Kabel in den Arduino
Stecken Sie das Kabel in den Arduino
  • Der 3. Motor wird mit Pin 11. verbunden
  • Das 3. Potentiometer ist mit A2. verbunden

Code sieht so aus

#include Servo Servo[6];void setup () { PinMode (A0, INPUT); PinMode (A1, EINGANG); PinMode (A2, EINGANG); servo[0].attach(9); servo[1].attach(10); servo[2].attach(11);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = analogRead(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo[2].write(map(tempADC[2], 0, 1023, 0, 180));}

Schritt 23: Montieren Sie den Daumenrahmen

Montieren Sie den Daumenrahmen
Montieren Sie den Daumenrahmen
Montieren Sie den Daumenrahmen
Montieren Sie den Daumenrahmen

Schritt 24: Winkel testen und anpassen

Winkel testen und anpassen
Winkel testen und anpassen
Winkel testen und anpassen
Winkel testen und anpassen
Winkel testen und anpassen
Winkel testen und anpassen

Stecken Sie das USB-Kabel in eine beliebige Stromquelle und der Roboter wird bald eingeschaltet. Der Winkel kann leicht abweichen. Passen Sie den Winkel nacheinander an.

Schritt 25: Ein weiterer Roboter?

Noch ein Roboter?
Noch ein Roboter?
Noch ein Roboter?
Noch ein Roboter?

Wenn Sie einen weiteren Roboter bauen möchten, können Sie ihn erstellen. Stecken Sie die Servos in 3, 5 und 6.

#include Servo-Servo[6]; Void setup () { PinMode (A0, INPUT); PinMode (A1, EINGANG); PinMode (A2, EINGANG); servo[0].attach(9); servo[1].attach(10); servo[2].attach(11); servo[3].attach(3); servo[4].attach(5); servo[5].attach(6);}int tempADC[3] = {0};void loop() { tempADC[0] = analogRead(A0); servo[0].write(map(tempADC[0], 0, 1023, 0, 180)); servo[3].write(map(tempADC[0], 0, 1023, 0, 180)); tempADC[1] = analogRead(A1); servo[1].write(map(tempADC[1], 0, 1023, 0, 180)); servo[4].write(map(tempADC[1], 0, 1023, 0, 180)); tempADC[2] = analogRead(A2); servo[2].write(map(tempADC[2], 0, 1023, 0, 180)); servo[5].write(map(tempADC[2], 0, 1023, 0, 180));}

Schritt 26: Fertig

Fertig!
Fertig!
Fertig!
Fertig!
Fertig!
Fertig!

Wenn Sie Fragen haben, können Sie sie gerne hinterlassen:)

Mikrocontroller-Wettbewerb
Mikrocontroller-Wettbewerb
Mikrocontroller-Wettbewerb
Mikrocontroller-Wettbewerb

Zweiter im Mikrocontroller-Wettbewerb

Empfohlen: