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利用电位器模拟输量输入控制步进电机调速