In diesem Projekt verwenden wir zwei IR-Tracking-Sensoren, um ein einfaches Linienverfolgungs-Roboterauto zu entwerfen. Ein Linienverfolgungsroboter ist, wie der Name schon sagt, ein selbstfahrendes Fahrzeug, das einer schwarzen Spurlinie folgt, die auf weißem Grund gedruckt ist. Tracking-Sensoren im Roboter überprüfen ständig, ob der aktuelle Fahrzeugstandort außerhalb der Spur liegt. Wenn ja, macht das Auto eine negative Bewegung, um das Roboterauto wieder auf die Spur zu bringen.
Bitte bereiten Sie die folgenden Teile vor, um dieses Projekt abzuschließen HINWEIS:
1. Die Farbe des Bausteins unterliegt dem tatsächlichen Produkt, was die Verwendung nicht beeinflusst.
2. ALLE OSOYOO-PRODUKTE FÜR ARDUINO SIND BOARDS VON DRITTANBIETERN, DIE VOLLSTÄNDIG MIT ARDUINO KOMPATIBEL SIND
Bevor Sie den Roboter mit Blöcken bauen, installieren Sie bitte das OSOYOO-Basisboard für Arduino unter dem OSOYOO Magic I / O-Shield wie folgt(Achtung bitte: Die Pins des I / O-Shields sind zuerst mit dem Port des Basis-Boards ausgerichtet und drücken Sie dann das Shield fest auf das Board.)
herunter. Hinweis: Wenn Sie das Roboterauto für Lektion1 gebaut haben, fahren Sie bitte mit Schritt 35 in dieser PDF-Datei fort.
Bitte schließen Sie Motoren und 9-V-Batteriefach als Lektion an1. Verbinden Sie dann den linken Tracking-Sensor mit D2 des Magic I/O-Shields, rechts mit dem D13-Port mit 3-poligen PNP-Kabeln wie folgt(Achtung bitte: Es gibt sechs Jumper-Kappen an ENA/ENB/IN1/IN2/IN3/IN4):
Schritt 1) Laden Sie die mBlock PC-Version von https://mblock.makeblock.com/en-us/download/ herunter und wählen Sie die Download-Datei gemäß dem Betriebssystemtyp Ihres Computers aus (bitte verwenden Sie nicht die Browserversion):
Schritt 3) Führen Sie die mBlock PC-Software aus, indem Sie auf das schöne Panda-Symbol doppelklicken. Sie werden Block UI wie in der folgenden Abbildung angezeigt. Bitte löschen Sie das Standardgerät CyberPi, indem Sie auf das Kreuz im roten Kreis klicken.
Schritt 4) Ziehen Sie osoyoo_uno_mext Datei (heruntergeladen in Schritt 2) wie folgt in die mBlock-Software:
Nun sehen Sie eine neue Geräte-Firmware in mBlock, siehe folgendes Bild:
Die mBlock-Software und die OSOYOO_UNO-Gerätefirmware sind nun erfolgreich auf unserem PC installiert worden!
Jetzt werden wir Ihnen zeigen, wie Sie die obige Idee mit Hilfe von Blöcken in die Realität umsetzen können
Schritt 5): Klicken Sie auf Events, fügen Sie oben den Block when Arduino UNO starts up hinzu:
Schritt 6): Klicken Sie auf Control, ziehen Sie dann den Block Forever in den Programmierbereich und legen Sie ihn wie folgt ab:
Schritt 7): Klicken Sie auf Control, fügen Sie einen if else Block innerhalb der forever Schleife ein und dann einen weiteren if else Block innerhalb des else Bereichs des ersten if else Blocks:
Schritt 8): Klicken Sie auf Sensor, fügen Sie 2 Stück IR Tracking Sensor Pin 2Blöcke in den Bedingungsbereich if ein, ändern Sie den 2. Pin von 2 auf 13 wie folgt:
Schritt 9): Klicken Sie auf die Kategorie Action, fügen Sie 3 Stück Backward Left Speed 100 Right Speed 100 Blöcke innerhalb der if else Blöcke hinzu, ändern Sie die erste Right Geschwindigkeit von 100 auf 0, ändern Sie die zweite Left Geschwindigkeit von 100 auf 0:
Jetzt haben wir die Blockprogrammierung abgeschlossen. Die endgültigen Blöcke sehen wie folgt aus:
Schritt 10) Laden Sie das Programm auf das OSOYOO-Basisboard hoch
1) Bitte schließen Sie Ihr OSOYOO-Basisboard zuerst mit einem USB-Kabel an Ihren PC an. Klicken Sie dann unten in der mBlock-Software auf die Schaltfläche Verbinden, Sie sehen ein USB-Fenster,
2) Aktivieren Sie das Kontrollkästchen Alle anschließbaren Geräte anzeigen, dann wird ein Geräte-Dropdown-Menü angezeigt,
3) Wählen Sie Ihren Port aus dem Dropdown-Menü des Geräts aus
4) Klicken Sie auf die Schaltfläche Verbinden,um Ihren PC mit dem OSOYOO-Basisboard zu verbinden.
5) Nachdem Ihr PC mit dem OSOYOO-Basisboard verbunden ist, klicken Sie bitte auf die Schaltfläche Hochladen unten in Ihrer Software, dann wird der Code auf das OSOYOO-Basisboard hochgeladen:
In Lektion 1 haben wir einen gelben Event Programmblock und einige blaue Action Blöcke gelernt
In dieser Lektion werden wir einige neue Programmbausteine aus der Kategorie Control kennenlernen.| i)Forever Loop
Dieser Block ist wie ein Krokodilskopf, der einige Innenblöcke hat, seine Maus. Diese Innenblöcke werden der Reihe nach ausgeführt. Nachdem der letzte Innenblock ausgeführt wurde, kehrt er zum ersten Innenblock zurück und wiederholt den Vorgang immer wieder wie eine Schleife.
ii) Ein blauer IR tracking sensor Block der Kategorie Sensor
Der obige Block ist ein Sechseckblock, was bedeutet, dass er den Wert True oder False an den Control Block zurückgibt.
Nehmen Sie den obigen Block als Beispiel, dieser Block liest den Tracking-Sensor im D2-Pin (linker Sensor), wenn der sensor detects schwarz ist, gibt er TRUE zurück, wenn er weiß erkennt, gibt er False zurück
iii) If Else Block in Kategorie Control
Der obige Block hat zwei Mäuse und einen Bedingungsblock im oberen Bereich. Wenn der Bedingungsblock True zurückgibt, werden die Blöcke im if-Bereich (obere Maus) ausgeführt, wenn der Bedingungsblock False zurückgibt, werden die Blöcke im else-Bereich (untere Maus) ausgeführt. iv) Ein weiterer action Block, der die Geschwindigkeit des linken und rechten Rades steuern kann
Der obige Block kann das linke und das rechte Rad mit unterschiedlichen Geschwindigkeiten steuern. Im obigen Beispiel ist die linke Geschwindigkeit 0 und die rechte Geschwindigkeit 100. Dadurch wird das Auto nach links abbiegen. v) Jetzt können wir die Funktionalität des gesamten Blocks in dieser Lektion überprüfen:
Die oben genannten Programmblöcke laufen als ewige Schleife, was bedeutet, dass sie niemals aufhören, es sei denn, Sie schalten das Gerät aus.
Das Programm testet zuerst den linken Sensor (D2-Pin) und prüft, ob der linke Sensor eine schwarze Linie erkennt, wenn ja, wird er nach links abbiegen.
Wenn der linke Sensor Weiß erkennt, erkennt er den rechten Sensor (D13), wenn der rechte Sensor True zurückgibt, bedeutet dies, dass sich die schwarze Linie auf der rechten Seite befindet und das Auto nach rechts abbiegt.
Wenn beide Sensoren keine schwarze Linie erkennen, bedeutet dies, dass sich die schwarze Linie in der Mitte befindet und sich das Auto vorwärts bewegt.
Trennen Sie den Arduino vom PC und legen Sie eine 9-V-Batterie in die Batteriepocken ein (stellen Sie sicher, dass die Polarrichtung korrekt ist, da dies sonst Ihr Gerät zerstören und Brandgefahr verursachen kann).
Empfindlichkeit des Tracking-Sensors anpassen:
Schalten Sie das Auto ein, halten Sie es gedrückt und stellen Sie die Empfindlichkeitsschraube am Tracking-Sensor mit einem Schraubendreher ein, bis Sie den besten Empfindlichkeitsstatus erhalten:
Das Signal zeigt an, dass das LED-Licht aufleuchtet, wenn sich der Sensor über weißem Boden befindet, und die Signal-LED erlischt, wenn sich der Sensor über der schwarzen Spur befindet.
Bereiten Sie eine schwarze Spur (die Breite der schwarzen Spur beträgt mehr als 30 mm und weniger als 60 mm) auf weißem Grund vor. Bitte beachten Sie, dass der Wendewinkel ((Biegekurve) der Spur nicht zwei scharf (größer als 90 Grad) sein darf. Wenn die Kurve zu scharf ist, bewegt sich das Auto aus der Strecke. Schalten Sie das Auto ein und legen Sie die Mitte des Tracking-Sensormoduls über die schwarze Spur, und dann bewegt sich das Auto entlang der schwarzen Spur.