Inhaltsverzeichnis:

[2020] Verwenden von zwei (x2) Micro: Bits zur Steuerung eines RC-Autos - Gunook
[2020] Verwenden von zwei (x2) Micro: Bits zur Steuerung eines RC-Autos - Gunook
Anonim
[2020] Verwenden von zwei (x2) Micro:Bits zur Steuerung eines RC-Autos
[2020] Verwenden von zwei (x2) Micro:Bits zur Steuerung eines RC-Autos

Wenn Sie zwei (x2) micro:bits haben, haben Sie daran gedacht, sie zur Fernsteuerung eines RC-Autos zu verwenden? Sie können ein RC-Auto steuern, indem Sie ein micro:bit als Sender und ein anderes als Empfänger verwenden.

Wenn Sie den MakeCode-Editor zum Codieren eines micro:bit verwenden, finden Sie eine Erweiterung namens Radio, die es einem Ihrer micro:bit ermöglicht, Daten über die Luft an ein anderes micro:bit in derselben Gruppe zu senden. Für viele Projekte können Sie ganz einfach Daten mit der Funkerweiterung senden und empfangen.

In diesem Tutorial lernen wir, wie man zwei (x2) micro:bits verwendet, um ein RC-Auto fernzusteuern. Wir werden die Schritte zum Einrichten von zwei (x2) micro:bits überprüfen und den MakeCode-Editor verwenden, um zu erklären, wie die Beispieldateien codiert sind. Sie können in diesem Projekt spielbereite Beispielcodes herunterladen und müssen sich nicht darum kümmern, alles von Grund auf neu zu programmieren. Sie können die Beispielcodes später jederzeit für Ihre eigenen Lernzwecke anpassen.

Lieferungen:

Lass uns anfangen! Für den Sender und den Empfänger verwenden wir zwei (x2) micro:bits. Für Batterien empfehlen wir die Verwendung neuer und einmaliger 1,5 V AA- und AAA-Batterien.

  • Mikro: Bit x2
  • Batteriefach x1
  • 1,5 V AAA-Batterien x2 (für das Batteriefach)

Für das Spielzeugauto in diesem Projekt verwenden wir Valenta Off-Roader RC-Auto. Valenta Off-Roader ist ein micro:bit-betriebenes RC-Auto. Es ist Lego Technic-kompatibel und mit zwei (x2) Mikrogetriebemotoren an den Hinterrädern und einem (x1) eingebauten Lenkservo basierend auf dem Roberval-Balance-Arm-Mechanismus ausgestattet.

  • Valenta Offroader x1
  • 1,5 V AA-Batterien x4 (für das Auto)

Sie können auch die Anweisungen zum Zusammenbau des Autos beachten.

Schritt 1: Kopieren von Beispieldateien in Micro:Bits

Kopieren von Beispieldateien in Micro:Bits
Kopieren von Beispieldateien in Micro:Bits
Kopieren von Beispieldateien in Micro:Bits
Kopieren von Beispieldateien in Micro:Bits
Kopieren von Beispieldateien in Micro:Bits
Kopieren von Beispieldateien in Micro:Bits
Kopieren von Beispieldateien in Micro:Bits
Kopieren von Beispieldateien in Micro:Bits

Für dieses Projekt haben wir MakeCode-Beispieldateien vorbereitet, die Sie auf Ihren Computer herunterladen können. Da diese Sample-Dateien abspielbereit sind, können Sie sofort mit der Wiedergabe beginnen.

In diesem Schritt laden Sie bitte die Datei Transmitter.hex und Receiver.hex herunter. Verbinden Sie Ihren Computer und ein micro:bit über ein USB-Kabel und kopieren Sie jede Datei einzeln auf jedes Ihrer micro:bit.

Ziehen Sie zuerst die Datei Transmitter.hex per Drag & Drop auf ein micro:bit und verwenden Sie diese als "Transmitter" micro:bit.

Zweitens ziehen Sie die Receiver.hex-Datei per Drag & Drop auf ein anderes micro:bit und verwenden Sie diese als "Empfänger" micro:bit.

Nachdem Sie die Beispieldatei auf Ihr micro:bit kopiert haben, trennen Sie es von Ihrem Computer.

Verbinden Sie das Batteriefach mit dem micro:bit "Sender" und schalten Sie es ein. (Alternativ können Sie den "Sender" micro:bit auch mit Strom versorgen, indem Sie ihn über ein USB-Kabel an den Computer anschließen.)

Montieren Sie den "Empfänger" micro:bit an Ihrem Auto und schalten Sie den Netzschalter am Motorcontroller ein.

Schritt 2: Überprüfen der Transmitter.hex-Beispieldatei

