当前位置: 首页 > article >正文

【Proteus仿真】【Arduino单片机】PWM电机调速

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用Proteus8仿真Arduino单片机控制器,使用蜂鸣器、按键、直流电机、L293D等。
主要功能:
系统运行后,K3键启动运行,K1控制运行方向,K2键控制运行速度,K4键停止。


二、软件设计

/*
作者:嗨小易(QQ:3443792007)

*/

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


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

//无限循环运行
void loop() 
{
    char key=0;
    char dir=0;//方向
    char run=0;//运行状态
    char speed=20;//速度

    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=!dir;
        }
        else if(key==KEY2_PRESS)//速度
        {
            speed+=20;
            if(speed>100)speed=0;
        }

        if(run==1)//启动
        {
            dc_motor_ctrl(dir);
            dc_motor_speed_set(speed);
        }
        else//停止
        {
            dc_motor_stop();
        }
    }
}




三、实验现象

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

在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。


http://www.kler.cn/news/107396.html

相关文章:

  • Mysql的JDBC知识点
  • 【C++的OpenCV】第十四课-OpenCV基础强化(二):访问单通道Mat中的值
  • 轻量级仿 Spring Boot=嵌入式 Tomcat+Spring MVC
  • Qt下实现支持多线程的单例模式
  • Redis进军磁盘存储
  • Spring常见面试题
  • 大数据采集技术与预处理学习一:大数据概念、数据预处理、网络数据采集
  • 一文5000字从0到1使用Jmeter实现轻量级的接口自动化测试(图文并茂)
  • 167. 两数之和 II - 输入有序数组、Leetcode的Python实现
  • 有一个带头结点的单链表L,设计一个算法使其元素递增有序
  • pytorch 入门 (五)案例三:乳腺癌识别识别-VGG16实现
  • Unity的live2dgalgame多语言可配置剧情框架
  • 10月份程序员书单推荐
  • vscode下ssh免密登录linux服务器
  • PostgreSQL基于Patroni方案的高可用启动流程分析
  • Centos使用war文件部署jenkins
  • [量化投资-学习笔记003]Python+TDengine从零开始搭建量化分析平台-Grafana画K线图
  • 【2023.10.25练习】数据库-函数1
  • 【CSS】包含块
  • 【2024秋招】2023-9-16 贝壳后端开发一面
  • 【Java网络原理】 五
  • canvas基础3 -- 交互
  • 【网络安全 --- 任意文件下载漏洞(1)】任意文件下载漏洞
  • [SQL开发笔记]DELETE 语句:删除表中的行
  • C++ 构造函数
  • 记:2023羊城杯-Ez加密器-题目复现和学习记录““
  • Unity C#中LuaTable、LuaArrayTable、LuaDictTable中数据的增删改查
  • 使用Jetpack Compose构建Flappy Musketeer街机游戏
  • C语言每日一题(20)最大公因数等于 K 的子数组数目
  • 《C和指针》笔记35:结构体