version 2.01 platform ollo o // param_text:Title- 3rd teaching program chapter example (Bump car) 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 main o begin o // param_text:If you press the start button for more than 9 times, it will enter into the test mode. o if param_src:cm:57 lop:>= param_src:dec_num:9 rop:then o call faddr_dest:TestMode - 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 // param_text:Please control the moving speed by changing the below value. o load param_dest:var:MovingSpeed param_src:dec_num:800 - o while(1) o begin o if param_src:aux_touch:4 lop:== param_src:bool_num:1 rop:&& param_src:aux_touch:3 lop:== param_src:bool_num:0 rop:then o begin o // param_text:When an object is detected from a right touch sensor, it will back off first and start to go left. o call faddr_dest:Backward o call faddr_dest:TurnLeft o call faddr_dest:Forward o end o elseif param_src:aux_touch:4 lop:== param_src:bool_num:0 rop:&& param_src:aux_touch:3 lop:== param_src:bool_num:1 rop:then o begin o // param_text:When an object is detected from a left touch sensor, it will back off first and start to go right. o call faddr_dest:Backward o call faddr_dest:TurnRight o call faddr_dest:Forward o end o elseif param_src:aux_touch:4 lop:== param_src:bool_num:1 rop:&& param_src:aux_touch:3 lop:== param_src:bool_num:1 rop:then o begin o // param_text:When an object is detected from both left and right sides, it will back off first and go straight again. o call faddr_dest:Backward o call faddr_dest:Forward o end o else o begin o // param_text:It will go straight for other cases. o call faddr_dest:Forward o end o end o end - o function faddr_src:Forward o begin o compute param_dest:aux_motor:1 param_src:dir_num:0 aop:+ param_src:var:MovingSpeed o compute param_dest:aux_motor:2 param_src:dir_num:1024 aop:+ param_src:var:MovingSpeed o end - o function faddr_src:Backward o begin o compute param_dest:aux_motor:1 param_src:dir_num:1024 aop:+ param_src:var:MovingSpeed o compute param_dest:aux_motor:2 param_src:dir_num:0 aop:+ param_src:var:MovingSpeed o call faddr_dest:ShortWait o end - o function faddr_src:TurnLeft o begin o compute param_dest:aux_motor:1 param_src:dir_num:1024 aop:+ param_src:var:MovingSpeed o compute param_dest:aux_motor:2 param_src:dir_num:1024 aop:+ param_src:var:MovingSpeed o call faddr_dest:ShortWait o end - o function faddr_src:TurnRight o begin o compute param_dest:aux_motor:1 param_src:dir_num:0 aop:+ param_src:var:MovingSpeed o compute param_dest:aux_motor:2 param_src:dir_num:0 aop:+ param_src:var:MovingSpeed o call faddr_dest:ShortWait o end - o function faddr_src:ShortWait o begin o load param_dest:cm:33 param_src:timer_num:3 o wait param_src:cm:33 lop:> param_src:timer_num:0 rop:then o end - o function faddr_src:TestMode o begin o load param_dest:cm:55 param_src:buzzertime_num:255 o load param_dest:cm:54 param_src:melody_num:12 o wait param_src:cm:55 lop:> param_src:buzzertime_num:0 rop:then - o while(1) o begin o if param_src:aux_touch:3 lop:== param_src:bool_num:1 rop:then o load param_dest:aux_motor:1 param_src:dir_num:600 o else o load param_dest:aux_motor:1 param_src:dir_num:0 - o if param_src:aux_touch:4 lop:== param_src:bool_num:1 rop:then o load param_dest:aux_motor:2 param_src:dir_num:1624 o else o load param_dest:aux_motor:2 param_src:dir_num:0 o end o end í