Robotertank – Ultraschall

Erweitere deinen Robot Tank mit dem Ultraschall-Modul! Schließe es an deinen bestehenden Baukasten an und lerne, wie du mithilfe des Ultraschallsensors Hindernisse erkennst und automatisch umgehst – eine ideale Ergänzung zur Entwicklung von Fähigkeiten in Robotik, Programmierung und algorithmischem Denken.

Beschreibung

Das Ultraschallmodul ist eine praktische Erweiterung für einen Roboterpanzer, die es dem Panzer ermöglicht, Hindernisse zu erkennen und auf seine Umgebung zu reagieren. Mithilfe eines Ultraschallsensors kann das Fahrzeug den Abstand vor sich messen und je nach programmiertem Verhalten anhalten, verlangsamen oder Hindernissen ausweichen. Der Sensor wird direkt an die Erweiterungsplatine angeschlossen und lässt sich problemlos in das bestehende Panzerdesign integrieren.

Diese Erweiterung erweitert die Fähigkeiten des Panzers erheblich und ermöglicht fortgeschrittenere Projekte wie autonomes Fahren, Sicherheitssysteme oder interaktive Bildungsszenarien. Das Modul ist vollständig mit der MakeCode-Umgebung kompatibel und kann auch in Python oder JavaScript gesteuert werden. Es ist ideal für Schüler, die bereits über Programmierkenntnisse verfügen und sich mit realen Robotersteuerungsalgorithmen und der Arbeit mit Sensoren befassen möchten.

US-016-Verkabelung

MB1

Der Ultraschallsensor wird über Pins von der Erweiterungskarte mit Strom versorgt 3V3 a GNDAls nächstes müssen Sie den Ausgang des Ultraschallsensors anschließen, d. h. Pin Außen an den analogen Eingangspin des micro:bit. In diesem Fall haben wir den Pin P2.

Ultraschall2_mb1

MB2

MB3

Ultraschall2_mb3

Anschluss (TRIG und ECHO)

Der Ultraschallsensor wird über Pins von der Erweiterungskarte mit Strom versorgt 3V3 a GND. Als nächstes müssen Sie den Pin für den Sender (Trig) und den Empfänger (Echo) verbinden. In den folgenden Programmen verwenden wir die Pins P14 – Echo a P15 – Trigonometrie.

MB1

Ultraschall_mb1

MB2

Ultraschall_mb2

MB3

Ultraschall_mb3

Programme

Die Programme unterscheiden sich wiederum je nach Ultraschallsensortyp. Eine weitere Unterteilung erfolgt nach der verwendeten Erweiterungskarte. Die MB1-Karte ist mit einem integrierten LED-Streifen ausgestattet, der sich hervorragend zur Anzeige der vom Sensor gemessenen Distanz eignet.

Im Prinzip sind die Programme jedoch gleich, sie unterscheiden sich lediglich in der Verwendung der Neopixel-Bibliothek für den LED-Streifen.

Sensor US-016

Erweiterungskarte MB1

Grundprogramm

Dieses Programm verwendet den LED-Streifen unserer MB1-Erweiterungskarte. Wenn Sie dieses Programm auf einer anderen Karte verwenden, funktioniert es zwar auch, sendet aber unnötigerweise Signale an den leeren Pin P16. Wir empfehlen daher, den folgenden Code hochzuladen.

Zunächst initialisieren wir den LED-Streifen mithilfe der Neopixel-Bibliothek. Der eingebaute Streifen verfügt über 8 LEDs und ist mit Pin P16 verbunden (deshalb ist dieser Pin auf der MB1-Platine nicht herausgeführt).

Anschließend wird die Distanz in der Schleife ausgelesen. Unterschreitet die Distanz den von uns gewählten Grenzwert von 10 cm, stoppt der Panzer. Wir stellen die Farbe des LED-Streifens auf Rot. Trifft diese Bedingung nicht zu, setzt sich der Panzer mit der gewählten Geschwindigkeit in Bewegung und wir stellen den LED-Streifen auf Grün. Abschließend leuchten wir den Streifen auf.

Erweitertes Programm

Dieses Programm arbeitet bereits mit variabler Geschwindigkeit. Basierend auf der gemessenen Distanz stellt es die Geschwindigkeit des Panzers auf die Variable „speed“ ein. Außerdem legt es die Anzahl der leuchtenden LEDs fest.

Erweiterungsplatine MB2 und MB3

