找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 11152|回复: 6

[RobotC]触碰传感器----感知的开始

  [复制链接]
发表于 2013-7-23 15:28:30 | 显示全部楼层 |阅读模式
上节课我们讲了马达的使用,不知道童鞋们的作业完成没。希望你是完成了。
今天我们先将第一个传感器----触碰传感器
还是来背背英文
touch         触摸
sensor         传感器
pragma         编译的指示
config         配置
SensorValue    传感器的读值
while          当··· ···时
童鞋们,函数我就不一一找出来了,况且有些是直接写的,要找的话你们慢慢翻吧,我都翻到晕了。最多就是我无聊的时候,翻一翻函数库,看看函数怎么使用罢了。
下面讲一下定义传感器位置(以触碰传感器为例):
#pragma config(Sensor, S1,     touchSensor,         sensorTouch)
#是一定要打的
pragma config 表示编译配置的指示
sensor使用传感器
S1 表示传感器使用在1端口
touchSensor 传感器名称
sensorTouch 定义触碰传感器
当然const tSensors touchSensor          = (tSensors) S1;这样的语句也可以定义触碰传感器,整句一定要打完!打完!
我第一次写的时候只写了“=”前的语句。以为前后是等效的
所以你要写完~~写完!
以后这个步骤叫做定义···(什么)传感器
这个最好写在程序的开头
Task main的函数之前
像这样:
QQ截图20130717085520.png
再讲一下
当触碰传感器被按下是读值为1
当触碰传感器未按下时读值为0
QQ截图20130717085856.png
试着读懂上面的程序,刚刚前面讲了那么多,这段程序应该你不难读懂
    while(SensorValue(touchSensor)== 0)
{
}
应该是这一段比较难读懂
上面说过SensorValue是传感器的读值
那么SensorValue(touchSensor)的意思是触碰传感器的读值
整段语句的意思是说
当触碰传感器的读值为0时执行{ }里面的语句
再看看下面的程序
QQ截图20130717091128.png
之中
int 是定义的整数形函数
randTime 是随机时间
int randTime是定义整形的时间
if 是如果的意思
randTime = random(2000); 表示随机事件的范围为0-2000Ms
现在布置一下作业:
还是上次那一部小车在他前方装上触碰传感器(水平放置)
让小车前进,直到撞墙,然后后退2s再向右转,再直到撞墙,停止
跟上次的规则一样,不要抄作业哦~~~你抄作业我也不反对。
还是发代码、发视频。加油,我看好你能学好RobotC

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
 楼主| 发表于 2013-7-24 11:03:17 | 显示全部楼层
哪有自己不顶自己的理由,沙发
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-7-24 19:14:09 | 显示全部楼层
非常支持楼主!不过现在关于robotc 的教程,除了官网上的英文版外,还有一个郑剑春编的《robotc与机器人程序设计》,据称是首个正式出版的中文robotc教程。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2013-7-25 08:07:11 | 显示全部楼层
斯螽动股 发表于 2013-7-24 19:14
非常支持楼主!不过现在关于robotc 的教程,除了官网上的英文版外,还有一个郑剑春编的《robotc与机器人程 ...

没错,但是我觉得大家一般都不会去买书,然后呢我再把语言写的更易懂些,这样不就更好了嘛
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-7-25 13:43:49 | 显示全部楼层
多亏了会C语言,不会的连ROBOTC都用不了,支持LZ以后多出教程,毕竟多数人没有基础
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-10-11 08:14:15 | 显示全部楼层
支持楼主多出教程!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-2-21 21:00:38 | 显示全部楼层
本帖最后由 哈哈,你好 于 2017-2-21 21:19 编辑
  1. #pragma config(Sensor, S1,     touchSensor,         sensorTouch)
  2. task main()
  3. {

  4. while(SensorValue(touchSensor)== 0)
  5. {
  6. int gonglv;
  7. gonglv=random(100);
  8. motor[motorB]=gonglv;
  9. motor[motorC]=gonglv;

  10. }

  11. motor[motorB]=-75;
  12. motor[motorC]=-75;
  13. wait1Msec(2000);
  14. motor[motorB]=-75;
  15. motor[motorC]=75;
  16. wait1Msec(620);
  17. while(SensorValue(touchSensor)== 0)
  18. {
  19. int gonglv;
  20. gonglv=random(100);
  21. motor[motorB]=gonglv;
  22. motor[motorC]=gonglv;

  23. }

  24. motor[motorB]=0;
  25. motor[motorC]=0;


  26. }
复制代码



如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-12-22 10:59 , Processed in 0.248453 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表