var p1 var steer var speed var p0 var state var counter var interval var digit var code var wordlen var result speed = 115 interval = 5 wordlen = 3 sub use_result onevent prox p1 = prox.ground.delta[1] steer = (p1 - 512) / 3 motor.left.target = speed + steer motor.right.target = speed - steer p0 = prox.ground.delta[0] if state == 0 then if p0 < 512 then state = 1 counter = -interval / 2 digit = -1 code = 0 end else counter = counter + 1 if counter % interval == 0 then if digit < wordlen then if p0 > 512 then code = code + (1 << digit) end digit = digit + 1 else state = 0 result = code callsub use_result end end end prox p1 0 prox.ground.delta[1] steer 0 / 1 - 1 p1 1 512 1 3 motor.left.target 0 + 1 speed 1 steer motor.right.target 0 - 1 speed 1 steer p0 0 prox.ground.delta[0] TRUE EQ 0 state 0 0 TRUE LT 0 p0 0 512 state 0 1 counter 0 / 1 - interval 1 2 digit 0 -1 code 0 counter 0 + 1 counter 1 TRUE EQ 0 % 1 counter 1 interval 0 TRUE LT 0 digit 0 wordlen TRUE GT 0 p0 0 512 code 0 + 1 code 1 << 1 1 digit digit 0 + 1 digit 1 state 0 0 result 0 code speed 0 115 interval 0 5 wordlen 0 3 use_result Put your application here!