响,值越小,声音越弱。
⑵ 操作:将“声音检测”模块移到流程图生成区,并连接在程序的相应位置。设置时,鼠标右键单击“声音检测”模块,在弹出的对话框中设置相应的参数。
⑶ 设置参数说明:
? 单功能模块 声音变量一:存储声音传感器检测值的变量。若要更换存储变量,鼠标左键单击该按钮,可选择其它变量。
? 带判断功能的模块 ① 声音变量一:功能同上
② 条件比较关系:设置左边的声音变量与右边的参数如何进行比较。
例: “声音变量一 > 50”代表声音检测值大于50,即检测到的声音比50更响(需要持续对机器人说话)的时候,条件判断成功,执行“是”一侧连接的模块;否则条件判断失败,执行“否”一侧连接的模块。
? ――系统时间―― 图标 模块 对话框
⑴ 功能:“时间”模块主要用于检测机器人运行的时间。程序开始运行,则计时开始。下载程序和按下复位键都会使时间恢复从零开始。
⑵ 操作:将“系统时间”模块移到流程图生成区,并连接在程序的相应位置。设置时,鼠标右键单击“系统时间”模块,在弹出的对话框中设置相应的参数。
⑶ 设置参数说明:
? 单功能模块
①“时间变量一”按钮:用来存储系统时间的变量,存放的是从程序开始到本次检测(该模块投入运行)为止的时间。若要更换存储变量,可点击它,选择其它变量。
? 带判断功能的模块
①“时间变量一”按钮:功能同上;
②条件比较关系:设置左边的时间变量与右边的参数如何进行比较。
例: “时间变量一 > 10.00”代表检测到的时间大于10秒的时候,条件判断成功,执行“是”一侧连接的模块;否则条件判断失败,执行“否”一侧连接的模块。
? ―― 转角检测 ――
36 图标 模块 对话框 编码器清零 编码器检测
⑴ 功能:检测左右轮子旋转的角度,并可用于编码计数器置零。传感器的返回值为计数器累加值。轮子转一圈,有33个计数脉冲,一个计数脉冲对应旋转角度360/33≈11度。光电编码器采用的是16位计数器,最大计数65535个脉冲,计数器溢出后自动复位为0,并且从头开始计数。在编程时应注意这个特性。
⑵ 操作:将“转角检测”模块移到流程图生成区,并连接在程序的相应位置。设置时,右击“转角检测”模块,在弹出的对话框中设置参数。
⑶ 设置参数说明:
37 单功能模块 ①检测对象: 左 右 检测左轮转角 检测右轮转角
②功能选择:可用来检测编码器值,即检测转角;也可以进行编码器清零,即令编码计数器的值恢复为零,从头开始计数。
③“转角变量一”按钮:用来存储编码器计数值的变量。若要更换存储变量,可点击它,可选择其它变量 。
? 带判断功能的模块
①检测对象:功能同上
②条件比较关系:设置左边的转角变量与右边的参数如何进行比较。
注:以上过程不可逆,即先设置“编码器清零”后,不能重新设置为“编码器检测”。同样如先选择为“编码器检测”,则不能重新设置为“编码器清零”。
? 控制模块库
程序结构一般是由顺序结构、循环结构、选择结构这三种结构组成。在编写程序过程中,最基本的结构是顺序结构,即从上往下依次执行。当遇到一组模块需要重复执行时,就可以使用循环结构,按照指定方式重复执行。选择结构是在程序执行时,根据设置的判断条件,在两组模块中选择一组执行。灵活使用这三种结构,可以提高编程的效率,使程序清晰明了。
VJC1.6在控制模块库中提供了四种控制模块,分别为:“多次循环”、“永远循环”、“条件循环”和“条件判断”模块。用它们可以实现循环结构和选择结构。
? ――多次循环――
图标 模块 对话框
(1)功能:“多次循环”模块允许多次执行同一组指令。
(2)操作:将“多次循环”模块移到流程图生成区,并连接在程序的相应位置。设置时,右击“多次循环”模块,在弹出的对话框中输入循环次数,然后点“确定”。接下来在循环体中插入需重复处理的其它模块。
(3)范例:让机器人连续唱do re mi 三次。操作如下,如图所示:
a) 先将“多次循环”模块移到流程图生成区,与主程序相连,设置循环次数为3; b) 再将“发音”模块移入到循环体内部,进行设置;
38 c) 再将“结束”模块连接在循环体外,程序的末尾。 运行结果:机器人连续唱do re mi 三次。
图 多次循环范例
? ――永远循环――
图标 模块 对话框 无设置对话框
(1) 功能:“永远循环”模块永远执行循环体内的同一组指令。
(2) 操作:将“永远循环”模块移到流程图生成区,并连接在程序中,在循环体中
插入需要永远循环处理的模块。
(3) 范例:如果机器人检测到碰撞,就发音,如图所示:
a) 先将“永远循环”模块移到流程图生成区,与主程序相连;
b) 再将“碰撞检测”模块移入到循环体内部,进行条件判断设置,如图右上图所
示:
c) 再将“发音”模块移入到碰撞检测的模块中,进行设置,如图右下图所示: d) 再将“结束”模块连接在循环体外,程序的末尾。 运行结果:按一按机器人的碰撞环,机器人就发出声音。
39
图 永远循环
? ――条件循环――
图标 模块 对话框 (1)功能:当设定的判断条件成立,就重复执行循环体。一旦条件不成立,就退出循环。
(2)操作:将“条件循环”模块移到流程图生成区,并连接在程序的相应位置。设置时,右击“条件循环”模块,在弹出的对话框中输入判断条件,然后点“确定”。接下来在循环体中插入需重复处理的其它模块。
(3)范例:在周围很安静的情况下,机器人一直重复进行声音检测。你一旦发出响一点的声音,机器人就开始运动,如图所示:
a) 先将“条件循环”模块移到流程图生成区,与主程序相连; b) 在模块上点击右键进行设置,在“整形变量一”处点击,就会出现变量百宝箱,
点击声音图标,然后选择“声音变量一”(如图右上图所示),确定后,再按照图右下图设置条件;
c) 接着将“声音检测”模块移入到循环体内部;
d) 然后将“直行”模块放在循环体外,设置速度和时间; e) 最后将“结束”模块连接在程序的末尾。
40