实例效果
使用L298N驱动模块,驱动2个直流电机,可分别实现正转,反转功能。
元件说明
主要功能是2路驱动直流电机。
模块名称 | 双H桥电机驱动模块 | 工作模式 | H桥驱动(双路) |
---|---|---|---|
主控芯片 | L298N | 包装形式 | 9个盒装出货 |
逻辑电压 | 5V | 驱动电压 | 5V-35V |
逻辑电流 | 0mA-36mA | 驱动电流 | 2A(MAX单桥) |
存储温度 | -20℃ 到 +135℃ | 最大功率 | 25W |
重量 | 30g | 外围尺寸 | 434327mm |
★ 本模块使用L298N作为主驱动芯片,具有驱动能力强,发热量低,抗干扰能力强的特点。
★ 本模块可以使用内置的78M05通过驱动电源部分取电工作,但是为了避免稳压芯片损坏,当使用大于12V驱动电压的时候,请使用外置的5V逻辑供电。
★ 本模块使用大容量滤波电容,续流保护二极管,可以提高可靠性。
引脚说明
BOM表
Arduino UNO | x 1 | |
---|---|---|
L298N驱动模块 | x 1 | |
直流电机 | x 2 | |
9V电池 | x1 | |
USB数据线 | x 1 | |
跳线 | 若干 |
接线
注意:如果电压不够,电机有可能不会转哦,所以要外置7V-12V电源。
程序代码
把程序上传到主板上,接上外部电源,电机就转起来了。
这里选用IO口(引脚)为5,6,9,10,这四个均支持PWM的IO口,
可以通过占空比代码实现控制转动速度的快慢。
//LingShun Lab
int input1 = 5; // 定义uno的pin 5 向 input1 输出
int input2 = 6; // 定义uno的pin 6 向 input2 输出
int input3 = 9; // 定义uno的pin 9 向 input3 输出
int input4 = 10; // 定义uno的pin 10 向 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(1000); //延时1秒
//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(1000);
}
本实例打包下载地址: