Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
In diesem anweisbaren werden wir also mit der Programmierung des Smart Car beginnen, das wir in diesem anweisbaren bauen und das wir in diesem anweisbaren einen MU-Vision-Sensor installiert haben.
Wir werden das micro:bit mit einer einfachen Objektverfolgung programmieren, damit der MU-Sensor Verkehrskarten verfolgen kann.
Lieferungen
Materialien
1 x Mikro: Bit
1 x Motor: Bit
1 x MU-Vision-Sensor
1 x 2-Achsen-Kamerahalterung
4 x M3 x 30 Schrauben
6 x M3 x 6 Schrauben
6 x M3-Distanzstück
10 x M3-Muttern
1 x Laufrad
2 x Smart Automotoren
2 x TT130-Motor
2 x Räder für den TT130-Motor
1 x 9 Volt Batterie + Batteriehalter
Ein bisschen Draht. Wenn möglich in zwei verschiedenen Farben
4 mm Sperrholz (170 x 125 mm sollten reichen)
Ein kleines Stück doppelseitiges Klebeband
Klettband (Haken und Schlaufe)
Heißkleber
Werkzeuge:
Schraubendreher
Löten
Eisen
Kabelschneider
Laserschneider
Heißklebepistole
Bohren
2,5 und 3 mm Bohrer
Schritt 1: Einrichten des MU-Sensors
Bevor wir mit dem Anschließen beginnen, möchten wir den Sensor richtig einrichten.
Der Mu Vision Sensor hat 4 Schalter. Die beiden linken bestimmen ihren Ausgabemodus und die beiden rechten ihre Adresse.
Da die Adresse 00 sein soll, sollten beide Schalter rechts ausgeschaltet sein.
Die verschiedenen Ausgabemodi sind:
00 UART
01 I2C
10 WLAN-Datenübertragung
11 Wifi-Bildübertragung
Wir möchten im I2C-Modus arbeiten, also sollten die beiden Schalter auf 01 stehen, also sollte der ganz linke ausgeschaltet und der andere eingeschaltet sein.
Schritt 2: Verdrahten des MU-Sensors
Die Verkabelung ist ziemlich einfach, verwenden Sie einfach vier Überbrückungsdrähte, um den Mu-Sensor mit Ihrem Breakout-Board zu verbinden.
Mu-Sensor -> Breakout-Board
SDA -> Pin 20
SCL -> Stift 19
G -> Masse
V -> 3,3-5V
Schritt 3: Verdrahten der Kamerahalterung
Der Servomotor, der die horizontale Bewegung steuert, sollte an Pin 13 und der Servomotor, der die vertikale Bewegung steuert, an Pin 14 angeschlossen werden.
Schritt 4: Abrufen der Erweiterung
Zuerst gehen wir in den Makecode-Editor und starten ein neues Projekt. Wir gehen dann auf "Erweitert" und wählen "Erweiterungen". Beachten Sie, dass diese Schaltflächen auf den Bildern leicht unterschiedliche Namen haben, da ich Däne bin. In Erweiterungen suchen wir nach "Muvision" und wählen das einzige Ergebnis aus, das wir erhalten.
Schritt 5: Initialisieren der Verbindung und Aktivieren des Algorithmus
Wenn Sie diese Erweiterung verwenden, erhalten Sie einige Fehler "Eigenschaften von undefinierten können nicht gelesen werden". Das liegt nur daran, dass die micro:bit-Animation fehlt. Es hat keinen Einfluss auf die Kompilierung und Ausführung des Programms.
Der erste orange Teil des Codes initialisiert die I2C-Verbindung.
Der zweite orangefarbene Teil des Codes aktiviert die Algorithmen zur Verkehrskartenerkennung.
Das Anzeigen von Zahlen dient der Fehlersuche. Wenn das micro:bit beim Ausführen des Programms nicht bis drei zählt, überprüfen Sie, ob die Drähte des MU-Vision-Sensors richtig mit den richtigen Pins verbunden sind.
Die beiden roten Blöcke legen die Startposition für die Kamerahalterung fest.
Schritt 6: Das Programm
Die beiden ersten roten Blöcke steuern die Servomotoren, die die Kamerahalterungen steuern. Der erste steuert die vertikale Bewegung und der zweite steuert die horizontale Bewegung.
Die ersten äußeren „IF“-Blöcke prüfen, ob der MU-Sensor irgendwelche Verkehrskarten erkennen kann. Wenn dies möglich ist, gehen wir zu den beiden "IF"-Anweisungen im Inneren über.
Die erste "IF"-Anweisung überprüft die vertikale Platzierung der erkannten Karte im Sichtfeld. Wenn eine Karte in die Mitte des Sichtfeldes gelegt wird, erhalten wir den Wert 50 aus dem vertikalen Wertalgorithmus. Nun ist es ziemlich selten, dass die Karte genau in der Mitte liegt. Wir müssen sehr präzise treffen. Wenn wir also 50 als einzigen Wert wählen, bei dem die Kamera still stehen sollte, bewegt sie sich mehr oder weniger ständig. Stattdessen zählen wir alles zwischen 45 und 55 als in der Mitte. Wenn die vertikale Platzierung der Karten also unter 45 liegt, bewegen wir die Kamera etwas nach unten, indem wir die vertikale Variable um +1 ändern. Auf die gleiche Weise bewegen wir die Kamera etwas nach oben, wenn die vertikale Platzierung über 55 liegt, indem wir die vertikale Variable um -1 ändern. Es mag seltsam erscheinen, dass die Kamera nach oben geht, wenn wir die Variable anheben, und nach unten, wenn die Variable nach oben geht, aber so ist der Motor platziert.
Die zweite "IF"-Anweisung macht genau dasselbe, jedoch für die horizontale Position. Wenn sich die Verkehrskarte also zu weit rechts vom Sichtfeld befindet, bewegt sich die Kamera nach rechts und wenn sie zu weit links vom Sichtfeld ist, bewegt sich die Kamera nach links.
Das Programm finden Sie hier.
Schritt 7: Fertig
Laden Sie nun Ihr Programm auf das Smart Car hoch und testen Sie es.
Sie können die Reaktionsgeschwindigkeit der Kamera auf Bewegungen erhöhen, indem Sie die Änderung der Variablen auf 2 oder 3 anstelle von 1 erhöhen. Sie können auch versuchen, die Größe des Felds, das als Mitte betrachtet wird, zu verringern. Versuchen Sie es stattdessen von 47 auf 53 zu machen.