Stap 3: De Robot Program
<! DOCTYPE aesl-source >
< netwerk >
<!--lijst van wereldwijde evenementen-->
<!--lijst van constanten-->
<!--Toon trefwoorden staat-->
< trefwoorden vlag = "true" / >
<!----> knooppunt thymio-II
< knooppuntnaam "thymio-II" = > var temp
var rc5_speed_l
var rc5_speed_t
var vmin =-600
var vmax = 600
var led_pulse
timer.period[0]=20
sub setmotor
Bel math.min (rc5_speed_t, rc5_speed_t, vmax)
Bel math.max (rc5_speed_t, rc5_speed_t, vmin)
Bel math.min (rc5_speed_l, rc5_speed_l, vmax)
Bel math.max (rc5_speed_l, rc5_speed_l, vmin)
motor.left.target = rc5_speed_l + rc5_speed_t
motor.right.target = rc5_speed_l - rc5_speed_t
onevent button.left
Als button.left==1 dan
rc5_speed_t =-200
einde
callsub setmotor
onevent button.right
Als button.right==1 dan
rc5_speed_t = 200
einde
callsub setmotor
onevent button.center
Als button.center==1 dan
rc5_speed_t = 0
rc5_speed_l = 0
einde
callsub setmotor
onevent button.backward
Als button.backward==1 dan
Als rc5_speed_t! = 0 then
rc5_speed_t = 0
anders
rc5_speed_l = rc5_speed_l-200
einde
einde
callsub setmotor
onevent button.forward
Als button.forward==1 dan
Als rc5_speed_t! = 0 then
rc5_speed_t = 0
anders
rc5_speed_l = rc5_speed_l + 200
einde
einde
callsub setmotor
onevent knoppen
Wanneer de button.backward==1 en button.forward==1 doen
rc5_speed_l = 0
einde
Wanneer de button.right==1 en button.left==1 doen
rc5_speed_t = 0
einde
callsub setmotor
onevent timer0
#Body kleur pulse
led_pulse = led_pulse + 1
Als led_pulse > 0 then
Bel leds.top (led_pulse, 0, led_pulse)
Als led_pulse > 40 vervolgens
led_pulse =-64
einde
anders
Temp =-led_pulse/2
Bel leds.top (temp, 0, temp)
einde
onevent rc5
Als rc5.command! = 0 then
Als rc5.command == 2 vervolgens
Als rc5_speed_t! = 0 then
rc5_speed_t = 0
anders
rc5_speed_l = rc5_speed_l + 200
einde
elseif rc5.command == 4 dan
rc5_speed_t =-200
elseif rc5.command == 8 dan
Als rc5_speed_t! = 0 then
rc5_speed_t = 0
anders
rc5_speed_l = rc5_speed_l-200
einde
elseif rc5.command == 6 dan
rc5_speed_t = 200
elseif rc5.command == 5 vervolgens
rc5_speed_t = 0
rc5_speed_l = 0
einde
RC5.Command = 0
einde
onevent prox
oproep sound.system(-1)
oproep leds.temperature(0,0)
oproep leds.top(0,0,0)
oproep leds.circle(0,0,0,0,0,0,0,0)
Als prox.horizontal[2] > 3000 en rc5_speed_l > 0 then
rc5_speed_l = 0
einde
Als prox.horizontal[0] > 1500 en prox.horizontal[6] & lt; 1000 en rc5_speed_l > 0 dan rc5_speed_t = 300
einde
Als prox.horizontal[6] > 1500 en prox.horizontal[0] & lt; 1000 en rc5_speed_l > 0 dan rc5_speed_t = -300
einde < / knooppunt >
< / netwerk >