找回密码
 马上注册

QQ登录

只需一步,快速开始

楼主: asdf

求一个沿黑线走机器人程序

 火... [复制链接]
发表于 2011-2-6 01:07:23 | 显示全部楼层
回复 grant7788 的帖子

刚才试了一下,程序跑死掉了。猜测是Firmware的问题,去download了一个BCC的那个lms_arm_nbcnxc_128.rfw,装上去,OK了。
不过用下来,颜色传感器的回传值还是只有1-6。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2011-2-6 01:11:45 | 显示全部楼层
回复 oalaio 的帖子
  1. // 取样时间
  2. #define dt 500

  3. // 定义颜色传感器
  4. #define COLORSENSOR SENSOR_2

  5. task main()
  6. {
  7. int error = 0;
  8. int i;
  9. float setpoint = 0;
  10. float actual_position = 0;

  11. // 开传感器
  12. // SetSensorColorFull(IN_2);
  13. SetSensorType(IN_2, SENSOR_TYPE_COLORFULL);
  14. SetSensorMode(IN_2, SENSOR_MODE_RAW);

  15. // 传感器在黑线上方为启示状态
  16. TextOut(1,LCD_LINE1,"Setpoint");
  17. setpoint = COLORSENSOR;
  18. NumOut(50,LCD_LINE1,setpoint);

  19. // 循环
  20. while (true)
  21.   {
  22.    // 读取传感器实施数值
  23.    actual_position = COLORSENSOR;
  24.    TextOut(1,LCD_LINE2,"Actual");
  25.    NumOut(50,LCD_LINE2,actual_position);
  26.    i++;

  27.    // 等待取样时间
  28.    Wait(dt);
  29.    }
  30. }
复制代码
我按你提供的代码,改了一个简单的只显示颜色传感器值的程序。实际上是,不论按你的程序,设成SetSensorColorFull(IN_2);
或是按我现在的程序,设成SetSensorMode(IN_2, SENSOR_MODE_RAW);
最后读回的值,都并非原始的光强值,而是颜色代码,1-6分别代表不同的颜色。
如果是在黑/白边界寻边的话,这个值就是在1, 6两个值间变换。用PID恐怕会有问题。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2011-2-11 09:44:01 | 显示全部楼层
http://www.nxtprograms.com/programs2/LineFollower.zip
把颜色传感器接到3口

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

使用道具 举报

发表于 2011-7-6 17:46:34 | 显示全部楼层
好好学习
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2011-7-12 13:40:11 | 显示全部楼层
用2.0的
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2011-12-21 15:17:58 | 显示全部楼层
试试看
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 15:36 , Processed in 0.266228 second(s), 17 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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