Link

Maqueen - Infrarot gesteuert

Infrarot Codes ermitteln

Für diese Lektion benötigst Du eine Infrarot-Fernbedienung, die sogenannte Graycodes sendet. Die meisten Fernbedienungen funktionieren auf diese Weise, daher sollte in jedem Haushalt eine geeignete Fernbedienung zu finden sein. Um den Roboter mit der IR-Fernbedienung steueren zu können, musst Du Dir zunächst 5 Tasten auf der Fernbedienung aussuchen.

Die Fernbedienung in dem Bild hat vier Pfeile und einen Kreis, die wir verwenden können. Hat Deine Fernbedienung nur Zahlen, kannst Du z.B. die Zahlen 2, 4, 5, 6 und 8 verwenden, die in der gleichen Art angeordnet sind.

Um die gesendeten Codes der jeweiligen Tasten zu ermitteln, benötigst Du aus dem Maqueen-Blöcken den Block on IR received. In diesem Block gibst Du einfach den empfangenen Code mit dem Block zeige Text auf dem LED-Display des Micro:Bit aus.

Notiere Dir die Codes in einer Tabelle, etwa so wie hier für die oben abgebildete Fernbedienung.

Taste Code Funktion
Pfeil hoch 66 fahre vorwärts
Pfeil runter 67 fahre rückwärts
Pfeil links 68 drehe links
Pfeil rechts 69 drehe rechts
Kreis 111 stop

Blocks

So könnte Dein Programm aussehen.

Javascript-Code

    
maqueen.IR_callbackUser(function (message) {
    basic.showString("" + message)
})

Maqueen per IR-Ferbedienung steuern

Wenn Du die Codes der IR-Fernbedienung ermittelt und notiert hast, kannst Du nun auf die entsprechenden Codes reagieren und die Motoren des Roboters entsprechend bewegen.

Dazu benötigst Du zunächst wieder den on IR receiced Block aus dem Maqueen-Blöcken. Zusätzlich benötigst Du fünf wenn ... dann-Blöcke aus den Logik-Blöcken und fünf ... = ...-Blöcke aus den Mathematik-Blöcken.

Prüfe nun jeweils in einen wenn ... dann-Block auf die jeweiligen Codes der Fernbedienung. In dem wenn ... dann Block kannst Du die Motoren des Maqueen steuern. Verwende dazu die Motor ... dir ... speed-Blöcke aus den Maqueen-Blöcken.

Hier ein Beispiel:

Wenn z.B. der Code 66 empfangen wird, soll der Maqueen mit maximaler Geschwindigkeit nach vorne fahren. Dazu benötigen wir den Block Motor ... dir ... speed und setzen die Werte wie folgt:

Motor "All" dir "CW" speed "255"

Blocks

So könnte Dein Programm aussehen.

Javascript-Code

    
maqueen.IR_callbackUser(function (message) {
    if (message == 66) {
        maqueen.MotorRun(maqueen.aMotors.All, maqueen.Dir.CW, 255)
    }
    if (message == 67) {
        maqueen.MotorRun(maqueen.aMotors.All, maqueen.Dir.CCW, 255)
    }
    if (message == 68) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CCW, 100)
        maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, 100)
    }
    if (message == 69) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, 100)
        maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CCW, 100)
    }
    if (message == 111) {
        maqueen.motorStop(maqueen.aMotors.All)
    }
})

MakeCode Projekt

Maqueen Lektion 2 - Infrarot gesteuert