Arduino UNO+L298驱动直流电机正反转+Proteus仿真

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino UNO+L298驱动直流电机正反转+Proteus仿真相关的知识,希望对你有一定的参考价值。

Arduino UNO + L298驱动直流电机正反转+Proteus仿真


  • Proteus仿真
  • Proteus接线图

实例代码

//任务:通过按钮控制电机启停和正反转,通过电位计调节电机转速。
int K1=5;  //把K1(正转)按钮连在数字端口5
int K2=6;  //把K2(反转)按钮连在数字端口6
int K3=7;  //把K3(停止)按钮连在数字端口7
int potpin = A3; // 把电位计连在模拟端口A3
int A=2;  //数字端口2、3控制电机启停和转向
int B=3;  
int PWMpin = 9; // 数字端口9输出PWM信号,控制电机转速
//初始化 
void setup() 
{
  pinMode(K1,INPUT);//把数字端口5、6、7设置输入模式
  pinMode(K2,INPUT);
  pinMode(K2,INPUT);
  pinMode(A,OUTPUT);//把数字端口2、3设置输入模式
  pinMode(B,OUTPUT);
}
//主程序 
void loop() 
{
  //如果按下K1(正转)按钮
 if(digitalRead(K1)==LOW)
 {
  //电机正转
  digitalWrite(A,HIGH);
  digitalWrite(B,LOW);
 }
 //如果按下K2(反转)按钮
 if(digitalRead(K2)==LOW)
 {
  //电机反转
  digitalWrite(A,LOW);
  digitalWrite(B,HIGH);
 }
 //如果按下K3(停止)按钮
 if(digitalRead(K3)==LOW)
 {
  //电机停止
  digitalWrite(A,LOW);
  digitalWrite(B,LOW);
 }
 int sensorValue = analogRead(potpin); //读取电位计采样值   
 sensorValue = sensorValue/4; // 采样值 0-1024 转换为 0-255
 analogWrite(PWMpin, sensorValue);//把处理后的转换值以PWM信号形式输出
 delay(20);//延时
}

添加hex文件保存路径或者选择导出二进制文件

  • 方式一:添加hex文件保存路径
  • 方式二:选择导出二进制文件
  • 选择带驱动的hex文件加载到Proteus里面
  • Proteus加载带BootLoader的Hex文件。

实例代码和仿真资源

链接:https://pan.baidu.com/s/1Omq8WtfyibIYoeiEGlQCDQ 
提取码:rem4

以上是关于Arduino UNO+L298驱动直流电机正反转+Proteus仿真的主要内容,如果未能解决你的问题,请参考以下文章

blinker控制步进电机起保停,正反转,加减速(Arduino uno+esp8266+TB6600驱动器)

Arduino Uno+步进电机28BYJ-48+ULN2003 实现简单的正反转demo

Arduino UNO利用电位器模拟输量输入控制步进电机调速

Arduino L298N模块驱动有刷直流电机或 步进电机

Proteus仿真Arduino UNO驱动直流有刷电机转动实验

外部按键中断精准控制步进电机起保停,正反转,加减速Arduino+TB6600驱动器)