【Proteus仿真】【Arduino单片机】直流电机和步进电机

文章目录


一、功能简介

本项目使用Proteus8仿真Arduino单片机控制器,使用蜂鸣器、按键、直流电机、步进电机、ULN2003、L293D等。

主要功能:

系统运行后,K3键启动运行,K1和K2键控制运行方向,K4键停止。


二、软件设计

c 复制代码
/*
作者:嗨小易(QQ:3443792007)

*/

#include "public.h"
#include "beep.h"
#include "key.h"
#include "Stepper_28BYJ48.h"
#include "dc_motor.h"

//创建步进电机对象
#define STEPS 64
Stepper mystepper(STEPS,2,3,12,13);


//初始化运行一次
void setup() 
{
    beep_init();
    key_init();
    dc_motor_init();
    mystepper.setSpeed(10); 
}

//无限循环运行
void loop() 
{
    char key=0;
    char dir=0;//方向
    char run=0;//运行状态
    int pulse=-5;//脉冲

    while(1)
    {
        key=key_scan(0);//按键扫描
        if(key!=0)beep_alarm(100,1000);//提示音

        if(key==KEY3_PRESS)//启动
            run=1; 
        else if(key==KEY4_PRESS)//停止
            run=0;
        else if(key==KEY1_PRESS)//正转
        {
            dir=0;
            pulse=-5;
        }
        else if(key==KEY2_PRESS)//反转
        {
            dir=1;
            pulse=5;
        }

        if(run==1)//启动
        {
            dc_motor_ctrl(dir);
            mystepper.step(pulse);
        }
        else//停止
        {
            dc_motor_stop();
        }
    }
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619

联系作者

视频地址:https://space.bilibili.com/444388619/video

专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

相关推荐
HQB20262 小时前
屹晶微电子 EG1130|2‑24V 输入 / 最高 28V 输出 内置 MOS 异步升压 DC‑DC|SOT23‑6|摄像头 / 车充 / 电池充电电源
嵌入式硬件·硬件工程
泛凡(Linyongui)4 小时前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
十年磨一剑~4 小时前
Linux 内核中断处理机制与软硬件协同流程
linux·嵌入式硬件
糖糖单片机设计5 小时前
基于单片机的热水器节能控制系统
单片机·嵌入式硬件
数字新视界6 小时前
数字孪生技术赋能智能化转型与创新实践
嵌入式硬件·物联网·系统架构·机房管理·动力与环境监控系统
HQB20266 小时前
屹晶微电子 EG1195|10‑120V/10A+ 外置 MOS 异步降压控制器|ESOP‑8|电动车转换器 / 快充 / 工业电源
嵌入式硬件·硬件工程
不悔哥7 小时前
开源LineageOS:旧手机刷上开源系统
嵌入式硬件·智能手机·开源
服务器硬件项目经理8 小时前
《超节点修仙录》· 第一卷·炼气期【第04话】 超节点 vs 普通服务器——不就是多插了几张卡吗?
运维·服务器·人工智能·嵌入式硬件·深度学习·机器学习
一次调频AGCAVC8 小时前
一次调频系统控制柜的组成及一次调频装置主机功能详述
人工智能·嵌入式硬件
金色光环8 小时前
【DSP学习】C2000_PWM中断程序_笔记
笔记·单片机·学习