卡卡西 发表于 2016-6-11 17:08:12

小车走迷宫


int in1=2;
int in2=4;
int in3=6;
int in4=7;
int ena=3;
int enb=5;
//定义针脚
const int TrigPin = 2;
const int EchoPin = 3;
float cm;
void setup()
{
//定义输入输出
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
pinMode(ena,OUTPUT);
pinMode(enb,OUTPUT);
Serial.begin(9600);
//初始化所有针脚
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
//定义发射接受针脚,并初始化串口显示
}
void loop()
{
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);

cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
cm = (int(cm * 100.0)) / 100.0; //保留两位小数
if(cm<=5);
{
zuo();
}
//定义:如果超声波显示小于5厘米,那就向左转
if(cm>5);
{
qian();
}
//定义:如果超声波显示大于5厘米,那就前进
}
//另外的定义前进语句
void qian()
{
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
digitalWrite(ena,HIGH);
digitalWrite(enb,HIGH);
}
//另外的向right转语句
void zuo()
{
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
digitalWrite(ena,HIGH);
digitalWrite(enb,LOW);
}
页: [1]
查看完整版本: 小车走迷宫