Überprüfung der Transmitter.hex-Beispieldatei
Überprüfung der Transmitter.hex-Beispieldatei
Überprüfung der Transmitter.hex-Beispieldatei
Überprüfung der Transmitter.hex-Beispieldatei
Überprüfung der Transmitter.hex-Beispieldatei
Überprüfung der Transmitter.hex-Beispieldatei

Sender.hex

Jetzt untersuchen wir die Beispieldatei Transmitter.hex. Öffnen Sie den MakeCode-Editor und klicken Sie auf die Schaltfläche Importieren. Öffnen Sie die Datei Transmitter.hex, die Sie in "Sender" micro:bit kopiert haben.

im Startblock

Dieser Block wird anfänglich sofort aufgerufen, wenn "Sender" micro:bit eingeschaltet wird. Unter Funkerweiterung finden Sie die Gruppe Block Funkgerät und 1 ist zum Beispiel eingestellt. Diese Nummer muss für "Sender" micro:bit und "Empfänger" micro:bit gleich sein, damit sie für die Kommunikation miteinander verbunden werden können.

Die Datei verwendet Beschleunigungsmesser-Funktionen. Durch Neigen Ihres "Senders" micro:bit nach unten, oben, rechts oder links sendet es Funkstrings von "goForward", "goBackward", "goRight" oder "goLeft" Strings an Ihren "Empfänger" micro:bit.

auf Logo-Down-Block

In Eingabefunktionen finden Sie den Block auf Logo unten. Dieser Block wird immer dann ausgeführt, wenn Sie "Sender" micro:bit nach unten oder nach vorne neigen. In dem Block finden Sie auch die Funkzeichenfolge "goForward", die die Funkzeichenfolge "goForward" über die Luft sendet, wenn "Sender" micro:bit nach unten geneigt wird. Wenn "receiver" micro:bit diesen String empfängt, fährt das Auto vorwärts.

auf Logo-Up-Block

Unter Eingabefunktionen finden Sie den Block beim Logo oben. Dieser Block wird immer dann ausgeführt, wenn Sie "Sender" micro:bit nach oben oder hinten neigen. In dem Block finden Sie auch die Funkzeichenfolge "goBackward", die die Funkzeichenfolge "goBackward" über die Luft sendet, wenn "Sender" micro:bit nach oben gekippt wird. Wenn "Empfänger" micro:bit diesen String empfängt, fährt das Auto rückwärts.

beim Kippen des rechten Blocks

In den Eingabefunktionen finden Sie den Block auf der rechten Seite. Dieser Block wird ausgeführt, wenn Sie "Sender" micro:bit nach rechts neigen. Im Block finden Sie auch die Funkzeichenfolge "goRight", die die Funkzeichenfolge "goRight" über die Luft sendet, wenn "Sender" micro:bit nach rechts geneigt wird. Wenn "receiver" micro:bit diesen String empfängt, biegt das Auto nach rechts ab.

beim Kippen des linken Blocks

In den Eingabefunktionen finden Sie den Block auf der linken Seite. Dieser Block wird ausgeführt, wenn Sie "Sender" micro:bit nach links neigen. Im Block finden Sie auch den Funk-Sendestring "goLeft", der den Funkstring "goLeft" über die Luft sendet, wenn "Sender" micro:bit nach links geneigt wird. Wenn "receiver" micro:bit diesen String empfängt, biegt das Auto nach links ab.

Schritt 3: Servos-Erweiterung hinzufügen

Servos-Erweiterung hinzufügen
Servos-Erweiterung hinzufügen
Servos-Erweiterung hinzufügen
Servos-Erweiterung hinzufügen
Servos-Erweiterung hinzufügen
Servos-Erweiterung hinzufügen

Servos-Erweiterung

Enthält Ihr MakeCode-Editor die Servos-Erweiterung? Bitte öffnen Sie den Editor und prüfen Sie, ob er im linken Menü die Servos-Erweiterung enthält. Wir werden es in der Beispieldatei Receiver.hex verwenden. Diese Servos-Erweiterung wird zum Kalibrieren des Lenkwinkels verwendet. Wenn Sie die Servos-Erweiterung nicht finden können, klicken Sie unten im Menü auf Erweiterungen. Klicken Sie auf Servos-Erweiterung und fügen Sie sie dem Menü hinzu.

Schritt 4: Überprüfen der Receiver.hex-Beispieldatei (Teil 1)

Überprüfen der Receiver.hex-Beispieldatei (Teil 1)
Überprüfen der Receiver.hex-Beispieldatei (Teil 1)
Überprüfen der Receiver.hex-Beispieldatei (Teil 1)
Überprüfen der Receiver.hex-Beispieldatei (Teil 1)
Überprüfen der Receiver.hex-Beispieldatei (Teil 1)
Überprüfen der Receiver.hex-Beispieldatei (Teil 1)
Überprüfen der Receiver.hex-Beispieldatei (Teil 1)
Überprüfen der Receiver.hex-Beispieldatei (Teil 1)

Empfänger.hex

Jetzt untersuchen wir die Beispieldatei Receiver.hex. Öffnen Sie den MakeCode-Editor und klicken Sie auf die Schaltfläche Importieren. Öffnen Sie die Datei Receiver.hex, die Sie in den micro:bit "receiver" kopiert haben.

im Startblock

Dieser Block wird anfänglich sofort aufgerufen, wenn "Empfänger" micro:bit eingeschaltet wird. Unter Funkfunktionen finden Sie die Gruppe Funkgerät blockieren und 1 ist beispielsweise eingestellt. Diese Nummer muss für "Sender" micro:bit und "Empfänger" micro:bit gleich sein, damit sie für die Kommunikation miteinander verbunden werden können.

Aus der Funktionserweiterung wird der Funktionssteuerungsblock erstellt. Ziehen Sie den Anrufsteuerungsblock in den Startblock und legen Sie ihn dort ab. Es ruft die Funktion Lenken auf, um die Lenkung Ihres Autos zu begradigen.

Funktionslenkblock

Standardmäßig ist die Lenkung eines Autos aufgrund seines Servos nicht immer geradeaus. Wenn Sie das Auto von oben betrachten, könnte die Lenkung ein wenig rechts oder links sein. Dieser Funktionsblock wird verwendet, um den Servowinkel auf seine Mittelposition zu kalibrieren, damit die Lenkung des Fahrzeugs geradeaus eingestellt wird.

Nehmen wir an, dass das Servo am P2-Pin des Motorcontrollers angeschlossen ist. Lassen Sie uns konfigurieren, dass das Servo von 0 bis 180 Grad schwingt und sein Zentralwinkel 90 Grad beträgt.

In der Funktionserweiterung wurde der Funktionssteuerungsblock erstellt. Erstellen Sie in der Erweiterung Variablen ein neues Variablenzentrum zum Kalibrieren des Lenkservos. Verwenden Sie die Math-Funktion, um eine 90 + 0-Klammer zu bilden. Ziehen Sie das Set-Center per Drag & Drop auf den 90 + 0-Block innerhalb des Funktionssteuerungsblocks.

Stellen Sie aus der Servos-Erweiterung per Drag & Drop den Servo-P2-Bereich von 0 bis 180 ein. Stellen Sie sicher, dass Sie den P2-Pin und den Drehbereich von 0 bis 180 Grad auswählen.

Ziehen Sie aus der Servos-Erweiterung per Drag & Drop den Servo-P2-Winkel auf die Mitte. Stellen Sie sicher, dass der Winkel auf die variable Mitte eingestellt ist.

Betrachten Sie Ihr Auto von oben. Wie sieht es aus?

Wenn die Lenkung etwas links ist, stellen Sie die Mitte auf 90-5, um -5 Grad nach rechts zu versetzen.

Wenn die Lenkung etwas rechts ist, stellen Sie die Mitte auf 90 + 5, um +5 Grad nach links zu versetzen.

(Weiter zum nächsten Schritt)

Schritt 5: Überprüfen der Receiver.hex-Beispieldatei (Teil 2)

Überprüfen der Receiver.hex-Beispieldatei (Teil 2)
Überprüfen der Receiver.hex-Beispieldatei (Teil 2)

Empfänger.hex (Fortsetzung)

Wie können wir Richtung und Geschwindigkeit festlegen? Das Auto hat einen Mikrogetriebemotor M1 am linken Hinterrad und M2 am rechten Hinterrad.

Funktion goForward-Block

Linkes Hinterrad M1 Motor

Pin P13 wird für die Richtung verwendet. Ziehen Sie aus der Pins-Erweiterung den digitalen Schreibstift P13 auf 0, damit M1 vorwärts geht.

Der Pin P12 wird für die Geschwindigkeit verwendet (maximale Geschwindigkeit ist 1023). Ziehen Sie aus der Pins-Erweiterung den analogen Schreibstift P12 auf 1023 und legen Sie ihn ab, damit M1 mit maximaler Geschwindigkeit ausgeführt wird.

Rechtes Hinterrad M2 Motor

Pin P15 wird für die Richtung verwendet. Ziehen Sie aus der Pins-Erweiterung den digitalen Schreibstift P15 auf 0, damit M2 vorwärts geht.

P14-Pin wird für die Geschwindigkeit verwendet (maximale Geschwindigkeit ist 1023). Ziehen Sie aus der Pins-Erweiterung den analogen Schreibstift P14 auf 1023, damit M2 mit maximaler Geschwindigkeit läuft.

