====== Maqueen Fernsteuerung ====== Programme * Fernbedienung: https://makecode.microbit.org/_956WUaKY8gwH * Fahrzeug: https://makecode.microbit.org/_Vtx7hbR0mMpq Bedienung * Button A: Beschleunigt Vorwärts * Button B: Beschleunigt Rückwärts * Button A+B: Stoppt * Steuerung: Micro:bit wie ein Steuerrad halten und nach links oder rechts drehen. ===== Code ===== Fernbedienung let right = 0 let left = 0 let steer = 0 let speed = 0 radio.setGroup(1) let acceleration = 5 basic.forever(function () { if (input.buttonIsPressed(Button.AB)) { speed = 0 } else if (input.buttonIsPressed(Button.A)) { speed = speed + acceleration speed = Math.min(speed, 255) } else if (input.buttonIsPressed(Button.B)) { speed = speed - acceleration speed = Math.max(speed, -255) } steer = input.acceleration(Dimension.X) steer = Math.floor(steer / 4) if (steer < 0) { steer = Math.max(-256, steer) left = Math.floor(speed * (128 + steer) / 256) right = speed } else { steer = Math.min(256, steer) left = speed right = Math.floor(speed * (128 - steer) / 256) } radio.sendValue("left", left) radio.sendValue("rigth", right) }) Fahrzeug radio.onReceivedValue(function (name, value) { if (name == "left") { left = value } else { right = value } }) let right = 0 let left = 0 radio.setGroup(1) basic.showIcon(IconNames.Angry) basic.forever(function () { if (left == 0 && right == 0) { maqueen.motorStop(maqueen.Motors.All) } else { if (left >= 0) { maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, left) } else { maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CCW, 0 - left) } if (right >= 0) { maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, right) } else { maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CCW, 0 - right) } } })