Wie man einen Roboter zu Hause baut (mit Bildern)

Inhaltsverzeichnis:

Wie man einen Roboter zu Hause baut (mit Bildern)
Wie man einen Roboter zu Hause baut (mit Bildern)

Video: Wie man einen Roboter zu Hause baut (mit Bildern)

Video: Wie man einen Roboter zu Hause baut (mit Bildern)
Video: MAP ART ERSTELLEN! (TUTORIAL) ✨ Minecraft Schnell und Einfach #68 ✨ ErikOnHisPeriod 2024, Kann
Anonim

Möchten Sie lernen, wie Sie Ihren eigenen Roboter bauen? Es gibt viele verschiedene Arten von Robotern, die Sie selbst bauen können. Die meisten Leute möchten, dass ein Roboter die einfache Arbeit macht, sich von A nach B zu bewegen. Sie können einen Roboter komplett aus analogen Komponenten bauen oder ein Starter-Kit kaufen. Einen eigenen Roboter zu bauen ist eine großartige Möglichkeit, Elektronik und Computerprogrammierung zu lernen.

Schritt

Teil 1 von 5: Zusammenbau des Roboters

1123333 1
1123333 1

Schritt 1. Montieren Sie Ihre Komponenten

Um einen einfachen Roboter zu bauen, benötigen Sie ein paar einfache Komponenten. Sie können die meisten oder alle dieser Komponenten in Ihrem örtlichen Elektronikfachgeschäft oder bei einigen Online-Händlern finden. Einige Kits enthalten alle diese Komponenten. Dieser Roboter erfordert kein Löten:

  • Arduino Uno (oder anderer Mikrocontroller)
  • 2 Servos 360 Grad
  • 2 Räder passendes Servo
  • 1 Freilauf
  • 1 Testplatine (Breadboard oder Projektplatine), die nicht gelötet wurde (suchen Sie nach einer Testplatine mit zwei positiven und negativen Reihen auf jeder Seite)
  • 1 Näherungssensor (mit vierpoligem Anschlusskabel)
  • 1 Druckknopfschalter
  • 1 Widerstand 10kΩ
  • 1 USB-A-zu-B-Kabel
  • 1 Satz zerbrechliche Header
  • 1 6 x AA Batteriehalter mit 9V DC. Steckdose
  • 1 Packung mit 22. Überbrückungskabel oder Einzelkabel
  • Isolierung hin und her (Doppelband) oder Klebepistole
1123333 2
1123333 2

Schritt 2. Drehen Sie das Batteriefach so, dass die flache Rückseite nach oben zeigt

Sie bauen den Roboterkörper mit dem Batteriefach als Basis.

1123333 3
1123333 3

Schritt 3. Ordnen Sie zwei Servos mit gleicher Richtung am Ende des Batteriefachs an

Dieses Ende ist das Ende, an dem das Kabel aus der Batterie herauskommt. Die Servos sollten den Boden berühren und der Drehmechanismus jedes Servos sollte von den Seiten des Batteriefachs nach außen zeigen. Es ist wichtig, dass diese Servos richtig angeordnet sind, damit die Räder gerade stehen. Die Kabel für das Servo müssen hinten aus dem Batteriefach herauskommen.

1123333 4
1123333 4

Schritt 4. Kleben Sie die Servos mit Ihrer Isolierung oder Leim

Stellen Sie sicher, dass das Servo fest mit dem Batteriefach verbunden ist. Die Rückseite des Servos muss mit der Rückseite des Batteriefachs ausgerichtet sein.

Jetzt sollten die Servos die Hälfte des Platzes auf der Rückseite des Batteriefachs einnehmen

1123333 5
1123333 5

Schritt 5. Kleben Sie die Testplatine senkrecht zum verbleibenden Platz im Batteriefach

Diese Testplatine hängt leicht über die Vorderseite des Batteriefachs und erstreckt sich nach beiden Seiten. Stellen Sie sicher, dass die Testplatine fest sitzt, bevor Sie fortfahren. Die „A“-Reihe sollte dem Servo am nächsten sein.

1123333 6
1123333 6

Schritt 6. Befestigen Sie den Arduino-Mikrocontroller an der Oberseite des Servos

Wenn Sie das Servo richtig anbringen, sollte sich ein flacher Teil der beiden Servos berühren. Kleben Sie das Arduino-Board an diese flache Stelle, so dass die USB- und Arduino-Stromanschlüsse nach unten zeigen (von der Testplatine weg). Die Vorderseite des Arduino überlappt sich mit der Testplatine.

1123333 7
1123333 7

Schritt 7. Installieren Sie die Räder an den Servos

Drücken Sie die Räder fest auf den rotierenden Servomechanismus. Dies kann einen erheblichen Kraftaufwand erfordern, da die Räder mit Löchern versehen sind, die genau der Form der Servospitze entsprechen.

1123333 8
1123333 8

Schritt 8. Installieren Sie den Freilauf an der Unterseite der Testplatine

Wenn Sie den Roboter auf den Kopf stellen, sehen Sie eine kleine Testtafel, die aus dem Batteriefach hängt. Befestigen Sie den Freilauf an diesem hängenden Teil. Verwenden Sie bei Bedarf einen Keil. Der Freilauf dient als Vorderrad, mit dem sich der Roboter problemlos in jede Richtung drehen kann.

Wenn Sie einen Bausatz gekauft haben, kann der Freilauf mit Keilen versehen sein, mit denen Sie sicherstellen können, dass das Laufrad den Boden berührt

Teil 2 von 5: Verkabelung des Roboters

1123333 9
1123333 9

Schritt 1. Schneiden Sie zwei 3-Pin-Header ab

Sie werden dies verwenden, um das Servo mit der Testplatine zu verbinden. Drücken Sie die Stifte nach unten durch die Stiftleisten, sodass sie auf beiden Seiten gleich weit herauskommen.

1123333 10
1123333 10

Schritt 2. Stecken Sie die beiden Header in die Pins 1-3 und 6-8 in Reihe E auf der Testplatine

Stellen Sie sicher, dass sie fest oder fest eingesetzt sind.

1123333 11
1123333 11

Schritt 3. Verbinden Sie die Servokabel mit dem Header, mit dem schwarzen Kabel auf der linken Seite (Pins 1 und 6)

Dadurch wird das Servo mit der Testplatine verbunden. Stellen Sie sicher, dass das linke Servo mit dem linken Header und das rechte Servo mit dem rechten Header verbunden ist.

1123333 12
1123333 12

Schritt 4. Verbinden Sie das rote Überbrückungskabel von den Pins C2 und C7 mit dem roten Schienenstift (positiv)

Stellen Sie sicher, dass Sie die rote Schiene auf der Rückseite der Testplatine verwenden (näher am Rest des Roboterkörpers).

1123333 13
1123333 13

Schritt 5. Verbinden Sie das schwarze Überbrückungskabel von den Stiften B1 und B6 mit dem blauen Schienenstift (Masse)

Stellen Sie sicher, dass Sie die blaue Schiene auf der Rückseite des Testboards verwenden. Befestigen Sie das Kabel nicht am roten Schienenstift.

1123333 14
1123333 14

Schritt 6. Verbinden Sie die weißen Überbrückungsdrähte von den Pins 12 und 13 des Arduino mit A3 und A8

Dadurch kann der Arduino das Servo steuern und das Rad drehen.

1123333 15
1123333 15

Schritt 7. Bringen Sie den Sensor an der Vorderseite der Testplatine an

Der Sensor wird nicht an der externen Stromschiene des Testboards montiert, sondern an den ersten beiden Stiftreihen mit der Beschriftung (J). Stellen Sie sicher, dass Sie es genau in der Mitte mit einer gleichen Anzahl leerer Stifte auf jeder Seite platzieren.

1123333 16
1123333 16

Schritt 8. Verbinden Sie das schwarze Überbrückungskabel von Pin I14 mit dem ersten blauen Schienenstift auf der linken Seite des Sensors

Dadurch wird der Sensor geerdet.

1123333 17
1123333 17

Schritt 9. Verbinden Sie das rote Überbrückungskabel von Pin I17 mit dem ersten roten Schienenstift rechts vom Sensor

Dadurch wird der Sensor mit Strom versorgt.

1123333 18
1123333 18

Schritt 10. Verbinden Sie die weißen Überbrückungsdrähte von Pin I15 mit Pin 9 auf Arduino und von I16 mit Pin 8

Dies liefert Informationen vom Sensor an den Mikrocontroller.

Teil 3 von 5: Installation des Netzkabels

1123333 19
1123333 19

Schritt 1. Drehen Sie den Roboter um, damit Sie das Batteriefach im Inneren sehen können

Ordnen Sie das Batteriefach so an, dass das Kabel unten links austritt.

1123333 20
1123333 20

Schritt 2. Verbinden Sie das rote Kabel mit der zweiten Feder von links unten

Stellen Sie sicher, dass das Batteriefach richtig ausgerichtet ist oder in die richtige Richtung zeigt.

1123333 21
1123333 21

Schritt 3. Verbinden Sie das schwarze Kabel mit der letzten Feder unten rechts

Diese beiden Drähte helfen dabei, dem Arduino die richtige Spannung bereitzustellen.

1123333 22
1123333 22

Schritt 4. Verbinden Sie die roten und schwarzen Drähte mit den roten und blauen Pins, die sich auf der rechten Seite auf der Rückseite der Testplatine befinden

Der schwarze Draht sollte zum blauen Schienenstift an Pin 30 gehen. Der rote Draht sollte zum roten Schienenstift an Pin 30 gehen.

1123333 23
1123333 23

Schritt 5. Verbinden Sie das schwarze Kabel vom GND-Pin des Arduino mit der Rückseite der blauen Schiene

Verbinden Sie das Kabel mit Pin 28 auf der blauen Schiene.

1123333 24
1123333 24

Schritt 6. Verbinden Sie das schwarze Kabel von der Rückseite der blauen Schiene mit der Vorderseite der blauen Schiene an Pin 29 für beide Schienen

Schließen Sie die rote Schiene nicht an, da Sie den Arduino beschädigen könnten.

1123333 25
1123333 25

Schritt 7. Verbinden Sie das rote Kabel von der Vorderseite der roten Schiene an Pin 30 mit dem 5V-Pin von Arduino

Dadurch wird das Arduino mit Strom versorgt.

1123333 26
1123333 26

Schritt 8. Setzen Sie den Druckknopfschalter in den Raum zwischen den Stiften 24-26 ein

Mit diesem Schalter können Sie den Roboter ausschalten, ohne ihn ausschalten zu müssen.

1123333 27
1123333 27

Schritt 9. Verbinden Sie das rote Kabel von H24 mit der roten Schiene am nächsten leeren Pin rechts vom Sensor

Dadurch wird die Taste mit Strom versorgt.

1123333 28
1123333 28

Schritt 10. Verwenden Sie einen Widerstand, um H26 mit der blauen Schiene zu verbinden

Verbinden Sie es mit dem Pin direkt neben dem schwarzen Kabel, das Sie gerade in den vorherigen Schritten angeschlossen haben.

1123333 29
1123333 29

Schritt 11. Verbinden Sie das weiße Kabel von G26 mit Pin 2 auf Arduino

Dadurch kann Arduino Drucktasten erkennen.

Teil 4 von 5: Installieren der Arduino-Software

1123333 30
1123333 30

Schritt 1. Laden Sie die Arduino IDE herunter und extrahieren Sie sie

Hier wird Arduino entwickelt und ermöglicht es Ihnen, Anweisungen zu programmieren, die Sie dann auf Ihren Arduino-Mikrocontroller hochladen können. Sie können es kostenlos von arduino.cc/en/main/software herunterladen. Entpacken Sie die heruntergeladene Datei, indem Sie auf die Datei doppelklicken und den darin enthaltenen Ordner an einen leicht zugänglichen Ort verschieben. Sie installieren das Programm nicht wirklich, sondern führen es einfach aus einem Ordner aus, der durch einen Doppelklick auf arduino.exe extrahiert wurde.

1123333 31
1123333 31

Schritt 2. Verbinden Sie das Batteriefach mit dem Arduino

Stecken Sie die hintere Buchse des Akkus in den Anschluss am Arduino, um ihn mit Strom zu versorgen.

1123333 32
1123333 32

Schritt 3. Stecken Sie Arduino über USB in Ihren Computer ein

Es besteht die Möglichkeit, dass Windows das Gerät nicht erkennt.

1123333 33
1123333 33

Schritt 4. Drücken Sie

Win+R und Typ devmgmt.msc.

Dieser Befehl öffnet den Geräte-Manager.

1123333 34
1123333 34

Schritt 5. Klicken Sie mit der rechten Maustaste auf Unbekanntes Gerät unter Andere Geräte und wählen Sie Treibersoftware aktualisieren

Wenn diese Option nicht angezeigt wird, klicken Sie auf Eigenschaften, wählen Sie die Registerkarte Treiber aus, und klicken Sie dann auf Treiber aktualisieren.

1123333 35
1123333 35

Schritt 6. Wählen Sie Meinen Computer nach Treibersoftware durchsuchen

Auf diese Weise können Sie die integrierten Treiber auswählen, die mit der Arduino IDE geliefert wurden.

1123333 36
1123333 36

Schritt 7. Klicken Sie auf Durchsuchen und öffnen Sie dann den zuvor extrahierten Ordner

Darin finden Sie den Treiberordner.

1123333 37
1123333 37

Schritt 8. Wählen Sie den Treiberordner aus und klicken Sie auf OK

Bestätigen Sie, dass Sie fortfahren möchten, wenn Sie über unbekannte Software gewarnt werden.

Teil 5 von 5: Roboter programmieren

1123333 38
1123333 38

Schritt 1. Öffnen Sie die Arduino IDE, indem Sie auf die Datei arduino.exe im IDE-Ordner doppelklicken

Sie werden mit einem leeren Projekt begrüßt.

1123333 39
1123333 39

Schritt 2. Fügen Sie den folgenden Code ein oder fügen Sie ihn ein, um Ihren Roboter zu verbessern

Der folgende Code hält Ihr Arduino am Laufen.

#include // dies fügt dem Programm die Bibliothek „Servo“hinzu // der folgende Befehl erstellt zwei Servo-Objekte Servo leftMotor; Servo rechtsMotor; Void setup () {leftMotor.attach (12); // Wenn Sie versehentlich die Pin-Nummern für Ihr Servo vertauscht haben, können Sie die Nummern hier tauschen rightMotor.attach (13); aufrechtzuerhalten. Void Schleife () { leftMotor.write (180); // Bei einer 360-Grad-Drehung (kontinuierliche Drehung) weist die Zahl 180 das Servo an, sich mit voller Geschwindigkeit „vorwärts“zu bewegen. rechtMotor.write(0); // Wenn beide Werte 180 sind, dreht sich der Roboter im Kreis, da das Servo umgekehrt ist. „0“sagt dem Roboter, dass er sich mit voller Geschwindigkeit „rückwärts“bewegen soll. }

1123333 40
1123333 40

Schritt 3. Erstellen Sie das Programm und laden Sie es hoch

Klicken Sie auf die rechte Pfeiltaste in der oberen linken Ecke, um ein Programm zu erstellen und auf das angeschlossene Arduino hochzuladen.

Möglicherweise möchten Sie den Roboter von der Oberfläche abheben, da der Roboter nach dem Hochladen des Programms weiterläuft

1123333 41
1123333 41

Schritt 4. Fügen Sie eine Stoppschalterfunktion hinzu (Kill-Schalter)

Fügen Sie den folgenden Code zum Abschnitt "void loop()" Ihres Codes hinzu, um eine Stoppschalterfunktion über der Funktion "write()" hinzuzufügen.

if (digitalRead (2) == HIGH) // Dieser Befehl wird ausgeführt, wenn die Taste auf Pin 2 gedrückt wird Arduino { while (1) { leftMotor.write (90); // "90" ist die neutrale Position für das Servo, die dem Servo sagt, dass es aufhören soll, sich nach rechts zu drehenMotor.write (90); } }

1123333 42
1123333 42

Schritt 5. Laden Sie Ihren Code hoch und überprüfen Sie ihn

Wenn der Stoppschaltercode bereits hinzugefügt wurde, können Sie den Code hochladen und den Roboter testen. Der Roboter sollte vorwärts fahren, bis Sie die Stoppschaltertaste drücken, wodurch der Roboter stoppt. Der vollständige Code sieht so aus:

#include // Der folgende Befehl erstellt zwei Servo leftMotor Servo-Objekte; Servo rechtsMotor; Void setup () {leftMotor.attach (12); rightMotor.attach(13); aufrechtzuerhalten. Void Schleife () { if (digitalRead (2) == HIGH) { Während (1) { leftMotor.write (90); rightMotor.write(90); } } leftMotor.write (180); rechtMotor.write(0); }

Beispiel

Der folgende Code verwendet am Roboter installierte Sensoren, damit er nach links abbiegt, wenn der Roboter auf ein Hindernis stößt. In den Kommentaren im Code finden Sie Details zur Verwendung der einzelnen Teile. Der folgende Code ist das gesamte Programm.

#include Servo linker Motor; Servo rechtsMotor; const int serialPeriod = 250; // Dieser Code gibt der Konsolenausgabezeitverzögerung alle 1/4 Sekunde (250 ms) unsigned long timeSerialDelay = 0; const int loopPeriod = 20; // Dieser Code setzt die Sensorlesefrequenz auf 20 ms, was 50 Hz ohne Vorzeichen ist, lange timeLoopDelay = 0; // Dieser Code weist den Pins auf dem Arduino die TRIG- und ECHO-Funktionen zu. Passen Sie hier die Zahlen an, wenn Sie sie anders anschließen const int ultraschall2TrigPin = 8; const int ultraschall2EchoPin = 9; int ultraschall2Distance; int ultraschall2Dauer; // dieser Code definiert zwei mögliche Roboterzustände: vorwärts fahren oder links abbiegen #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = weiter vorwärts (DEFAULT), 1 = links abbiegen void setup () { Serial.begin (9600); // dieser Sensor bestimmt die Pin-Konfiguration pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultraschall2EchoPin, EINGANG); // dies weist den Motor den Arduino-Pins zu leftMotor.attach (12); rightMotor.attach(13); aufrechtzuerhalten. Void Schleife () { if (digitalRead (2) == HIGH) // Dieser Code erkennt einen ''Stopp'' { während (1) { leftMotor.write (90); rightMotor.write(90); } } debugOutput(); // dieser Code gibt Debug-Nachrichten an die serielle Konsole aus if (millis () - timeLoopDelay > = loopPeriod) { readUltrasonicSensors (); // Dieser Code weist den Sensor an, Daten über den gemessenen Abstand zu lesen und zu speichern stateMachine (); timeLoopDelay = millis(); aufrechtzuerhalten. aufrechtzuerhalten. UltraschallDistance ist für einige Ultraschallgeräte negativ, wenn keine Hindernisse vorhanden sind {// vorwärts fahren rightMotor.write (180); leftMotor.write(0); } else // wenn sich ein Objekt vor uns befindet { state = TURN_LEFT; } } else if(state == TURN_LEFT) // Wenn ein Hindernis erkannt wird, biege links ab { unsigned long timeToTurnLeft = 500; // dauert etwa 0,5 Sekunden, um sich um 90 Grad zu drehen. Möglicherweise müssen Sie diesen Wert anpassen, wenn sich Ihre Räder in der Größe von der Größe im Beispiel unterscheiden unsigned long turnStartTime = millis(); // Behalte die Bedingung bei, wenn der Roboter beginnt sich zu drehen while((millis()-turnStartTime) < timeToTurnLeft) // behalte diesen Zyklus bei, bis timeToTurnLeft (500) abgelaufen ist { // links abbiegen, daran denken, dass wenn beide "180" sind, der Roboter wird sich drehen. rightMotor.write(180); leftMotor.write(180); } Zustand = DRIVE_FORWARD; } } void readUltrasonicSensors () {// dies ist für Ultraschall 2. Sie müssen diesen Befehl möglicherweise ändern, wenn Sie einen anderen Sensor verwenden. digitalWrite (ultraschall2TrigPin, HOCH); VerzögerungMikrosekunden(10); // Ziehen Sie den TRIG-Pin für mindestens 10 Mikrosekunden hoch digitalWrite (ultrasonic2TrigPin, LOW); ultraschall2Dauer = pulseIn(ultraschall2EchoPin, HIGH); Ultraschall2Distance = (Ultraschall2Dauer/2)/29; } // Das Folgende dient zum Debuggen von Fehlern in der Konsole. Void debugOutput () { if ((millis (- timeSerialDelay)> serialPeriod) { Serial.print ("ultrasonic2Distance: "); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println(); timeSerialDelay = millis(); } }

Empfohlen: