arduino做的小车,传感器-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2875|回复: 3

[已解决] arduino做的小车,传感器

[复制链接]
发表于 2014-3-17 09:06 | 显示全部楼层 |阅读模式
#define uchar unsigned char
uchar sum,n;
int start_pin = 36,pin_l=14,pin_r=15;
int i,j,k,l;
int valtab[] ={3,2,1,4,5,6},table[6];
void setup()
{
  for(i=start_pin,l=start_pin + 6;i<l;i++)
     {pinMode(i,OUTPUT);}
  pinMode(pin_l,INPUT);
  pinMode(pin_r,INPUT);
  for(i=9;i<13;i++)
  {
      pinMode(i,OUTPUT);
  }
}
void loop()
{
   caiji();
}
void caiji()
{
  for(i=start_pin,j=0,k = i + 3,l = k + 3;i<l;i++)
   {
      digitalWrite(i,LOW);
      delay(10);
      if(i<k){
        if(digitalRead(pin_l)) table[j]=valtab[j]; else table[j]=0;
      }else{
        if(digitalRead(pin_r)) table[j]=valtab[j]; else table[j]=0;
      }
      j++;
      if(j==6)
      {
      sum=table[0]+table[1]+table[2]+table[3]+table[4]+table[5];
      switch(sum)
         {  
           case 1: motor(9,10,11,12,50,50);break;
           case 4: motor(10,9,12,11,50,50);break;
         }
      }
      
   }
   
}
void motor(uchar IN1,uchar IN2, uchar IN3,uchar IN4,uchar a,uchar b)
{
    analogWrite(IN1,a);
    analogWrite(IN2,0);
    analogWrite(IN3,b);
    analogWrite(IN2,0);
}
这个是我们写的程序,只测试了中间两个,一个检测到的让电机正转,另一个检测到的话,让电机反转,用的是直流减速电机,不过中间两个分别检测到的时候,它都出现过正反转,而且总感觉它反应的有点慢,求大虾们指点一下

 楼主| 发表于 2014-3-17 15:28 | 显示全部楼层
补充一句,我们用的是激光传感器
发表于 2014-3-18 12:29 | 显示全部楼层
o ~是吗  好神奇的那~~骗回复哦也
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-4 17:35 , Processed in 0.072918 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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