1、接线
网上购买的小车
out1、out2连接马达1,out3、out4连接马达2;(out1、out2可以先不分正负,之后在左右转的时候尝试调整)
Logic Input
IN1--8
IN2--9
IN3--6
IN4--7
A Enable和B Enable
这两个可以先不用管,是调速用的,具体教程可以参考下一篇
![1314054-9a54c755c6ee1d3c.png](https://img-blog.csdnimg.cn/img_convert/9aa0ef820540e94856dd65c064ea8a25.png)
2、代码
int input1=8;// 定义pin 8 向 input1 输出
int input2=9;// 定义pin 9向 input2 输出
int input3=6;// 定义pin 6向 input3 输出
int input4=7;// 定义pin 7 向 input4 输出
void setup() {
// Serial.begin (9600);
//初始化各IO,模式为OUTPUT 输出模式
pinMode(input1,OUTPUT);
pinMode(input2,OUTPUT);
pinMode(input3,OUTPUT);
pinMode(input4,OUTPUT);
}
void loop() {
//forward 向前转
digitalWrite(input1,HIGH);//给高电平
digitalWrite(input2,LOW);//给低电平
digitalWrite(input3,HIGH);//给高电平
digitalWrite(input4,LOW);//给低电平
delay(100);//延时100毫秒
//stop 停止
digitalWrite(input1,LOW);
digitalWrite(input2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,LOW);
delay(500);//延时0.5秒
//back 向后转
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(100);
//back 向右转
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
digitalWrite(input3,HIGH);
digitalWrite(input4,LOW);
delay(100); //延时100毫秒
//左转
digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(100); //延时100毫秒
}
说明
建议先试运行前进和后退,如果可以前进或后退,则前进后退代码没有错误;
之后运行左转和右转,判断左右转是否写反了,如果写反,直接颠倒过来就可以了
3、最终效果
![1314054-149e274b136e010f.png](https://img-blog.csdnimg.cn/img_convert/481f00169962433f844b65259af272c8.png)
![1314054-c25f692b2bbf0523.png](https://img-blog.csdnimg.cn/img_convert/3251e517f0b08341f8485604e822bebf.png)
4、说明
这篇教程可以实现小车运动,但还不能调速,调速见下一篇
end