找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1199|回复: 0
打印 上一主题 下一主题
收起左侧

求教循迹小车,代码

[复制链接]
跳转到指定楼层
楼主
ID:516069 发表于 2019-4-26 08:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int IN1=5;
int IN2=6;//左轮
int IN3=9;
int IN4=10;//右轮
int outputValue = 0;
const int SensorLeft1=A1;//左感測器輸入腳
const int SensorLeft2=A2;
const int SensorRight1=A3;//右感測器輸入腳
const int SensorRight2=A4;
const int ENA=6;
const int ENB=5;
int SL1;
int SL2;//左感測器狀態
int SR1;
int SR2;//右感測器狀態
void setup() {
Serial.begin(9600);
pinMode(IN1,OUTPUT);
pinMode( IN2,OUTPUT);
pinMode( IN3,OUTPUT);
pinMode( IN4,OUTPUT);
pinMode(SensorLeft1,INPUT);
pinMode(SensorLeft2,INPUT);
pinMode(SensorRight1,INPUT);
pinMode(SensorRight2,INPUT);// put your setup code here, to run once:
}

void loop() {
digitalWrite(IN2,LOW);
digitalWrite(IN4,LOW);
SL1=digitalRead(SensorLeft1);
SL2=digitalRead(SensorLeft2);
SR1=digitalRead(SensorRight1);
SR2=digitalRead(SensorRight2);
if (SL1==HIGH &&SL2==HIGH&& SR1==HIGH&& SR2==HIGH)//前进
{delay(1);
analogWrite(ENA,100);
analogWrite(ENB,100);
digitalWrite( IN1,HIGH);
digitalWrite( IN2,LOW);//IN1左电机高电平正转
digitalWrite( IN3,HIGH);//IN3右电机高电平反转
digitalWrite( IN4,LOW);
}
else
if(SL1==HIGH&&SL2==HIGH&&SR1==LOW&&SR2==LOW)
{delay(1);
  analogWrite(ENA,50);
  analogWrite(ENB,50);
  digitalWrite(IN1,HIGH);
  digitalWrite(IN2,LOW);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
}
else
if(SL1==LOW&&SL2==LOW&&SR1==HIGH&&SR2==HIGH)
{delay(1);
  analogWrite(ENA,50);
  analogWrite(ENB,50);
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);
}
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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