version 2.01 platform ollo o // param_text:Title- 3rd teaching program chapter 4 example (Electric Guitar) 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: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:Distance of stroke o load param_dest:var:Stroke param_src:dec_num:200 - o while(1) o begin o // param_text:If an object has come within the distance of stroke detection, o if param_src:aux_ir:4 lop:> param_src:var:Stroke rop:then o begin o // param_text:It will play scales when the stroke is detected one more time. o wait param_src:aux_ir:4 lop:> param_src:var:Stroke rop:then o load param_dest:cm:55 param_src:buzzertime_num:1 o load param_dest:var:Scale param_src:aux_ir:3 - o // param_text:The high and low levels of scales will be decided up to the detecting distance. o if param_src:var:Scale lop:>= param_src:dec_num:205 rop:then o begin o load param_dest:cm:54 param_src:scale_num:15 o end o elseif param_src:var:Scale lop:>= param_src:dec_num:170 rop:then o begin o load param_dest:cm:54 param_src:scale_num:14 o end o elseif param_src:var:Scale lop:>= param_src:dec_num:140 rop:then o begin o load param_dest:cm:54 param_src:scale_num:12 o end o elseif param_src:var:Scale lop:>= param_src:dec_num:100 rop:then o begin o load param_dest:cm:54 param_src:scale_num:10 o end o elseif param_src:var:Scale lop:>= param_src:dec_num:50 rop:then o begin o load param_dest:cm:54 param_src:scale_num:8 o end o elseif param_src:var:Scale lop:>= param_src:dec_num:25 rop:then o begin o load param_dest:cm:54 param_src:scale_num:7 o end o elseif param_src:var:Scale lop:>= param_src:dec_num:15 rop:then o begin o load param_dest:cm:54 param_src:scale_num:5 o end o else o begin o load param_dest:cm:54 param_src:scale_num:3 o end o call faddr_dest:Vibration o end o end o end - o function faddr_src:Vibration o begin o load param_dest:aux_motor:1 param_src:dir_num:700 o load param_dest:cm:33 param_src:timer_num:1 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 end