Two Motor Turning

Robot der styres med 2 motorer.

Dette eksempel forudsætter at man har bygget en robot der kan køre ved at styre 2 separater motorer, en til hvert hjul. Motorerne sidder på B og C udgangene.

Det kan være sværet at vurdere hvor hurtigt robotten kører med forskellige motorhastigheder. Derfor ender man ofte med at downloade talrige programmer til EV3 brick’en, for at teste forskellige motorhastigheder. Endnu sværere bliver det at afgøre hvor skarp robottet drejer, når motorerne kører med forskellige hastigheder.

Derfor kan dette eksempel bruges til nemt at afprøve forskellige motorhastigheder.

Indstillinger for speed og turn ratio kan indstilles med knapperne på EV3 brick, og displayet viser de valgte indstillinger.

Eksempel på visning i displayet i simulatoren.

Blokprogrammering

Her er koden der bruges i eksemplet lavet med blokprogrammering.

Programmet lavet med blokprogrammering.

Javascript udgave

Den samme kode er her vist som javascript.

let turnRatio = 0
let speed = 0
brick.buttonUp.onEvent(ButtonEvent.Pressed, function () {
    speed += 10
})
brick.buttonRight.onEvent(ButtonEvent.Pressed, function () {
    turnRatio += 10
})
brick.buttonLeft.onEvent(ButtonEvent.Pressed, function () {
    turnRatio += 0 - 10
})
brick.buttonDown.onEvent(ButtonEvent.Pressed, function () {
    speed += 0 - 10
})
brick.showString("Steer tester", 1)
brick.showString("Connect motors BC", 7)
brick.showString("up/down : speed", 8)
brick.showString("left/right : turn", 9)
forever(function () {
    motors.largeBC.steer(turnRatio, speed)
    brick.showValue("speed", speed, 2)
    brick.showValue("turnRatio", turnRatio, 3)
    brick.showValue("motor B speed", motors.largeB.speed(), 4)
    brick.showValue("motor C speed", motors.largeC.speed(), 5)
    pause(100)
})