var p1 var steer var speed var p0 var state var counter var interval var code var digit var result var wordlen var status var product #onevent startup interval = 5 wordlen=3 call sd.open(1000,status) if status == 0 then call sd.read(product,status) call sd.open(-1,status) else product=733 end speed = product / interval 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 sub use_result #put your actions here