Wenn Sie einen Tank mit einer MB2- oder MB3-Erweiterungskarte besitzen, funktionieren die vorherigen Programme genau gleich. Der Unterschied besteht darin, dass ein Signal an den leeren Pin P16 gesendet wird, der mit dem LED-Streifen auf der MB1-Karte verbunden ist. Die folgenden Codes sind daher genau gleich, der einzige Unterschied besteht darin, dass sie keine Steuerung des LED-Streifens über die Neopixel-Bibliothek enthalten.

Grundprogramm

Das Programm in der Schleife misst den Abstand des Objekts zum Ultraschallsensor. Ist dieser Abstand größer als 10 cm, fährt der Panzer vorwärts. Andernfalls stoppt er.

Erweitertes Programm

Dieses Programm arbeitet bereits mit variabler Geschwindigkeit. Basierend auf der gemessenen Entfernung stellt es die Geschwindigkeit des Panzers auf die Variable „Geschwindigkeit“ ein. Durch Ändern des Wertes der Konstanten DIST_MIN oder DIST_MAX Sie können den Bereich der gemessenen Entfernungen anpassen.

Gängige Sensoren (TRIG und ECHO)

Erweiterungskarte MB1

Grundprogramm

Dieses Programm verwendet den LED-Streifen unserer MB1-Erweiterungskarte. Wenn Sie dieses Programm auf einer anderen Karte verwenden, funktioniert es zwar auch, sendet aber unnötigerweise Signale an den leeren Pin P16. Wir empfehlen daher, den folgenden Code hochzuladen.

Zunächst initialisieren wir den LED-Streifen mithilfe der Neopixel-Bibliothek. Der eingebaute Streifen verfügt über 8 LEDs und ist mit Pin P16 verbunden (deshalb ist dieser Pin auf der MB1-Platine nicht herausgeführt).

Anschließend wird die Distanz in der Schleife ausgelesen. Unterschreitet die Distanz den von uns gewählten Grenzwert von 10 cm, stoppt der Panzer. Wir stellen die Farbe des LED-Streifens auf Rot. Trifft diese Bedingung nicht zu, setzt sich der Panzer mit der gewählten Geschwindigkeit in Bewegung und wir stellen den LED-Streifen auf Grün. Abschließend leuchten wir den Streifen auf.

Erweitertes Programm

Dieses Programm arbeitet bereits mit variabler Geschwindigkeit. Basierend auf der gemessenen Distanz stellt es die Geschwindigkeit des Panzers auf die Variable „speed“ ein. Außerdem legt es die Anzahl der leuchtenden LEDs fest.

Erweiterungsplatine MB2 und MB3

Wenn Sie einen Tank mit einer MB2- oder MB3-Erweiterungskarte besitzen, funktionieren die vorherigen Programme genau gleich. Der Unterschied besteht darin, dass ein Signal an den leeren Pin P16 gesendet wird, der mit dem LED-Streifen auf der MB1-Karte verbunden ist. Die folgenden Codes sind daher genau gleich, der einzige Unterschied besteht darin, dass sie keine Steuerung des LED-Streifens über die Neopixel-Bibliothek enthalten.

Grundprogramm

Gleiche Funktion wie das Programm für die MB1-Platine, nur ohne LED.

Erweitertes Programm

Gleiche Funktion wie das Programm für die MB1-Platine, nur ohne LED.

Aufgaben

Aufgabe 1: Gehorsamer Panzer

Machen Sie aus einem Roboterpanzer ein spielerisches Fahrzeug. Kehren Sie die Stop-and-Go-Logik um, sodass er, sobald er ein Hindernis vor sich erkennt, direkt dahinter fährt. So können Sie den Panzer mit Ihren Händen steuern. Sobald er Ihre Hand vor sich erkennt, folgt er ihr auf Befehl. Wenn Sie Ihre Hand heben, hält der Panzer gehorsam an.

Aufgabe 2: Sicherer Tank

Erstellen Sie ein Programm, das dem Panzer hilft, einem Hindernis auszuweichen. Nähert er sich einem Hindernis, dreht er sich zur Seite und setzt sich wieder in Bewegung. Lassen Sie den Panzer lange genug drehen, um dem Hindernis tatsächlich auszuweichen.

Aufgabe 3: Roboterstaubsauger

Du hast bestimmt schon einmal gesehen, wie ein Saugroboter funktioniert. Stößt er auf ein Hindernis, stoppt er, dreht sich ein Stück zurück und wählt dann eine neue Richtung, bis er auf ein weiteres Hindernis trifft. Probiere genau diese Funktion mit deinem Tank aus.

Versuchen Sie es mit der Bibliothek Mathematik, insbesondere ein Zufallszahlenblock, der bestimmt, wie weit sich der Panzer dreht, wenn er eine neue Richtung wählt. Dadurch erhält Ihr Roboterpanzer seinen eigenen Verstand!

Bildergalerie