Skip to content

Observateur

massteff edited this page Sep 10, 2018 · 3 revisions

Précédent | Home

Créature de Braitenberg

Observateur

La lumière du haut est verte quand le capteur droit détecte un objet. La lumière du haut devient rouge lorsque le capteur gauche détecte un objet. Une fois la lumière du haut allumée, le robot aend trois secondes avant de s’éteindre ; pendant ce temps, la lumière ne change pas.

Thymio VPL

configuration

Code

# variables for state
var state[4] = [0,0,0,0]
var new_state[4] = [0,0,0,0]

# stop timer 0
timer.period[0] = 0
# reset outputs
call sound.system(-1)
call leds.top(0,0,0)
call leds.bottom.left(0,0,0)
call leds.bottom.right(0,0,0)
call leds.circle(0,0,0,0,0,0,0,0)

# subroutine to display the current state
sub display_state
call leds.circle(0,state[1]*32,0,state[3]*32,0,state[2]*32,0,state[0]*32)

onevent buttons
when button.center == 1 do
new_state[0] = 1
emit pair_run 3
end

call math.copy(state, new_state)
callsub display_state


onevent prox
when prox.horizontal[4] >= 2000 do
if state[0] == 1 then
call leds.top(0,32,0)
new_state[0] = 0
new_state[1] = 1
timer.period[0] = 3000
emit pair_run 0
end
end

when prox.horizontal[0] >= 2000 do
if state[0] == 1 then
call leds.top(32,0,0)
new_state[0] = 0
new_state[1] = 1
timer.period[0] = 3000
emit pair_run 1
end
end

call math.copy(state, new_state)
callsub display_state


onevent timer0
timer.period[0] = 0
if state[0] == 0 and state[1] == 1 then
new_state[0] = 1
new_state[1] = 0
call leds.top(0,0,0)
emit pair_run 2
end

call math.copy(state, new_state)
callsub display_state


Clone this wiki locally