Inhaltsverzeichnis:

Arduino 3D gedruckter Sumo-Bot - Gunook
Arduino 3D gedruckter Sumo-Bot - Gunook

Video: Arduino 3D gedruckter Sumo-Bot - Gunook

Video: Arduino 3D gedruckter Sumo-Bot - Gunook
Video: Keine BHs mehr 2024, November
Anonim
Arduino 3D gedruckter Sumo-Bot
Arduino 3D gedruckter Sumo-Bot

Also hatte ich ein paar Teile in meinem Haus herumliegen. Ich wollte in ein paar Monaten an einem Sumo-Wettbewerb teilnehmen, aber ich hatte keinen Bot. Anstatt einen Bot zu kaufen oder ein vorhandenes Design zu verwenden, bei dem ich Sachen für das Projekt kaufen müsste, habe ich meinen eigenen Bot aus meinem eigenen Design aus meinen eigenen Teilen gemacht. Für dieses Tutorial benötigen Sie Folgendes.

  1. Eines von jedem 3D-gedruckten Teil finden Sie hier.
  2. Ein 7,4 Volt Akku oder zwei 18650er Akkus.
  3. Ein Batteriehalter bei Bedarf.
  4. Arduino uno.
  5. Arduino Uno Breakout-Schild.
  6. USB-Kabel für Arduino.
  7. Tischnetzteil (optional).
  8. Ladegerät (optional).
  9. Drähte und viele davon.
  10. Kontinuierliche Rotationsservos mit Metallgetriebe in Standardgröße.
  11. Zwei IR-Schaltersensoren.
  12. 7cm Servoräder.
  13. Ein- und Ausschalter.

Dieser Code wird ständig geändert. Den Code für diesen Roboter finden Sie hier. Dies ist die aktuellste Version dieses Projektcodes. Genießen!

Schritt 1: Montage

Montage
Montage
Montage
Montage
Montage
Montage
  1. Der Roboter verwendet zwei Metallgetriebeservos. Sie sollten sie mit m3-Schrauben und Muttern einschrauben, wobei die Servos im Inneren des Chassis in beide Richtungen nach außen zeigen. Es gibt nur eine Möglichkeit, wie die Servos in den Roboter gelangen können, sodass dies ziemlich einfach ist.
  2. Bringen Sie die Servoräder an.
  3. Bringen Sie die IR-Sensoren so an, dass sie nach unten an der Vorderseite des Roboters zeigen. Sie werden mit zwei Schrauben durch die M3-Löcher an der Vorderseite des Roboters befestigt. An der Unterseite des Roboters befinden sich Schlitze, durch die sie hindurchschauen können. Sie müssen aufpassen, dass die Sensoren das Chassis nicht aufnehmen und durch die Schlitze hindurch sehen können. Sie werden später mehr darüber erfahren, während wir den Roboter testen, um zu sehen, ob Ihre handwerkliche Arbeit funktioniert hat.
  4. Setzen Sie den HC-SR04-Sensor von innen in die beiden Löcher ein, die nach außen des Roboters zeigen. Die Löcher befinden sich an der Vorderseite des Chassis.
  5. Setzen Sie das Arduino Uno mit dem Schild in das Gehäuse ein.
  6. Verdrahten Sie alles gemäß der untenstehenden Aufzählungsliste.

    1. Strom von der Stromquelle Ihrer Wahl zum Netzschalter. Sie werden das Plus- oder Minuskabel an den Schalter anschließen. Wenn Sie die negative Leitung gewählt haben, ist dies Ihre Masse, während Sie die positive Leitung gewählt haben, die Ihre Stromquelle ist. Der andere Draht, je nachdem, ob er positiv oder negativ ist, ist Ihr positiver oder negativer Draht.
    2. Verbinden Sie die positive Leitung mit vin am Arduino und die positiven Leitungen an den Servos.
    3. Verbinden Sie Masse mit Masse an den Servos und dem Arduino.
    4. Verbinden Sie 5 V vom 5-Volt-Regler des Arduino mit allen positiven Anschlüssen an jedem der Sensoren.
    5. Verdrahten Sie die Sensoren mit Masse auf dem Arduino.
    6. Zuletzt verdrahten Sie Pin 7 am Arduino zum rechten IR-Sensor, Pin 6 zum linken IR-Sensor, Pin 8 zu einem der Servos, Pin 9 zum letzten Servo.

