【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设计,视频分享,技术交流。

相关推荐
magic_now8 分钟前
U-Boot双阶段启动机制深度解析:init_sequence_f[] 与 init_sequence_r[]
linux·嵌入式硬件
济61734 分钟前
FreeRTOS日志任务设计----LogTask 日志任务
单片机·嵌入式·freertos
振南的单片机世界36 分钟前
PWM模拟电压:数字信号“平均”一下,就能变成模拟量
stm32·单片机·嵌入式硬件
blevoice1 小时前
杰理AC6966B-QFN32蓝牙音频进阶:获取手机歌曲信息——让音箱“报歌名”其实不难
嵌入式硬件·智能手机·音视频·jl杰理蓝牙音频芯片·杰理ac696n开发板·ac6966b蓝牙音响芯片
LCG元1 小时前
STM32实战:基于STM32F103的CANopen协议通信实战
stm32·单片机·嵌入式硬件
Hello_Embed1 小时前
libmodbus 源码分析
笔记·stm32·单片机·嵌入式·ai编程
12.=0.1 小时前
【stm32_8】IIC内部集成电路——IIC的时序、利用IO口模拟IIC的时序、IIC通信器件的读写使用、半导体存储器的基本概述
c语言·stm32·单片机·嵌入式硬件
namas88481 小时前
APLC IDE 用户手册
ide·单片机·嵌入式硬件
草莓熊Lotso3 小时前
【Linux网络】UDP Socket 编程全解析:从回显服务到通用字典服务,从零实现工业级代码
linux·运维·服务器·数据库·c++·单片机·udp
fengfuyao98515 小时前
利用 STM32 和 ADS1256 进行高精度数据采集
stm32·单片机·嵌入式硬件