前面几篇博文,我们基本了解了几种在proteus中实现arduino仿真的方法(《proteus从开发板新建arduino仿真项目实例》《Proteus Visual Designer仿真arduino实例讲解》《proteus下仿真arduino》)。 前面的仿真都是基本框架的,仅仅实现了一个最基础的Blink的实验,如果说在proteus中我们仿真仅仅停留在闪灯上面,那么就算是浪费了这个强大的软件了。本篇博文我们尝试做一个arduino控制电机正反转的仿真。 如果您对模拟元器件的使用还不熟悉可以参看《proteus中仿真arduino驱动模拟器件(蜂鸣器继电器电机)》。
文章目录
一、仿真硬件准备1、找到主芯片Atmega328P及L2982、配置好端口及辅助元器件
二、代码编写1.arduino代码2、运行效果
文章出处:
https://haigear.blog.csdn.net/article/details/88086657
一、仿真硬件准备
1、找到主芯片Atmega328P及L298
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190303113301273.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhaWdlYXI=,size_16,color_FFFFFF,t_70)
2、配置好端口及辅助元器件
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190303123252778.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhaWdlYXI=,size_16,color_FFFFFF,t_70)
二、代码编写
1.arduino代码
//任务:通过按钮控制电机启停和正反转,通过电位计调节电机转速。
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);
}
}
2、运行效果
码字不易,请注明出处:https://haigear.blog.csdn.net/article/details/88086657
|