标题: Arduino与L298N驱动2个直流电机实现正转,反转的资料与源码 [打印本页]

作者: 脱发的程序员    时间: 2018-4-15 13:13
标题: Arduino与L298N驱动2个直流电机实现正转,反转的资料与源码
L298N驱动模块,可以驱动2个直流电机,可分别实现正转,反转功能.

Bom表

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


Arduino uno + L298N 驱动模块接线


注意:如果电压不够,电机有可能不会转哦,所以要外置7V-12V电源.


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

  1. //LingShun Lab

  2. int input1 = 5; // 定义uno的pin 5 向 input1 输出
  3. int input2 = 6; // 定义uno的pin 6 向 input2 输出
  4. int input3 = 9; // 定义uno的pin 9 向 input3 输出
  5. int input4 = 10; // 定义uno的pin 10 向 input4 输出



  6. void setup() {
  7. //  Serial.begin (9600);
  8. //初始化各IO,模式为OUTPUT 输出模式
  9. pinMode(input1,OUTPUT);
  10. pinMode(input2,OUTPUT);
  11. pinMode(input3,OUTPUT);
  12. pinMode(input4,OUTPUT);

  13. }

  14. void loop() {
  15.   //forward 向前转
  16.   digitalWrite(input1,HIGH); //给高电平
  17.   digitalWrite(input2,LOW);  //给低电平
  18.   digitalWrite(input3,HIGH); //给高电平
  19.   digitalWrite(input4,LOW);  //给低电平
  20.   delay(1000);   //延时1秒

  21. //stop 停止
  22. digitalWrite(input1,LOW);
  23. digitalWrite(input2,LOW);  
  24. digitalWrite(input3,LOW);
  25. digitalWrite(input4,LOW);  
  26. delay(500);  //延时0.5秒

  27.   
  28.   //back 向后转
  29.   digitalWrite(input1,LOW);
  30.   digitalWrite(input2,HIGH);  
  31.   digitalWrite(input3,LOW);
  32.   digitalWrite(input4,HIGH);  
  33.   delay(1000);   

  34. }
复制代码







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1