Maqueen Fernsteuerung

Programme

Bedienung

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)
        }
    }
})