Fernbedienung

Schwierigkeit: 5/5 Zeitaufwand: 75 min
Beschreibung
In diesem Projekt lernst du wie du deinen mBot mit der Infrarotfernbedienung Steuerst und unterschiedliche Modi realisieren kannst.
Benötigte Materialien
Bild Beschreibung
mBot Einen mBot mit Bluetooth oder Wlan-Modul
Vollständiges Programm
Fernsteuerung_Programm
Schritt für Schritt
Fernsteuerung_Variablen

Erstelle zunächst drei Variablen:

  • v (Velocity): Hier werden die verschiedenen Geschwindigkeiten gespeichert
  • mod: Das Programm hat drei verschiedene Modi, die hier gespeichert werden
  • var: Eine Variable um den Wert des Ultraschallsensors und des Liniensensors fest zu halten.
 Fernsteuerung_Blöcke Als nächstes erstellst du sechs Unterprogramm-Blöcke.

  • Modus: In diesem Unterprogramm wird der gewählte Modus in der Variable mod gespeichert.
  • Geschwindigkeit: Mit den Zahlentasten sollen unterschiedliche Geschwindigkeiten gewählt und in v gespeichert werden.
  • Auswahl: Hier verzweigt sich das Programm in den gewählten Modus.
  • Fernsteuern: Der erste Modus indem der Roboter mit den Pfeiltasten gelenkt werden kann.
  • Freie_fahrt: In diesem Modus weicht der Roboter selbstständig Hindernissen aus.
  • Linie_folgen: Hier folgt der Roboter einer schwarzen Linie, ähnlich einem Zug seinen Gleisen.
 Fernsteuerung_Haupt

Nun kannst du das Hauptprogramm erstellen. Ziehe dafür zunächst einen „mBot Programm“ Block auf den Arbeitsbereich und schiebe die Unterprogrammdefinierblocks auf die Seit, die brauchst du später.

Zuerst werden die Vorabeinstellungen gemacht. Diese sind sehr wichtig, damit sich dein Programm zu keinem Zeitpunkt in einem ungewissen Zustand befindet. Es wird also der erste Modus gewählt und die Geschwindigkeit auf 100 gesetzt. Außerdem ist es sinnvoll den momentanen Modus anzeigen zu lassen, daher werden die RGBs auf Rot gesetzt.

Nun Kommt die Hauptschleife, in der nacheinander die verschiedenen Unterprogramme aufgerufen werden. Natürlich kann das Programm auch ohne Unterprogramme geschrieben werden, aber gerade bei größeren Projekten wird es dann sehr unübersichtlich.

 

 Fernsteuerung_Modus Im  Modusblock wird ermittelt, ob eine der Tasten „A“, „B“ oder „C“ gedrückt wird. Falls dies der Fall ist, werden die RGB’s auf die entsprechende Farbe gesetzt und der Modus in der Variable „mod“ gespeichert.
 Fernsteuerung_Geschwindigkeit

Der Geschwindigkeitsblock dient der Einstellung der Geschwindigkeitsvariable „v“. Hier schaut das Programm also darauf, ob auf der Fernbedienung eine Zahlentaste gedrückt wird und speichert entsprechend einen Wert in die Variable v.

Dabei ist der Wert allerdings nicht beliebig. Die Motoren können nur mit Zahlen zwischen „0“ und „255“ angesteuert werden. Das kommt von der verwendeten Technik (PWM).

„255“ ist also die Höchstgeschwindigkeit, weshalb ist aber nun 80 die Minimalgeschwindigkeit? Nun, bei „0“ würde der Motor nicht drehen, weshalb man hier ja nicht von einer Geschwindigkeit sprechen kann und bei allem unter „80“, dreht sich der Motor mit so wenig Kraft, dass sich der Roboter nicht vom Fleck rühren wird. Probiers doch aus.

Fernsteuerung_Auswahl Nun ist der Modus und die Geschwindigkeit eingestellt. Als nächstes muss sich das Programm in die verschiedenen Modi verzweigen. Im Auswahlblock wird also geschaut welcher Modus gespeichert, also ausgewählt wurde und das entsprechende Unterprogramm ausgeführt.
Fernsteuerung_Fernsteuern  Der Fersteuerung-Modus

Hier kann der mBot mit den Pfeiltasten auf der Fernbedienung gesteuert werden.

Fernsteuerung_Freie Fahrt  Der Freie-Fahrt_Modus

in diesem Modus fährt der mBot selbstständig. sollte der Ultraschallsensor ein Hinderniss bemerken, so fährt er ein Stück zurück, dreht sich dann nach links und fährt weiter.

Fernsteuerung_Linie Folgen  Der Linien-Finder-Modus

in diesem Modus folgt der mBot einer Linie.