So bauen Sie einen Roboter zu Hause (mit Bildern)

Inhaltsverzeichnis:

So bauen Sie einen Roboter zu Hause (mit Bildern)
So bauen Sie einen Roboter zu Hause (mit Bildern)

Video: So bauen Sie einen Roboter zu Hause (mit Bildern)

Video: So bauen Sie einen Roboter zu Hause (mit Bildern)
Video: Cooles Projekt gesehen? So kannst du Fotos in Sketchup einfach durchpausen! 2024, April
Anonim

Möchten Sie lernen, wie Sie Ihren eigenen Roboter bauen? Es gibt viele verschiedene Arten von Robotern, die Sie selbst herstellen können. Die meisten Leute möchten, dass ein Roboter die einfachen Aufgaben übernimmt, sich von A nach B zu bewegen. Sie können einen Roboter vollständig aus analogen Komponenten herstellen oder ein Starterkit von Grund auf neu kaufen! Der Bau eines eigenen Roboters ist eine großartige Möglichkeit, sich sowohl die Elektronik als auch die Computerprogrammierung beizubringen.

Schritte

Teil 1 von 6: Zusammenbau des Roboters

1123333 1
1123333 1

Schritt 1. Sammeln Sie Ihre Komponenten

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

  • Arduino Uno (oder anderer Mikrocontroller)
  • 2 kontinuierliche Rotationsservos
  • 2 Räder, die zu den Servos passen
  • 1 Laufrolle
  • 1 kleines lötfreies Steckbrett (suchen Sie nach einem Steckbrett mit zwei positiven und negativen Linien auf jeder Seite)
  • 1 Distanzsensor (mit 4-poligem Anschlusskabel)
  • 1 Mini-Druckknopfschalter
  • 1 10kΩ Widerstand
  • 1 USB-A-zu-B-Kabel
  • 1 Satz Abreißköpfe
  • 1 6 x AA Batteriehalter mit 9V DC Stromanschluss
  • 1 Packung Überbrückungskabel oder 22-Gauge-Anschlusskabel
  • Starkes doppelseitiges Klebeband oder Heißkleber
1123333 2
1123333 2

Schritt 2. Drehen Sie den Akku um, sodass die flache Rückseite nach oben zeigt

Sie bauen den Körper des Roboters mit dem Akku als Basis.

1123333 3
1123333 3

Schritt 3. Richten Sie die beiden Servos am Ende des Akkus aus

Dies sollte das Ende sein, aus dem das Kabel des Akkus herauskommt. Die Servos sollten die Unterseite berühren und die Drehmechanismen jedes einzelnen sollten nach außen aus den Seiten des Akkus zeigen. Die Servos müssen richtig ausgerichtet sein, damit die Räder gerade laufen. Die Drähte für die Servos sollten von der Rückseite des Akkus kommen.

1123333 4
1123333 4

Schritt 4. Befestigen Sie die Servos mit Ihrem Klebeband oder Kleber

Stellen Sie sicher, dass sie fest mit dem Akkupack verbunden sind. Die Rückseiten der Servos sollten bündig mit der Rückseite des Akkupacks abschließen.

Die Servos sollten jetzt die hintere Hälfte des Akkus einnehmen

1123333 5
1123333 5

Schritt 5. Befestigen Sie das Steckbrett senkrecht auf der offenen Fläche des Akkus

Es sollte nur ein wenig über die Vorderseite des Akkus hängen und über jede Seite hinausragen. Stellen Sie sicher, dass es sicher befestigt ist, bevor Sie fortfahren. Die Reihe "A" sollte den Servos am nächsten sein.

1123333 6
1123333 6

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

Wenn Sie die Servos richtig angebracht haben, sollte durch die Berührung eine ebene Fläche entstehen. Kleben Sie das Arduino-Board auf diesen flachen Raum, so dass die USB- und Power-Anschlüsse des Arduino nach hinten zeigen (vom Steckbrett weg). Die Vorderseite des Arduino sollte das Steckbrett nur knapp überlappen.

1123333 7
1123333 7

Schritt 7. Setzen Sie die Räder auf die Servos

Drücken Sie die Räder fest auf den Drehmechanismus des Servos. Dies kann einen erheblichen Kraftaufwand erfordern, da die Räder für die beste Traktion so eng wie möglich anliegen.

1123333 8
1123333 8

Schritt 8. Befestigen Sie die Laufrolle an der Unterseite des Steckbretts

Wenn Sie das Chassis umdrehen, sollten Sie ein Stück Steckbrett sehen, das sich über den Akku hinaus erstreckt. Befestigen Sie die Laufrolle an diesem verlängerten Stück, verwenden Sie ggf. Tragegurte. Die Laufrolle fungiert als Vorderrad, sodass sich der Roboter leicht in jede Richtung drehen kann.

Wenn Sie einen Bausatz gekauft haben, ist die Laufrolle möglicherweise mit einigen Tragegurten ausgestattet, mit denen Sie sicherstellen können, dass die Laufrolle den Boden erreicht. ich

Teil 2 von 6: Verkabelung des Roboters

1123333 9
1123333 9

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

Sie werden diese verwenden, um die Servos mit dem Steckbrett zu verbinden. Drücken Sie die Stifte nach unten durch den Header, so dass die Stifte auf beiden Seiten in gleichem Abstand herauskommen.

1123333 10
1123333 10

Schritt 2. Stecken Sie die beiden Header in die Pins 1-3 und 6-8 in Reihe E des Steckbretts

Stellen Sie sicher, dass sie fest eingesteckt sind.

1123333 11
1123333 11

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

Dadurch werden die Servos mit dem Steckbrett 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 die roten Überbrückungsdrähte von den Stiften C2 und C7 mit den roten (positiven) Schienenstiften

Stellen Sie sicher, dass Sie die rote Schiene auf der Rückseite des Steckbretts verwenden (näher am Rest des Chassis).

1123333 13
1123333 13

Schritt 5. Verbinden Sie die schwarzen Überbrückungsdrähte von den Stiften B1 und B6 mit den blauen (Masse-) Schienenstiften

Stellen Sie sicher, dass Sie die blaue Schiene auf der Rückseite des Steckbretts verwenden. Stecken Sie sie nicht in die roten Schienenstifte.

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 die Servos steuern und die Räder drehen.

1123333 15
1123333 15

Schritt 7. Befestigen Sie den Sensor an der Vorderseite des Steckbretts

Es wird nicht in die äußeren Stromschienen des Steckbretts eingesteckt, sondern in die erste Reihe der beschrifteten Pins (J). Stellen Sie sicher, dass Sie es genau in der Mitte platzieren, mit einer gleichen Anzahl von Stiften auf jeder Seite.

1123333 16
1123333 16

Schritt 8. Verbinden Sie ein schwarzes Überbrückungskabel von Pin I14 mit dem ersten verfügbaren blauen Schienenstift auf der linken Seite des Sensors

Dadurch wird der Sensor geerdet.

1123333 17
1123333 17

Schritt 9. Verbinden Sie ein rotes Überbrückungskabel von Pin I17 mit dem ersten verfügbaren 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 dem Arduino und von I16 mit Pin 8

Dadurch werden Informationen vom Sensor an den Mikrocontroller übertragen.

Teil 3 von 6: Stromversorgung verkabeln

1123333 19
1123333 19

Schritt 1. Drehen Sie den Roboter auf die Seite, sodass Sie die Batterien im Pack sehen können

Richten Sie es so aus, dass das Kabel des Akkupacks unten links herauskommt.

1123333 20
1123333 20

Schritt 2. Verbinden Sie ein rotes Kabel mit der zweiten Feder von links unten

Stellen Sie sicher, dass der Akku richtig ausgerichtet ist.

1123333 21
1123333 21

Schritt 3. Verbinden Sie ein schwarzes Kabel mit der letzten Feder unten rechts

Diese beiden Kabel helfen dabei, dem Arduino die richtige Spannung bereitzustellen.

1123333 22
1123333 22

Schritt 4. Verbinden Sie die roten und schwarzen Drähte mit den ganz rechten roten und blauen Stiften auf der Rückseite des Steckbretts

Das schwarze Kabel sollte in den blauen Rail-Pin an Pin 30 eingesteckt werden. Das rote Kabel sollte in den roten Rail-Pin an Pin 30 gesteckt werden.

1123333 23
1123333 23

Schritt 5. Verbinden Sie ein schwarzes Kabel vom GND-Pin des Arduino mit der hinteren blauen Schiene

Schließen Sie es an Pin 28 auf der blauen Schiene an.

1123333 24
1123333 24

Schritt 6. Verbinden Sie jeweils ein schwarzes Kabel von der hinteren blauen Schiene mit der vorderen blauen Schiene an Pin 29

Schließen Sie die roten Schienen nicht an, da Sie den Arduino wahrscheinlich beschädigen.

1123333 25
1123333 25

Schritt 7. Verbinden Sie ein rotes Kabel von der vorderen roten Schiene an Pin 30 mit dem 5V-Pin des Arduino

Dadurch wird das Arduino mit Strom versorgt.

1123333 26
1123333 26

Schritt 8. Setzen Sie den Druckknopfschalter in die Lücke zwischen den Reihen an den Stiften 24-26 ein

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

1123333 27
1123333 27

Schritt 9. Verbinden Sie ein rotes Kabel von H24 mit der roten Schiene im nächsten verfügbaren Pin rechts vom Sensor

Dadurch wird die Taste eingeschaltet.

1123333 28
1123333 28

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

Verbinden Sie es mit dem Pin direkt neben dem schwarzen Kabel, das Sie vor einigen Schritten angeschlossen haben.

1123333 29
1123333 29

Schritt 11. Verbinden Sie ein weißes Kabel von G26 mit Pin 2 des Arduino

Dadurch kann der Arduino den Druckknopf registrieren.

Teil 4 von 6: Installation der Arduino-Software

1123333 30
1123333 30

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

Dies ist die Arduino-Entwicklungsumgebung 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 darauf doppelklicken, und verschieben Sie den Ordner darin an einen leicht zugänglichen Ort. Sie werden das Programm nicht wirklich installieren. Stattdessen führen Sie es einfach aus dem extrahierten Ordner aus, indem Sie auf arduino.exe doppelklicken.

1123333 31
1123333 31

Schritt 2. Verbinden Sie den Akku mit dem Arduino

Stecken Sie die Batterierückseite in den Anschluss des Arduino, um ihn mit Strom zu versorgen.

1123333 32
1123333 32

Schritt 3. Schließen Sie das Arduino über USB an Ihren Computer an

Windows wird das Gerät wahrscheinlich nicht erkennen.

1123333 33
1123333 33

Schritt 4. Drücken Sie

⊞ Win+R und Typ devmgmt.msc.

Dadurch wird der Geräte-Manager gestartet.

1123333 34
1123333 34

Schritt 5. Klicken Sie mit der rechten Maustaste auf das „Unbekannte Gerät“im Abschnitt „Andere Geräte“und wählen Sie „Treibersoftware aktualisieren“

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

1123333 35
1123333 35

Schritt 6. Wählen Sie "Auf meinem Computer nach Treibersoftware suchen

" Auf diese Weise können Sie den Treiber auswählen, der mit der Arduino IDE geliefert wurde.

1123333 36
1123333 36

Schritt 7. Klicken Sie auf "Durchsuchen" und navigieren Sie dann zu dem Ordner, den Sie zuvor extrahiert haben

Darin finden Sie einen Ordner "Treiber".

1123333 37
1123333 37

Schritt 8. Wählen Sie den Ordner "Treiber" aus und klicken Sie auf "OK

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

Teil 5 von 6: Programmierung des Roboters

1123333 38
1123333 38

Schritt 1. Starten 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, damit Ihr Roboter geradeaus fährt

Der folgende Code lässt Ihr Arduino kontinuierlich vorankommen.

#include // dies fügt dem Programm die Bibliothek "Servo" hinzu // im Folgenden werden zwei Servo-Objekte erstellt Servo leftMotor; Servo rechtsMotor; Void setup () {leftMotor.attach (12); // Wenn Sie versehentlich die Pin-Nummern für Ihre Servos vertauscht haben, können Sie die Nummern hier tauschen rightMotor.attach (13); aufrechtzuerhalten. Void Schleife () {leftMotor.write (180); // Bei kontinuierlicher Drehung sagt 180 dem Servo, dass er sich mit voller Geschwindigkeit "vorwärts" bewegen soll. rechtsMotor. schreiben(0); // Wenn beide bei 180 sind, dreht sich der Roboter im Kreis, weil die Servos umgedreht sind. "0" sagt ihm, 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 das Programm zu erstellen und auf das angeschlossene Arduino hochzuladen.

Möglicherweise möchten Sie den Roboter von der Oberfläche abheben, da er sich nach dem Hochladen des Programms einfach weiterbewegt

1123333 41
1123333 41

Schritt 4. Fügen Sie die Kill-Switch-Funktionalität hinzu

Fügen Sie den folgenden Code zum Abschnitt "void loop()" Ihres Codes hinzu, um den Kill-Schalter über den "write()"-Funktionen zu aktivieren.

if (digitalRead (2) == HIGH) // Dies wird registriert, wenn die Taste auf Pin 2 des Arduino gedrückt wird { while (1) { leftMotor.write (90); // "90" ist die neutrale Position für die Servos, die ihnen sagt, dass sie aufhören sollen, sich nach rechts zu drehenMotor.write (90); } }

1123333 42
1123333 42

Schritt 5. Laden Sie Ihren Code hoch und testen Sie ihn

Mit dem hinzugefügten Kill-Switch-Code können Sie den Roboter hochladen und testen. Es sollte weiter vorwärts fahren, bis Sie den Schalter drücken. An diesem Punkt wird es aufhören, sich zu bewegen. Der vollständige Code sollte wie folgt aussehen:

#include // Im Folgenden werden zwei Servoobjekte erstellt Servo leftMotor; 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); }

Teil 6 von 6: Beispiel

Schritt 1. Folgen Sie einem Beispiel

Der folgende Code verwendet den am Roboter angebrachten Sensor, um ihn nach links drehen zu lassen, wenn er auf ein Hindernis trifft. Weitere Informationen zu den einzelnen Teilen finden Sie in den Kommentaren im Code. Der folgende Code ist das gesamte Programm.

#include Servo linker Motor; Servo rechtsMotor; const int serialPeriod = 250; // Dies begrenzt die Ausgabe an die Konsole auf einmal alle 1/4 Sekunde unsigned long timeSerialDelay = 0; const int loopPeriod = 20; // dies legt fest, wie oft der Sensor eine Messung auf 20 ms durchführt, was einer Frequenz von 50 Hz ohne Vorzeichen langes timeLoopDelay = 0 entspricht; // Dies weist den Pins auf dem Arduino die TRIG- und ECHO-Funktionen zu. Passen Sie hier die Zahlen an, wenn Sie anders angeschlossen haben const int ultraschall2TrigPin = 8; const int ultraschall2EchoPin = 9; int ultraschall2Distance; int ultraschall2Dauer; // dies definiert die zwei möglichen Zustände für den Roboter: vorwärts fahren oder links abbiegen #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = vorwärts fahren (STANDARD), 1 = links abbiegen void setup () { Serial.begin (9600); // diese Sensor-Pin-Konfigurationen PinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultraschall2EchoPin, EINGANG); // dies weist die Motoren den Arduino-Pins zu leftMotor.attach (12); rightMotor.attach(13); aufrechtzuerhalten. Void Schleife () { if (digitalRead (2) == HIGH) // Dies erkennt den Kill-Schalter { Während (1) { leftMotor.write (90); rightMotor.write(90); } } debugOutput(); // dies gibt Debug-Meldungen an die serielle Konsole aus if(millis() - timeLoopDelay >= loopPeriod) { readUltrasonicSensors(); // Dies weist den Sensor an, die gemessenen Abstände zu lesen und zu speichern stateMachine (); timeLoopDelay = millis(); } } void stateMachine() { if(state == DRIVE_FORWARD) // wenn keine Hindernisse erkannt { if(ultrasonic2Distance > 6 || ultraschall2Distance < 0) // wenn sich nichts vor dem Roboter befindet. UltraschallDistance ist für einige Ultraschallgeräte negativ, wenn kein Hindernis vorhanden ist {// 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; // Es dauert ungefähr 0,5 Sekunden, um sich um 90 Grad zu drehen. Sie müssen dies möglicherweise anpassen, wenn Ihre Räder eine andere Größe haben als das Beispiel unsigned long turnStartTime = millis(); // speichere die Zeit, die wir mit dem Drehen begonnen haben while((millis()-turnStartTime) < timeToTurnLeft) // bleib in dieser Schleife, bis timeToTurnLeft abgelaufen ist { // links abbiegen, denke daran, dass wenn beide auf "180" gesetzt sind, es sich dreht. rightMotor.write(180); leftMotor.write(180); } Zustand = DRIVE_FORWARD; } } void readUltrasonicSensors () {// dies ist für Ultraschall 2. Sie müssen diese Befehle möglicherweise ändern, wenn Sie einen anderen Sensor verwenden. digitalWrite (ultraschall2TrigPin, HOCH); VerzögerungMikrosekunden(10); // hält 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: