Schaltungen

Erstellen eines Roboters - Lektion 3: Erstellen eines Linienverfolgungsroboters: 16 Schritte

Weltkoordinatensystem zu TCP: So rechnet der Roboter

Weltkoordinatensystem zu TCP: So rechnet der Roboter

Inhaltsverzeichnis:

Anonim

Nach Abschluss der Grundfunktionen sind wir nun bereit, dem Arduino-Roboter eine verbesserte Funktion zu geben - Line-Tracking!

In diesem Tutorial lernen Sie Schritt für Schritt, wie Sie einen Arduino-Roboter mit Linienverfolgung erstellen. Damit dieses Tutorial einfach zu befolgen ist, wird hier als Beispiel ein Arduino Robot Kit (Pirat: 4WD Arduino Mobile Robot Kit mit Bluetooth 4.0) verwendet.

Unterrichtsmenü:

Lektion 1: Einführung

Lektion 2: Erstellen Sie einen einfachen Arduino-Roboter

Lektion 3: Erstellen Sie einen Line Tracking-Arduino-Roboter

Lektion 4: Bauen Sie einen Arduino-Roboter, der Hindernisse ausweichen kann

Lektion 5: Bauen Sie einen Arduino-Roboter mit Licht- und Soundeffekten

Lektion 6: Erstellen Sie einen Arduino-Roboter, der die Umgebung überwachen kann

Lektion 7: Bauen Sie einen Bluetooth-gesteuerten Arduino-Roboter

Hardware-Teile, die Sie möglicherweise benötigen:

Linienverfolgungssensor (folgend) für Arduino × 3

Zubehör:

Schritt 1:

Breite 2,5 cm schwarzes Isolierband × 1

Schritt 2:

1M * 1M Whiteboard × 1

Schritt 3:

M3 * 30MM Nylonstütze (Schrauben, Muttern) × 3

Schritt 4:

Montageanleitungen

Es ist nicht schwierig, den Arduino-Roboter zusammenzubauen. Bitte folgen Sie den folgenden Anweisungen.

Schritt 1:

Zunächst benötigen Sie 3 Nylonstützen und die dazugehörigen Schrauben und Muttern.

Schritt 5:

Schritt 2: Anbringen der Nylonstützen

Befestigen Sie die Nylonstützen mit Muttern oben auf den Mini-Sensoren. Achten Sie beim Anbringen der Stützen auf deren Richtung: Die Muttern und Sonden sollten beide in eine Richtung zeigen.

Schritt 6:

Schritt 3: Montage der Sensorplatine

Entfernen Sie die obere Platte von der Roboterplattform. Befestigen Sie dann die Sensorplatine an der Vorderseite der Plattform.

Schritt 7:

Schritt 4: Montage des Zeilensensors

Verbinden Sie zuerst den Sensor mit dem für die Datenübertragung vorgesehenen Kabel. Befestigen Sie dann die Sensoren mit den M3-Schrauben an der Erweiterungskarte, die von der Vorderseite der Plattform hervorsteht.

Schritt 8:

Anschließen der Hardware

Beeilen Sie sich nach dem Zusammenbau der Sensoren nicht, die obere Platte der Plattform wieder anzubringen - vorher müssen Sie die Sensoren mit dem Romeo BLE verbinden.

Das Bild auf der linken Seite zeigt die korrekte ABC-Position der Sensoren auf der Sensorplatine, die den Pins 10, 9 und 8 der Romeo BLE entspricht. Stellen Sie beim Anschließen der Sensoren sicher, dass Sie sie in der richtigen Reihenfolge angeschlossen haben. Bringen Sie nach dem Anschließen der Sensoren die obere Platte der Plattform wieder auf der Basis an.

Schritt 9:

Sensoren einstellen

Bevor wir den Code herunterladen, müssen wir unsere Sensoren anpassen. Stecken Sie zuerst ein USB-Kabel in Ihr Romeo BLE (Arduino Robot Control Board mit Bluetooth 4.0), um es mit Strom zu versorgen. Wie in der folgenden Abbildung zu sehen ist, hat der Sensor unten einen Kreuzschlitzschraubenkopf. Mit diesem Schraubenkopf kann die Abstandserkennung des Sensors eingestellt werden. Nehmen Sie ein weißes Stück Papier und legen Sie es unter die Sonde des Sensors (die Farbe des Papiers wird für Kalibrierungszwecke verwendet). Besorgen Sie sich einen Schraubendreher und ziehen Sie damit den Philips-Schraubenkopf fest. Sie werden spüren, wie sich die Sonde des Sensors physisch auf und ab bewegt, je nachdem, wie fest Sie den Schraubenkopf anziehen. Sobald Sie mit dem Anziehen beginnen, leuchtet auch die LED des Sensors auf. Ziehen Sie den Schraubenkopf an, bis sich die Sondenspitze ca. 2 cm über dem Papier befindet.

Schritt 10:

Codierung

Stecken Sie Ihren USB. Laden Sie den Arduino-Code mit dem Namen "HuntingLineBlack.ino" von GitHub herunter. Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf Ihre BLE-Steuerkarte hochzuladen.

Schritt 11:

Konfigurieren Sie den Pfad Ihres Arduino Robot

Nehmen Sie Ihr Whiteboard heraus. Verwenden Sie Ihr 2,5 cm breites Isolierband, um einen Pfad auf dem Whiteboard zu erstellen, wie in der folgenden Abbildung gezeigt.

Schritt 12:

Die Breite des Kabels beträgt ungefähr 2,5 cm, der ungefähre Abstand zwischen den Sensoren A und C. Wir haben den obigen Pfad aus Gründen gewählt, die sich auf den Code beziehen. Ein späterer Abschnitt wird diese Argumentation genauer erläutern.

Schritt 13:

Übertragung: Wie es funktioniert

Wie bringen wir den Roboter dazu, auf seiner Spur zu bleiben? Wir müssen sicherstellen, dass sich der Roboter durchgehend in der Mitte der Strecke befindet. Der Roboter kalibriert mithilfe seiner 3 Getriebesensoren seine Position relativ zur Spur. Wenn er zur Seite abbiegt, stellt sich der Roboter automatisch in Richtung der Mitte zurück.

Wenn sich unser Roboter bewegt, werden drei Bedingungen eintreten.

Schritt 14:

(a) Wenn sich der Roboter zum ersten Mal auf der Strecke bewegt, erkennt nur der mittlere Sensor (B) die schwarze Linie - der linke und der rechte Sensor sind noch nicht ins Spiel gekommen. Das Auto bleibt auf der Strecke zentriert und fährt vorwärts.

Schritt 15:

(b) Nachdem der Roboter seine Spur fortgesetzt hat, kann er beginnen, sich aus der Mitte zu drehen. Unter diesen Umständen versuchen der linke und der rechte Sensor, die schwarze Linie zu erkennen und den Roboter selbstständig zurück zur Spur zu führen. Wenn der Roboter zum Beispiel zur rechten Seite der Strecke abbiegt, muss sich das Auto neu zentrieren, indem es sich nach links dreht. Der linke Sensor springt ein und dreht den Roboter automatisch, bis er sich neu zentriert.

Schritt 16:

(c) Wenn der Roboter umgekehrt in Richtung der linken Seite der Schiene abbiegt, kickt der rechte Sensor ein und passt den Pfad des Roboters an, bis er wieder zentriert ist.

Code-Übersicht

Der grundlegende Code muss nicht besprochen werden. Schauen wir uns nur den Teil an, der die Übertragung umfasst.

int RightValue; // Rechter Traktorsensor an Pin 8

int MiddleValue; // Mittellinien-Traktorsensor an Pin 9

int LeftValue; // Linker Traktorsensor an Pin 10

// Lesen der 3-Pin-Werte des Zeilensensors

RightValue = digitalRead (8);

MiddleValue = digitalRead (9);

LeftValue = digitalRead (10);

Verwenden Sie drei Variablen - RightValue, MiddleValue, LeftValue -, um die Lesewerte der 3 Sensoren aufzuzeichnen.

Mit der Funktion digitalRead (Pin) wird der Wert des digitalen Eingangs- / Ausgangsports gelesen. Wenn dieser Teil immer noch unklar ist, lesen Sie bitte unser Terminologie-Handbuch oder die Arduino-Website.

Wenn der mittlere Sendesensor eine schwarze Linie (die Spur) erkennt, erzeugt er eine LOW-Energieabgabe. Wenn sie einen Leerraum erkennen, erzeugen sie eine HOHE Energieabgabe.

Beispiel A unten zeigt die Funktionsweise des Übertragungscodes. Wenn der mittlere Sensor eine schwarze Linie (die Spur) erkennt, erzeugt er eine LOW-Energieabgabe. Wenn der linke / rechte Sensor Leerraum erkennt, wird ein HIGH-Ausgang ausgegeben.

if (MiddleValue == LOW) {// Zeile in der mittleren Robot.Speed ​​(100,100); delay (10);}

sonst wenn ((LeftValue == HIGH) && (RightValue == HIGH)) {Robot.Speed ​​(100,100); delay (10);}

Wenn die Sensoren die schwarze Linie / Spur links und gleichzeitig den weißen Raum rechts erkennen, dreht sich der Roboter nach links. Siehe Beispiel B unten:

sonst if ((LeftValue == LOW) && (RightValue == HIGH)) {Robot.Speed ​​(-100,100); // Verzögerung links abbiegen (10);}

Wenn umgekehrt die Sensoren die schwarze Linie / Spur rechts und gleichzeitig den weißen Raum links erkennen, dreht sich der Roboter nach rechts. Siehe Beispiel C unten:

sonst wenn ((LeftValue == HIGH) && (RightValue == LOW)) {Robot.Speed ​​(100, -100); // rechts abbiegen delay (10);}