- Erforderliche Materialien:
- 3D-Druck der benötigten Teile:
- Hardware und Schaltpläne:
- Roboter zusammenbauen:
- Programmieren des Arduino für Biped Robot:
- Verarbeitungsbasierte Android-Anwendung:
- Funktionieren eines Bluetooth-gesteuerten Biped-Roboters:
Willkommen zu einem weiteren Projekt, in dem wir einen kleinen Roboter bauen, der laufen und tanzen kann. Das Projekt zielt darauf ab, Ihnen beizubringen, wie Sie mit Arduino kleine Hobby-Roboter herstellen und wie Sie Ihre Servomotoren für solche Anwendungen programmieren. Am Ende des Projekts können Sie diesen Lauf- und Tanzroboter erstellen, der von einem Android-Mobiltelefon aus das Kommando übernimmt, um einige vordefinierte Aktionen auszuführen. Sie können auch das Programm (am Ende des Tutorials angegeben) verwenden, um die Aktionen Ihres eigenen Roboters einfach zu manipulieren, indem Sie die Position der Servomotoren mithilfe des seriellen Monitors steuern. Ein 3D-Drucker macht dieses Projekt interessanter und sieht cool aus. Wenn Sie jedoch keinen haben, können Sie einen der Onlinedienste nutzen oder einfach Pappe verwenden, um denselben zu erstellen.
Erforderliche Materialien:
Die folgenden Materialien werden für den Bau dieses Roboters benötigt:
- Arduino Nano
- Servo SG90 - 4Nos
- Männliche Bergstöcke
- Bluetooth-Modul HC-05 / HC-06
- 3D Drucker
Wie Sie sehen können, benötigt dieser 3D-gedruckte Roboter nur sehr wenige elektronische Teile, um die Projektkosten so niedrig wie möglich zu halten. Dieses Projekt dient nur konzeptionellen und unterhaltsamen Zwecken und hat bisher keine Echtzeitanwendung.
3D-Druck der benötigten Teile:
Der 3D-Druck ist ein erstaunliches Werkzeug, das beim Erstellen von Prototypenprojekten oder beim Experimentieren mit neuen mechanischen Konstruktionen viel beitragen kann. Wenn Sie die Vorteile eines 3D-Druckers oder dessen Funktionsweise noch nicht entdeckt haben, lesen Sie den Anfängerleitfaden zum 3D-Druck.
In diesem Projekt wird der oben gezeigte Körper des Roboters vollständig in 3D gedruckt. Sie können die STL-Dateien hier herunterladen. Laden Sie diese Dateien in Ihre 3D-Drucksoftware wie Cura und drucken Sie sie direkt aus. Ich habe einen sehr einfachen Drucker verwendet, um alle Teile zu drucken. Der Drucker ist FABX v1 von 3ding, der zu einem erschwinglichen Preis mit einem Druckvolumen von 10 Kubikzentimetern erhältlich ist. Der günstige Preis ist mit einem Kompromiss bei niedriger Druckauflösung und ohne SD-Karte oder Funktion zur Wiederaufnahme des Drucks verbunden. Ich verwende eine Software namens Cura, um die STL-Dateien zu drucken. Die Einstellungen, die ich zum Drucken der Materialien verwendet habe, sind unten angegeben. Sie können dieselben verwenden oder sie je nach Drucker ändern.
Wenn Sie alle Teile gedruckt haben, reinigen Sie die Stützen (falls vorhanden) und stellen Sie sicher, dass die Löcher am Bein- und Bauchteil groß genug sind, um eine Schraube aufzunehmen. Wenn nicht, verwenden Sie eine Nadel, um das Loch etwas größer zu machen. Ihre 3D-gedruckten Teile sehen wie folgt aus.
Hardware und Schaltpläne:
Die Hardware für diesen Mobiltelefon-gesteuerten Biped-Arduino-Roboter ist wirklich einfach. Das vollständige Schema ist im folgenden Bild dargestellt
Ich habe ein Perf-Board verwendet, um die oben genannten Verbindungen herzustellen. Stellen Sie sicher, dass Ihre Schaltung auch in den Kopf des Roboters passt. Sobald Ihr Perf-Board fertig ist, sollte es ungefähr so aussehen wie unten.
Roboter zusammenbauen:
Sobald die Hardware und die 3D-gedruckten Teile fertig sind, können wir den Roboter zusammenbauen. Stellen Sie vor dem Befestigen der Motoren sicher, dass Sie die Motoren in den folgenden Winkeln platzieren, damit das Programm einwandfrei funktioniert.
Motornummer |
Motorplatz |
Motorposition |
1 |
Motor der linken Hüfte |
110 |
2 |
Rechter Hüftmotor |
100 |
4 |
Rechter Knöchelmotor |
90 |
5 |
Rechter Hüftmotor |
80 |
Diese Winkel können mit dem am Ende des Tutorials angegebenen Programm eingestellt werden. Laden Sie das Programm einfach auf Ihr Arduino hoch, nachdem Sie die oben genannten Verbindungen hergestellt haben, und geben Sie Folgendes in den seriellen Monitor ein (Hinweis: Die Baudrate beträgt 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
Ihr serieller Monitor sollte ungefähr so aussehen, nachdem Sie alle Motoren in Position gebracht haben.
Sobald die Motoren in den entsprechenden Winkeln eingestellt sind, montieren Sie sie wie in der obigen Abbildung gezeigt.
Wenn Sie sich nicht sicher sind, wie die Motoren zusammengebaut werden sollen, folgen Sie dem Video am Ende dieses Tutorials. Sobald der Roboter zusammengebaut ist, ist es Zeit, unseren Tanzroboter zu programmieren
Programmieren des Arduino für Biped Robot:
Das Programmieren des BBB-Roboters ( Bluetooth Biped Bob ) ist der interessanteste und unterhaltsamste Teil dieses Tutorials. Wenn Sie sehr gut Servomotoren mit Arduino programmieren können, würde ich Ihnen empfehlen, Ihr Programm zu erstellen. Bt, wenn Sie lernen möchten, wie man Servomotoren für solche Roboteranwendungen verwendet, dann ist dieses Programm sehr hilfreich für. Weitere Informationen zur Arduino-Programmierung finden Sie in unserer Kategorie Arduino-Projekte.
Das vollständige Programm finden Sie am Ende dieses Tutorials. Sie können den vollständigen Code auch hier herunterladen. Ich werde die Segmente desselben unten erklären. Das Programm kann die Roboteraktionen über einen seriellen Monitor oder Bluetooth steuern. Sie können auch Ihre eigenen Bewegungen ausführen, indem Sie jeden einzelnen Motor über den seriellen Monitor steuern.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
In den obigen Codezeilen wird angegeben, welcher Servomotor an welchen Pin des Arduino angeschlossen ist. In unserem Fall sind Servo 1,2,4 und 5 mit den Pins 3,5,9 bzw. 10 verbunden.
Bot_BT.begin (9600); // Starten Sie die Bluetooth-Kommunikation bei 9600 Baudrate Serial.begin (57600);
Wie bereits erwähnt, kann unser Laufroboter Bluetooth-Befehle und auch Befehle vom seriellen Monitor verarbeiten. Daher funktioniert die serielle Bluetooth-Kommunikation mit einer Baudrate von 9600 und die serielle Kommunikation mit einer Baudrate von 57600. Der Name unseres Bluetooth-Objekts lautet hier „Bot_BT“.
Schalter (Motor) {Fall 1: // Für Motor Eins {Serial.println ("Motor Eins ausführen"); if (num1
Das oben gezeigte Schaltergehäuse dient zur individuellen Steuerung der Servomotoren. Dies hilft Ihnen dabei, Ihre eigenen kreativen Bewegungen mit Ihrem Roboter auszuführen. Mit diesem Codesegment können Sie einfach die Motornummer von Winkel zu Winkel angeben, um einen bestimmten Motor an einen gewünschten Ort zu bewegen.
Zum Beispiel, wenn wir den Motor Nummer 1, der der linke Hüftmotor ist, von seiner Standardposition von 110 Grad auf 60 Grad bewegen möchten. Wir können einfach "1.110,60" in den seriellen Monitor von Arduino schreiben und die Eingabetaste drücken. Dies ist praktisch, um mit Ihrem Roboter Ihre eigenen komplexen Bewegungen auszuführen. Sobald Sie mit all dem von Engel und Winkel experimentiert haben, können Sie Ihre eigenen Bewegungen ausführen und sie wiederholen, indem Sie sie als Funktion ausführen.
if (Serial.available ()> 0) // Lies, was über Serial hereinkommt {gmotor = Serial.parseInt (); Serial.print ("ausgewählte Nummer->"); Serial.print (Motor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("Abschluss"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("Grad"); flag = 1; }}
Wenn serielle Daten verfügbar sind, wird die Nummer vor dem ersten „,“ als Motor und dann die Nummer vor dem zweiten „,“ als gnum1 und die Nummer nach dem zweiten „,“ als gnum2 betrachtet.
if (Bot_BT.available ()) // Lies, was über Bluetooth eingeht {BluetoothData = Bot_BT.read (); Serial.print ("Eingehend von BT:"); Serial.println (BluetoothData); }}
Wenn das Bluetooth einige Informationen empfängt, werden die empfangenen Informationen in der Variablen „BluetoothData“ gespeichert. Diese Variable wird dann mit den vordefinierten Werten verglichen, um eine bestimmte Aktion auszuführen.
if (flag == 1) call (gmotor, gnum1, gnum2); // den jeweiligen Motor zum Handeln aufrufen // die Funktionen gemäß der über den seriellen Monitor oder Bluetooth empfangenen Anweisung ausführen // if (gmotor == 10) left_leg_up (); if (gmotor == 11) right_leg_up (); if (gmotor == 12) move_left_front (); if (gmotor == 13) move_right_front (); if (BluetoothData == 49 - gmotor == 49) say_hi (); if (BluetoothData == 50 - gmotor == 50) walk1 (); if (BluetoothData == 51 - gmotor == 51) walk2 (); if (BluetoothData == 52 - gmotor == 52) dance1 (); if (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Hier werden die Funktionen basierend auf den vom seriellen Monitor oder Bluetooth empfangenen Werten aufgerufen. Wie oben gezeigt, hat der variable Motor den Wert des seriellen Monitors und BluetoothData den Wert des Bluetooth-Geräts. Die Zahlen 10,11,12 bis 53,54 sind vordefinierte Zahlen.
Zum Beispiel, wenn Sie die Nummer 49 in den seriellen Monitor eingeben. Die Funktion say_hi () wird ausgeführt, wobei der Roboter Ihnen ein Hallo winkt.
Alle Funktionen sind auf der Seite „Bot_Functions“ definiert. Sie können es öffnen und sehen, was in jeder Funktion tatsächlich passiert. Alle diese Funktionen wurden durch Experimentieren von Engel zu Engel jedes Motors unter Verwendung des oben erläuterten Schaltergehäuses erzeugt. Wenn Sie irgendwelche Zweifel haben, können Sie den Kommentarbereich verwenden, um sie zu posten, und ich werde Ihnen gerne weiterhelfen.
Verarbeitungsbasierte Android-Anwendung:
Die Android-Anwendung zur Steuerung des Roboters wurde im Verarbeitungsmodus Android erstellt. Wenn Sie einige Änderungen an der Anwendung vornehmen möchten, können Sie das vollständige Verarbeitungsprogramm hier herunterladen.
Wenn Sie die Anwendung einfach nur verwenden möchten, können Sie sie hier als APK-Datei herunterladen und direkt auf Ihrem Mobiltelefon installieren.
Hinweis: Ihr Bluetooth-Modul sollte den Namen HC-06 tragen, da die Anwendung sonst keine Verbindung zu Ihrem Bluetooth-Modul herstellen kann.
Sobald die Anwendung installiert ist, können Sie das Bluetooth-Modul mit Ihrem Telefon koppeln und die Anwendung starten. Es sollte ungefähr so aussehen.
Wenn Sie Ihre App attraktiver gestalten oder eine Verbindung zu einem anderen Gerät als Hc-06 herstellen möchten. Sie können den Verarbeitungscode verwenden, einige Änderungen daran vornehmen und den Code dann direkt auf Ihr Telefon hochladen.
Funktionieren eines Bluetooth-gesteuerten Biped-Roboters:
Sobald Ihre Hardware, Android-Anwendung und Arduino Sketch fertig sind, ist es Zeit, Spaß mit unserem Roboter zu haben. Sie können den Roboter über die Bluetooth-Anwendung mithilfe der Schaltflächen in der Anwendung oder direkt über den seriellen Monitor steuern, indem Sie einen der folgenden Befehle verwenden (siehe Abbildung unten).
Mit jedem Befehl führt der Roboter einige besondere Aufgaben aus, und Sie können je nach Kreativität weitere Aktionen hinzufügen.
Der Roboter kann auch über einen 12-V-Adapter oder über eine 9-V-Batterie mit Strom versorgt werden. Diese Batterie kann leicht unter der Perf-Platine positioniert und auch mit dem Kopf des Roboters abgedeckt werden.
Die vollständige Funktionsweise dieses Smartphone-gesteuerten Roboters finden Sie im folgenden Video.