打印

关于循迹小车

[复制链接]
2412|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子边缘人|  楼主 | 2011-4-1 17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近协会里搞一次循迹小车竞赛,基本要求是:小车在规定的范围沿着黑线跑完整个赛道(赛道确定)。处理器不限。之前做了一些硬件电路,比如电源模块,红外循迹模块...红外循迹模块经软件调试效果还算不错。不过只是单个检测,放在小车上肯定不止一个。要考虑很多其他的问题。红外传感模块怎样布局才算精确??想听听大家的意见,以及循迹模块的一些编程思想?大家可以分享自己的意见,作为参考,感谢不尽。

相关帖子

沙发
chunyang| | 2011-4-2 01:01 | 只看该作者
放在车底盘下面即可,如果用多个传感器,最好选择带有外壳的反射式收发对管,高度尽量低些,角度要垂直就不会互扰了。

使用特权

评论回复
板凳
rclong| | 2011-4-2 12:19 | 只看该作者
楼主可以去参考历年来的飞思卡尔智能车比赛方案

使用特权

评论回复
地板
jisyu_cy| | 2011-5-22 14:06 | 只看该作者
用的是什么型号的红外管,

使用特权

评论回复
5
Black残| | 2013-7-31 20:47 | 只看该作者
直接贴一个,没用算法的循迹小车

#include <iom128v.h>
#include <macros.h>

#define uchar unsigned char
#define uint unsigned int

void delay_ms(int time)
{
int i;
for(;time>0;time--)
  for(i=0;i<1140;i++);
}

void InitDC(void)
{
    DDRE|=(BIT(0)|BIT(1)|BIT(2)|BIT(3));
    PORTE|=(BIT(0)|BIT(1)|BIT(2)|BIT(3));
}

void run(void)
{
    PORTE=0x96;
}

void behind(void)
{
    PORTE=0x69;
}

void right(void)
{
    PORTE=0xa5;
}

void left(void)
{
    PORTE=0x5a;
}

void stop(void)
{
    PORTE=0xff;
}

void scan_xunji(void)
{
  uchar j;
  j=PINB;
  j&=0x07;
  
  switch(j)
  {
    case 0x00: stop();  break;
    case 0x01: left();  break;
    case 0x02:          break;
    case 0x03: left();  break;
    case 0x04: right(); break;
    case 0x05: run();   break;
    case 0x06: right(); break;
    case 0x07: stop();   break;
    default:            break;
  }
  
}

void main(void)
{
  DDRB=0x00;
  PORTB=0xff;
  DDRE=0xff;
  PORTE=0xff;
  
  while(1)
  {
    scan_xunji();
  }
   
}


使用特权

评论回复
6
568581185| | 2013-7-31 21:05 | 只看该作者
可以用简单的几个红外传感器实现简单的黑线判断,根据黑线位置进行舵机转向控制就行了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

17

帖子

1

粉丝