话说我很久都没有发教程了,不知道大家都发飙了没有 废话不多说,上代码 前面学了那么多知识,先试着读懂上面的代码 试着回答下面的问题 1、sensorSoundDB是什么意思,代表什么,有什么用 2、程序一开始为什么使用wait1Msec(1000)语句 DB大家都懂了,是声音的强度的单位,在这里规定声音传感器检测的声音强度以DB为单位 程序一开始使用等待语句是为了使程序稳定下来 把这两个问题弄清楚后就不难弄懂整段程序意思,机器人会执行什么动作 - #pragma config(Sensor, S2, soundSensor, sensorSoundDB)
- #pragma config(Sensor, S1, touchSensor, sensorTouch)
- task main()
- {
- ClearTimer(T2);
- while(time1[T2]<5000)
- {
- motor[motorA]=SensorValue[soundSensor];
- motor[motorC]=SensorValue[soundSensor];
- }
- wait1Msec(1000);
- while(time1[T2]>5000)
- {
- if(SensorValue[touchSensor]==0)
- {
- motor[motorA]=100;
- motor[motorC]=100;
- }
- if(SensorValue[touchSensor]==1)
- {
- motor[motorA]=0;
- motor[motorC]=0;
- if(SensorValue[touchSensor]==0)
- {
- StopAllTasks();
- }
- }
- }
- }
复制代码 上面是一段代码,复制到RobotC的命令栏,然后在把他整齐的排列,你就知道整段程序的意思
这里面要说的是time1[T2]
表示 第二个时间,是以1s为单位的时间
还有就是StopAllTasks();语句
表示停止所有函数任务
试着把它烧到NXT里,执行任务
有助于理解语句
做个随堂测试,只用发代码上来就好啦 使用声音传感器(S2,单位为Db),以声音的大小控制马达的功率
|