极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13387|回复: 3

一个能用的两路红外管循迹的代码

[复制链接]
发表于 2014-8-31 00:23:06 | 显示全部楼层 |阅读模式
代码和解释很详细了,如下(代码效率不高,新手请轻拍):
int XJLeft=11;  //设置循迹传感器IO口为11和7
int XJRight=7;
int XL;         //设置变量XL,XR存储循迹传感器状态
int XR;
int Ena;        //用来设置直流电机ENa和ENb的转速
int Enb;
int ENa=6;      //设置右电机PWM口为6
int in1=8;
int in2=9;
int ENb=10;     //设置左电机PWM口为10
int in3=12;
int in4=13;
void setup()
{
  Serial.begin(9600);//波特率为9600
  pinMode(XJLeft,INPUT);//设置XJLeft、XJRight为输入端口
  pinMode(XJRight,INPUT);
  pinMode(in1,OUTPUT);//设置电机所有端口为输出端口
  pinMode(in2,OUTPUT);
  pinMode(in3,OUTPUT);
  pinMode(in4,OUTPUT);
  pinMode(ENa,OUTPUT);
  pinMode(ENb,OUTPUT);
  car_S();             //定义小车初始状态为停止
}
void car_A()           //小车直行
{
  analogWrite(ENa,Ena);
  analogWrite(ENb,Enb);
  digitalWrite(in1,0);
  digitalWrite(in2,1);
  digitalWrite(in3,0);
  digitalWrite(in4,1);
}
void car_S()          //小车停止
{
  analogWrite(ENa,0);
  analogWrite(ENb,0);
  digitalWrite(in1,1);
  digitalWrite(in2,0);
  digitalWrite(in3,1);
  digitalWrite(in4,0);
}
void car_R()          //小车右转
{
  analogWrite(ENa,Ena);
  analogWrite(ENb,Enb);
  digitalWrite(in1,0);
  digitalWrite(in2,1);
  digitalWrite(in3,0);
  digitalWrite(in4,1);
}
void car_L()           //小车左转
{
  analogWrite(ENa,Ena);
  analogWrite(ENb,Enb);
  digitalWrite(in1,0);
  digitalWrite(in2,1);
  digitalWrite(in3,0);
  digitalWrite(in4,1);
}
void loop()
{
/*循迹*/
  for(int i;i<10000;i++)
  {
    XL=digitalRead(XJLeft);//读出左传感器状态
    XR=digitalRead(XJRight);//读出右传感器状态
    if(XL==LOW&&XR==LOW)   //左右都是低电平,直行
    {
      Ena=160;             //调速
      Enb=130;
      car_A();             //直行
      delay(800);
    }
    if(XL==HIGH&&XR==LOW)  //左边是高电平,右边是低电平,左转
    {
      Ena=150;             //调速
      Enb=110;   
      car_L();             //左转
      delay(800);
    }
    if(XL==LOW&&XR==HIGH)  //左边是低电平,右边是高电平,右转
    {
      Ena=120;             //调速
      Enb=140;
      car_R();             //右转
      delay(800);
    }
  }
}
回复

使用道具 举报

发表于 2015-4-23 10:57:14 | 显示全部楼层
好啊,学习了
回复 支持 反对

使用道具 举报

发表于 2015-6-18 21:52:53 | 显示全部楼层
有图有视频木有?有的话就更好了~~
回复 支持 反对

使用道具 举报

发表于 2015-6-19 10:22:31 | 显示全部楼层
马克
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-30 10:18 , Processed in 0.045346 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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