Warnung: Wenn der Roboter nicht richtig verkabelt wird, kann dies zu Rauchen des Roboters und zur Zerstörung der Elektronik führen

Schritt 2: Erste Lebenszeichen

Warnung: Schließen Sie den Roboter nicht an Ihren Computer an, während er mit Strom versorgt wird oder die Servos verkabelt sind. Andernfalls kann Ihr Computer beschädigt werden

int-Modus = 3;

Diese obige Codezeile ist die entscheidende Variable für den Roboter. Es tut Folgendes, wenn es mit jeder unten aufgeführten Zahl übereinstimmt.

  1. Bei Null bewegt sich der Roboter in einem bestimmten Muster.
  2. Wenn der Modus gleich eins ist, druckt der Roboter die Ausgabe jedes der Sensormesswerte an den Computer.
  3. Bei zwei vermeidet der Roboter Kanten und Hindernisse, wenn er auf sie stößt.
  4. Der Roboter kämpft gegen andere Bots.

Dies sind die verschiedenen Modi des Roboters, die verwendet werden, um den Roboter zu testen und voranzutreiben. Sie müssen diese "3" für den ersten Schritt dieses Tutorials auf Null ändern.

Laden Sie nun den Code auf den Roboter hoch. Sie werden sehen, wie es sich in dieser Reihenfolge vorwärts, rückwärts, links und rechts bewegt.

Schritt 3: Es kann sehen

int-Modus = 0;

Ändern Sie die folgende Variable in "1", wenn der vorherige Schritt abgeschlossen wurde. Wenn Sie nun mit Ihrem seriellen Monitor auf Arduino verbunden sind, wird ausgedruckt, was Ihr Roboter sieht. "0" bedeutet für den Kantensensor, dass er etwas sieht. "1" bedeutet, dass keine Kanten zu sehen sind. Wenn Sie feststellen, dass die Logik invertiert ist, beachten Sie dies für die zukünftigen Schritte.

Machen Sie sich keine Sorgen um den Ping-Sensor. Ich habe das sowieso noch nicht zum Laufen gebracht. Dieser Roboter befindet sich in der Entwicklungsphase.

Schritt 4: Es kann den Rand des Tisches vermeiden

Void Vermeiden (){

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

Verzögerung (50);

if (Ping.ping_cm() >= 15 && sensorStateLeft == 0 && sensorStateRight == 0){

links.schreiben(0); rechts.schreiben (90);

}

if(Ping.ping_cm() <= 15 && Ping.ping_cm() != 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

links.schreiben (90);

recht.write(0); }

}

Dieser obige Code ist der Code, der aufgerufen wird, wenn der Modus gleich zwei ist. Wenn der vorherige Schritt abgeschlossen ist, ändern Sie den Modus auf "2".

Wenn die Sensoren invertiert sind, können Sie "sensorStateLeft" und "sensorStateRight" in jeder der "if"-Anweisungen so invertieren, dass sie einer anderen Zahl entsprechen, als sie angegeben wurden, dh entweder "1" oder "0".

Jetzt kann der Roboter den Rand einer Sumo-Arena vermeiden. Es ist fast kampfbereit. Fühlen Sie sich frei, es auszuprobieren, um zu sehen, ob es funktioniert oder nicht.

Schritt 5: KAMPF

Dein Sumo ist jetzt mit ein paar Codeänderungen kampfbereit. Ändern Sie den Modus auf "3" und invertieren Sie die Logik nach Bedarf im leeren "Sumo". Jetzt sollte Ihr Roboter den Rand der Arena meiden, kann aber keine anderen Roboter erkennen. Es vermeidet grundsätzlich die Ränder der Arena und bewegt sich schnell genug, um einen Roboter hoffentlich von der Tischkante zu stoßen. Genießen!

Schritt 6: Fazit

Ihr Roboter ist jetzt fertig. Wenn es irgendwelche Probleme oder Kommentare zu diesem Projekt gibt, lassen Sie es mich wissen. Ich bin unglaublich offen für Feedback, weil ich keine Ahnung habe, ob dies ein gut gemachtes Tutorial war oder nicht. Genießen!

Empfohlen: