version 2.01 platform ollo o // param_text:Title : 2nd Imagine. Distance sensor example o // param_text:First Distribution : 2009/10/01 o // param_text:Last Modify : 2009/10/01 o // param_text:[Operating] o // param_text:Robot will move according to the sensor value. o // param_text:You can make a savings box or a business card case with this example. o main o begin o // param_text:It will play melody when it starts. o load param_dest:cm:55 param_src:buzzertime_num:255 o load param_dest:cm:54 param_src:melody_num:3 o wait param_src:cm:55 lop:> param_src:buzzertime_num:0 rop:then - o load param_dest:var:InitialDistanceValue param_src:cm:51 o load param_dest:var:ReferenceDistanceValue param_src:var:InitialDistanceValue o load param_dest:var:EventOccurred param_src:bool_num:0 - o // param_text:Can control the motor rotating time by changing the below value. o load param_dest:var:MotorRotatingTime param_src:timer_num:12 - o while(1) o begin o compute param_dest:var:DistanceGap param_src:var:ReferenceDistanceValue aop:- param_src:cm:51 o if param_src:var:DistanceGap lop:< param_src:dec_num:0 rop:then o compute param_dest:var:DistanceGap param_src:dec_num:0 aop:- param_src:var:DistanceGap - o if param_src:var:DistanceGap lop:> param_src:dec_num:200 rop:then o begin o if param_src:var:EventOccurred lop:== param_src:bool_num:0 rop:then o begin o load param_dest:var:ReferenceDistanceValue param_src:cm:51 o load param_dest:aux_motor:1 param_src:dir_num:1023 o load param_dest:aux_motor:2 param_src:dir_num:2047 o load param_dest:cm:33 param_src:var:MotorRotatingTime o wait param_src:cm:33 lop:> param_src:timer_num:0 rop:then o load param_dest:aux_motor:1 param_src:dir_num:0 o load param_dest:aux_motor:2 param_src:dir_num:1024 o load param_dest:var:EventOccurred param_src:bool_num:1 o end o else o begin o load param_dest:var:ReferenceDistanceValue param_src:var:InitialDistanceValue o load param_dest:var:EventOccurred param_src:bool_num:0 o end o end o end o end 7+