黄工无刷电机学习
直播中

张伟

7年用户 1616经验值
私信 关注
[问答]

萌新求助,求大佬分享一个arduino控制电机正反转的仿真

萌新求助,求大佬分享一个arduino控制电机正反转的仿真

回帖(1)

刘秀英

2021-10-14 10:56:01
前面的仿真都是基本框架的,仅仅实现了一个最基础的Blink的实验,如果说在proteus中我们仿真仅仅停留在闪灯上面,那么就算是浪费了这个强大的软件了。本篇博文我们尝试做一个arduino控制电机正反转的仿真。
一、仿真硬件准备
1、找到主芯片Atmega328P及L298










2、配置好端口及辅助元器件





二、代码编写

//任务:通过按钮控制电机启停和正反转,通过电位计调节电机转速。
int K1=5;  //把K1(正转)按钮连在数字端口5
int K2=6;  //把K2(反转)按钮连在数字端口6
int K3=7;  //把K3(停止)按钮连在数字端口7
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);
  }


}
运行效果


举报

更多回帖

发帖
×
20
完善资料,
赚取积分