version 3.00 cm_version 2.0 platform CM-150 o // param_text:标题:第三阶段 电吉他 例子程序 o // param_text:最初发布:2014/01/03 o // param_text:最后修改:2014/01/03 o // param_text:[使用方法] o // param_text:机器人按照传感器的结果运行。 o main o begin o // param_text:开始时演奏乐器。 o load param_dest:cm:18 param_src:buzzertime_num:255 o load param_dest:cm:17 param_src:melody_num:3 o wait param_src:cm:18 lop:> param_src:buzzertime_num:0 rop:then - o // param_text:弦检测距离(值越大,靠近才能拨动弦)。 o load param_dest:var:弦 param_src:dec_num:50 - o while(1) o begin o // param_text:如果在弦检测距离以内出现物体.. o if param_src:aux:4:63 lop:> param_src:var:弦 rop:then o begin o // param_text:在物体离开弦检测范围后重新回到检测范围时演奏音阶。 o wait param_src:aux:4:63 lop:> param_src:var:弦 rop:then o load param_dest:cm:18 param_src:buzzertime_num:1 o load param_dest:var:音阶 param_src:aux:3:63 - o // param_text:连接到4号端口的红外线传感器会根据检测值判断音阶的高低。 o if param_src:var:音阶 lop:>= param_src:dec_num:300 rop:then o begin o load param_dest:cm:17 param_src:scale_num:14 o end o elseif param_src:var:音阶 lop:>= param_src:dec_num:200 rop:then o begin o load param_dest:cm:17 param_src:scale_num:12 o end o elseif param_src:var:音阶 lop:>= param_src:dec_num:130 rop:then o begin o load param_dest:cm:17 param_src:scale_num:10 o end o elseif param_src:var:音阶 lop:>= param_src:dec_num:90 rop:then o begin o load param_dest:cm:17 param_src:scale_num:8 o end o elseif param_src:var:音阶 lop:>= param_src:dec_num:70 rop:then o begin o load param_dest:cm:17 param_src:scale_num:7 o end o elseif param_src:var:音阶 lop:>= param_src:dec_num:40 rop:then o begin o load param_dest:cm:17 param_src:scale_num:5 o end o else o begin o load param_dest:cm:17 param_src:scale_num:3 o end o call faddr_dest:震动 o end o end o end - o // param_text:以防连错端口,两个端口都用上。 o function faddr_src:震动 o begin o load param_dest:aux:1:68 param_src:dir_num:700 o load param_dest:aux:2:68 param_src:dir_num:700 o load param_dest:cm:5 param_src:timer_num:1 o wait param_src:cm:5 lop:> param_src:timer_num:0 rop:then o load param_dest:aux:1:68 param_src:dir_num:0 o load param_dest:aux:2:68 param_src:dir_num:0