Ziehen Sie aus der Basic-Erweiterung den Block Pause (ms) 1000 per Drag & Drop, um die Kabine für 1000 Millisekunden (1 Sekunde) vorwärts zu halten, und führen Sie die Anrufstoppfunktion aus, um die Kabine sicher zu stoppen.

Funktion goBackward block

Linkes Hinterrad M1 Motor

P12-Pin wird für die Richtung verwendet. Ziehen Sie aus der Pins-Erweiterung den digitalen Schreibstift P12 auf 0, damit M1 rückwärts geht.

Der Pin P13 wird für die Geschwindigkeit verwendet (maximale Geschwindigkeit ist 1023). Ziehen Sie aus der Pins-Erweiterung den analogen Schreibstift P13 auf 1023, damit M1 mit maximaler Geschwindigkeit ausgeführt wird.

Rechtes Hinterrad M2 Motor

P14-Pin wird für die Richtung verwendet. Ziehen Sie aus der Pins-Erweiterung den digitalen Schreibstift P14 auf 0, damit M2 rückwärts geht.

Der Pin P15 wird für die Geschwindigkeit verwendet (maximale Geschwindigkeit ist 1023). Ziehen Sie aus der Pins-Erweiterung den analogen Schreibstift P15 auf 1023, damit M2 mit maximaler Geschwindigkeit läuft.

Ziehen Sie aus der Basic-Erweiterung den Block Pause (ms) 1000 per Drag & Drop, um die Kabine für 1000 Millisekunden (1 Sekunde) rückwärts zu halten, und führen Sie die Anrufstoppfunktion aus, um die Kabine sicher zu stoppen.

Funktion Stoppblock

Linkes Hinterrad M1 Motor

Pin P13 wird für die Richtung verwendet. Ziehen Sie aus der Pins-Erweiterung den digitalen Schreibstift P13 auf 0, sodass M1 auf Vorwärtsrichtung gesetzt wird.

Der Pin P12 wird für die Geschwindigkeit verwendet (0 bedeutet keine Geschwindigkeit). Ziehen Sie aus der Pins-Erweiterung den analogen Schreib-Pin P12 per Drag & Drop auf 0, damit M1 stoppt.

Rechtes Hinterrad M2 Motor

Pin P15 wird für die Richtung verwendet. Ziehen Sie aus der Pins-Erweiterung den digitalen Schreibstift P15 auf 0, sodass M2 auf Vorwärtsrichtung gesetzt wird.

Pin P14 wird für Geschwindigkeit verwendet (0 bedeutet keine Geschwindigkeit). Ziehen Sie aus der Pins-Erweiterung den analogen Schreib-Pin P14 auf 0, damit M2 stoppt.

Ziehen Sie aus der Funktionserweiterung den Anrufsteuerungsblock und legen Sie ihn ab, um die Fahrzeuglenkung zu begradigen.

(Weiter zum nächsten Schritt)

Schritt 6: Überprüfen der Receiver.hex-Beispieldatei (Teil 3)

Überprüfen der Receiver.hex-Beispieldatei (Teil 3)
Überprüfen der Receiver.hex-Beispieldatei (Teil 3)

Empfänger.hex (Fortsetzung)

Immer wenn der "Empfänger" micro:bit die vom "Sender" micro:bit über die Luft gesendete Funkzeichenfolge abfängt, wie kann die Receiver.hex-Beispieldatei sie aussortieren und die entsprechende Funktion aufrufen, um das Auto zu steuern?

über Funk empfangen empfangenString-Block

Bringen Sie diesen Block von der Funkerweiterung und es wird eine in diesem Block definierte Aktion ausgelöst, wenn ein neuer Funkstring am "Empfänger" micro:bit ankommt.

wenn dann blockieren

Bringen Sie diesen Block von der Logic-Erweiterung und es werden Aktionen abhängig von der empfangenen Zeichenfolge sortiert.

Wenn die empfangene Zeichenfolge "goForward" ist, ruft der Block die goForward-Funktion auf.

Wenn die empfangene Zeichenfolge "goBackward" ist, ruft der Block die goBackward-Funktion auf.

Wenn die empfangene Zeichenfolge "goRight" ist, stellen Sie den Winkel des Lenkservos auf -10 Grad nach rechts ein und der Block ruft die goForward-Funktion auf.

Wenn die empfangene Zeichenfolge "goLeft" ist, stellen Sie den Winkel des Lenkservos auf +10 Grad nach links ein und der Block ruft die goForward-Funktion auf.

Die in diesem Tutorial erläuterten Beispieldateien sind sehr einfach und Sie können den Code an Ihren eigenen anpassen. Spaß haben!

Empfohlen: