Inhaltsverzeichnis:

Arduino - Labyrinth-Lösungsroboter (MicroMouse) Wandverfolgungsroboter - Gunook
Arduino - Labyrinth-Lösungsroboter (MicroMouse) Wandverfolgungsroboter - Gunook

Video: Arduino - Labyrinth-Lösungsroboter (MicroMouse) Wandverfolgungsroboter - Gunook

Video: Arduino - Labyrinth-Lösungsroboter (MicroMouse) Wandverfolgungsroboter - Gunook
Video: Micromouse 2024, November
Anonim
Arduino | Labyrinthlösungsroboter (MicroMouse) Wandverfolgungsroboter
Arduino | Labyrinthlösungsroboter (MicroMouse) Wandverfolgungsroboter
Arduino | Labyrinthlösungsroboter (MicroMouse) Wandverfolgungsroboter
Arduino | Labyrinthlösungsroboter (MicroMouse) Wandverfolgungsroboter
Arduino | Labyrinthlösungsroboter (MicroMouse) Wandverfolgungsroboter
Arduino | Labyrinthlösungsroboter (MicroMouse) Wandverfolgungsroboter
Arduino | Labyrinth-Lösungsroboter (MicroMouse) Wandverfolgungsroboter
Arduino | Labyrinth-Lösungsroboter (MicroMouse) Wandverfolgungsroboter

Willkommen, ich bin Isaac und dies ist mein erster Roboter "Striker v1.0". Dieser Roboter wurde entwickelt, um ein einfaches Labyrinth zu lösen. Im Wettbewerb hatten wir zwei Labyrinthe und der Roboter konnte sie identifizieren. Alle anderen Änderungen im Labyrinth kann eine Änderung des Codes und des Designs erfordern, aber es ist alles einfach zu bewerkstelligen.

Schritt 1: Teile

Teile
Teile
Teile
Teile
Teile
Teile

Zunächst einmal müssen Sie wissen, womit Sie es zu tun haben.

Roboter = Strom + Hardware + Software 1 - Strom: Batterien haben viele Spezifikationen, Sie sollten nur wissen, wie viel Strom und Spannung Sie benötigen.

2- Hardware: "Körper, Motor, Motortreiber, Sensoren, Drähte und der Controller".

3- Software: Beim Code dreht sich alles um Logik. Sobald Sie die Funktionsweise des Controllers verstanden haben, wird es Ihnen leicht fallen, die Funktionen auszuwählen und den Code einfacher zu gestalten. Die Codesprache wird durch den Steuerungstyp bestimmt.

Stückliste:

  1. Arduino UNO
  2. 12V Gleichstrommotoren (x2)
  3. Räder (x2)
  4. Motortreiber (L298N)
  5. Distanzsensor (Ultraschall)
  6. Drähte
  7. 12V Batterie (1000mAh)

Werkzeugliste:

  1. Akkuladegerät
  2. Acrylplatte
  3. Lötkolben
  4. Kabelschneider
  5. Nylon-Reißverschluss-Wrap

Für zusätzlichen Spaß können Sie LEDs verwenden, um es zu beleuchten, aber das ist nicht sehr wichtig.

Schritt 2: Körperdesign

Karosseriedesign
Karosseriedesign
Karosseriedesign
Karosseriedesign
Karosseriedesign
Karosseriedesign

Die Hauptidee war, die Teile über dem Körper zu stapeln und die Nylon-Zip-Wrap zu verwenden, um das Arduino zu stabilisieren und die Drähte werden den Rest dank ihres geringen Gewichts stabilisieren.

Ich habe CorelDRAW verwendet, um den Körper zu entwerfen, und ich habe zusätzliche Löcher für zukünftige Änderungen gemacht.

Ich ging zu einer örtlichen Werkstatt, um den Laserschneider zu verwenden, und begann dann, alles zusammen zu bauen. Später nahm ich einige Änderungen vor, da die Motoren länger waren, als ich erwartet hatte. Ich möchte sagen, dass Ihr Roboter nicht genauso gebaut sein muss wie meiner.

Die PDF-Datei und die CorelDRAW-Datei sind angehängt.

Wenn Sie das Design nicht laserschneiden können, machen Sie sich keine Sorgen. Solange Sie einen Arduino, die gleichen Sensoren und Motoren haben, sollten Sie in der Lage sein, meinen Code mit geringfügigen Änderungen an Ihrem Roboter zum Laufen zu bringen.

Schritt 3: Umsetzung (Gebäude)

Umsetzung (Gebäude)
Umsetzung (Gebäude)
Umsetzung (Gebäude)
Umsetzung (Gebäude)
Umsetzung (Gebäude)
Umsetzung (Gebäude)

Das Design machte es einfach, Sensoren am Körper zu befestigen.

Schritt 4: Verkabelung

Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung

Hier ist eine schematische Darstellung des Roboters. diese Verbindungen beziehen sich auf den Code. Sie können die Verbindungen ändern, aber stellen Sie sicher, dass Sie den Code damit ändern. Die Teile. Sensoren

Ich möchte "Der Ultraschallsensor" erklären

Ein Ultraschallsensor ist ein Gerät, das die Entfernung zu einem Objekt mithilfe von Schallwellen messen kann. Es misst die Entfernung, indem es eine Schallwelle mit einer bestimmten Frequenz aussendet und darauf wartet, dass diese Schallwelle zurückprallt. Durch Aufzeichnen der verstrichenen Zeit zwischen der Erzeugung der Schallwelle und dem Zurückprallen der Schallwelle. Dies scheint der Funktionsweise von Sonar und Radar ähnlich zu sein.

Die Verbindung des Ultraschallsensors zum Arduino:

  1. Der GND-Pin ist mit Masse verbunden.
  2. Der VCC-Pin ist mit dem Positiven (5V) verbunden.
  3. Der Echo-Pin ist mit dem Arduino verbunden. (Wählen Sie einen beliebigen Pin und ordnen Sie ihn dem Code zu)
  4. Der TRIG-Pin ist mit dem Arduino verbunden. (Wählen Sie einen beliebigen Pin und ordnen Sie ihn dem Code zu)

Sie werden eine gemeinsame Masse erstellen und alle GNDs damit verbinden (Sensoren, Arduino, Treiber). Alle Masse sollten verbunden sein.

Für Vcc-Pins verbinden Sie auch die 3 Sensoren mit einem 5V-Pin

(Sie können sie mit dem Arduino oder dem Treiber verbinden. Ich empfehle den Treiber)

Hinweis: Schließen Sie die Sensoren nicht an eine Spannung von mehr als 5 V an, da sie sonst beschädigt werden.

Kraftfahrer

Die L298N H-Brücke: Dies ist ein IC, mit dem Sie die Geschwindigkeit und Richtung von zwei Gleichstrommotoren oder einen bipolaren Schrittmotor problemlos steuern können. Der L298N H-Brückentreiber kann mit Motoren verwendet werden, die eine Spannung zwischen. haben 5 und 35V DC.

Es gibt auch einen integrierten 5-V-Regler. Wenn Ihre Versorgungsspannung also bis zu 12 V beträgt, können Sie auch 5 V von der Platine beziehen.

Betrachten Sie das Bild – vergleichen Sie die Zahlen mit der Liste unter dem Bild:

  1. Gleichstrommotor 1 „+“
  2. Gleichstrommotor 1 „-“
  3. 12-V-Jumper – entfernen Sie diesen, wenn Sie eine Versorgungsspannung von mehr als 12 V DC verwenden. Dies aktiviert den integrierten 5V-Regler
  4. Schließen Sie hier Ihre Motorversorgungsspannung an, maximal 35 V DC.
  5. Masse
  6. 5V-Ausgang, wenn 12V-Jumper vorhanden
  7. DC-Motor 1-Freigabe-Jumper. Entfernen Sie den Jumper und verbinden Sie ihn mit dem PWM-Ausgang für die DC-Motordrehzahlsteuerung.
  8. IN1 Richtungssteuerung
  9. IN2-Richtungssteuerung
  10. IN3-Richtungssteuerung
  11. IN4 Richtungssteuerung
  12. DC-Motor 2 Freigabe-Jumper. Entfernen Sie den Jumper und verbinden Sie ihn mit dem PWM-Ausgang für die DC-Motordrehzahlsteuerung
  13. Gleichstrommotor 2 „+“
  14. Gleichstrommotor 2 „-“

Hinweis: Dieser Treiber erlaubt 1A pro Kanal. Wenn mehr Strom abgezogen wird, wird der IC beschädigt.

Batterie

Ich habe einen 12-V-Akku mit 1000 mAh verwendet.

Die obige Tabelle zeigt, wie die Spannung abfällt, wenn die Batterie entladen wird. Sie sollten es im Hinterkopf behalten und Sie müssen den Akku ständig aufladen.

Die Entladezeit ist im Grunde die Ah- oder mAh-Zahl geteilt durch den Strom.

Für einen 1000-mAh-Akku mit einer Last, die 300 mA zieht, haben Sie also:

1000/300 = 3,3 Stunden

Wenn Sie mehr Strom abziehen, verkürzt sich die Zeit und so weiter. Hinweis: Stellen Sie sicher, dass Sie den Entladestrom der Batterie nicht überschreiten, da sie sonst beschädigt wird.

Stellen Sie auch wieder eine gemeinsame Masse her und verbinden Sie alle GNDs damit (Sensoren, Arduino, Treiber). Alle Masse sollten verbunden sein.

Schritt 5: Codierung

Codierung
Codierung
Codierung
Codierung

Ich habe diese zu Funktionen gemacht und es hat mir Spaß gemacht, diesen Roboter zu programmieren.

Die Hauptidee ist, Wände zu vermeiden und aus dem Labyrinth herauszukommen. Wir hatten 2 einfache Labyrinthe und ich musste das im Hinterkopf behalten, da sie unterschiedlich waren.

Das blaue Labyrinth verwendet den rechten Wandfolgealgorithmus.

Das rote Labyrinth verwendet einen Algorithmus, der der linken Wand folgt.

Das Foto oben zeigt den Ausweg in beiden Labyrinthen.

Codefluss:

  1. Definition der Pins
  2. Definieren von Ausgangs- und Eingangspins
  3. Überprüfen Sie die Messwerte der Sensoren
  4. Verwenden Sie die Messwerte der Sensoren, um Wände zu definieren
  5. erste Route prüfen (wenn sie links war dann der linken Wand folgen, wenn sie rechts der rechten Wand folgen)
  6. Verwenden Sie PID, um das Aufprallen der Wände zu vermeiden und die Geschwindigkeit der Motoren zu steuern

Sie können diesen Code verwenden, aber die Pins und die konstanten Zahlen ändern, um die besten Ergebnisse zu erzielen.

Folgen Sie diesem Link für den Code.

create.arduino.cc/editor/is7aq_shs/391be92…

Folgen Sie diesem Link für die Bibliothek und die Arduino-Codedatei.

github.com/Is7aQ/Maze-Solving-Robot

Schritt 6: Viel Spaß

Stellen Sie sicher, dass Sie Spaß haben:DDies ist alles zum Spaß, keine Panik, wenn es nicht funktioniert oder etwas nicht stimmt. Verfolgen Sie den Fehler und geben Sie nicht auf. Danke fürs Lesen und ich hoffe, es hat geholfen. Kontakt:

E-Mail: [email protected]

Empfohlen: