第十享,电机驱动-L298N
如图
L298N,12V供电,可提供5V输出;四个输入引脚,IN1、IN2为一组,输入电平一高一低控制输出引脚OUT1、OUT2连接电机的正反转,另外一组同样。
电路连接图如下图
上代码
int IN1 = 5; //定义L298N四根数据引脚
int IN2 = 6;
int IN3 = 9;
int IN4 = 10;
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() { //两路一高一低,全速前进
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(2000);
digitalWrite(IN1, LOW); //两路全低,停停不要走
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(2000);
digitalWrite(IN1, LOW); //两路一低一高,全速后退
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(2000);
digitalWrite(IN1, LOW); //两路全低,停停不要走
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(2000);
analogWrite(IN1, 100); //PWM输出,可调速,0-255
analogWrite(IN2, LOW);
analogWrite(IN3, 100);
analogWrite(IN4, LOW);
delay(2000);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(2000);
}
可调速很重要,因为电机和减速箱会有出场误差,即使是全速,转速也是有差别的,可调节使其转速相同可以走直线。再者,跑太快会来不及刹车,表现出来会显得避障或循迹传感器有延迟,所以让他们跑慢点儿。同样,转弯的时候,可控制其一个正转一个反转,或一个快一个慢,使其平滑转弯。
上面的代码,看一下效果。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com