小猪学arduino—使用L298N控制两个直流电机

简介

L298N驱动模块,可以驱动2个直流电机,可分别实现正转,反转功能.

准备材料

Arduino Uno       * 1
L298N驱动模块   * 1
直流电机               * 2
18650电池            * 2
跳线                      若干

连线方法

注意:L298N必须外接6-12v电压及一定电流的外接电池,在这里被坑了好久,用普通的6v+电池外接时,不是只转一个轮子就是在拔掉电脑数据线后完全不转了,最后把外接电源换成两节18650电池后解决

程序代码

选用IO口为5,6,9,10,这四个均支持PWM,可以通过占空比代码实现控制转动速度的快慢

//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);      
  
}  

注意:我在电池的选择上困扰了好久,试了1.5v南孚串联、9v方块电池、充电宝、手机锂电池,最后发现使用两节18650电池不但电压和电流够用,而且充满电能用好久,以后搞arduino用这种电池就行了,所以看到此文的人就不要再入坑了。

yan 17.8.6 0:28

参考:http://blog.csdn.net/ling3ye/article/details/51351115

发表评论

电子邮件地址不会被公开。