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

news2024/11/17 11:37:16

文章目录

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


一、功能简介

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


二、软件设计

/*
作者:嗨小易(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设计,视频分享,技术交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1138991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

飞驰云联:让企业文件同步变得更简单

在如今这个高度信息化的时代,企业的文件同步需求日益增长,如何高效、安全地实现文件同步已成为企业亟待解决的问题。飞驰云联的文件同步系统作为一款全新的解决方案,能够满足各种企业对于文件同步的需求,提高工作效率,…

JXLS2同一个sheet多个表格循环覆盖下面表格数据问题

excel 模版: 输出结果 java 代码片段: private static void test01(String name) throws IOException {try (InputStream in new FileInputStream(new File(String.format(gen, name)));OutputStream out new FileOutputStream(new File(String.for…

UnoCSS快速入门

UnoCSS快速入门 UnoCSS一、UnoCSS简介二、UnoCSS解决问题三、UnoCSS实践四、好文推荐 UnoCSS 一、UnoCSS简介 UnoCSS 是一个即时、按需的原子级 CSS 引擎。它专注于提供轻量化、高性能的 CSS 解决方案。“Instant On-demand” 表示 UnoCSS 的加载和渲染速度非常快,…

V8 引擎中的垃圾收集器

V8 引擎中的垃圾收集器 垃圾收集是跟踪活动对象的过程,同时销毁堆内存中未引用的对象,为将来创建的新对象腾出空间。本文将讨论V8 引擎的垃圾收集器,V8 引擎是由 Google 用 C 编写开发的开源、高性能 JavaScript 和 WebAssembly 引擎。 V8 引…

three.js第一课

官网 1.创建场景 2.创建几何体 3.创建材质 4.创建网格模型 5.将几何体、材质加入网格模型,设置网格模型的位置,将网格模型加入场景中 6.创建相机,构造函数中设置角度、最后面视椎体的长宽比,相机离视椎体近端面的距离、视椎体的远…

算法训练营第二天 | 977.有序数组的平方、209.长度最小的子数组、 59.螺旋矩阵II

问题( 一 ) 问题描述: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱…

并发编程- 线程池ForkJoinPool工作原理分析(实践)

数据结构加油站: Comparison Sorting Visualization 并发设计模式 单线程归并排序 public class MergeSort {private final int[] arrayToSort; //要排序的数组private final int threshold; //拆分的阈值,低于此阈值就不再进行拆分public MergeSort…

重学JDK8新特性之Stream

集合处理数据的弊端 当我们在需要对集合中的元素进行操作的时候&#xff0c;除了必需的添加&#xff0c;删除&#xff0c;获取外&#xff0c;最典型的操作就是 集合遍历 public static void main(String[] args) {// 定义一个List集合List<String> list Arrays.asList…

流程引擎-自定义函数的应用

背景&#xff1a; 某些业务需求比较特殊&#xff0c;需要在表单中校验或实现一些功能&#xff0c;泛微流程表单配置时实现的方式多种多样&#xff1a;JS脚本、SQL语句、公式以及其他一些标准化拖拽功能&#xff0c;本次给大家分享一下流程表单中的公式实现的一些需求场景。泛微…

动态组件<component>

用法&#xff1a; <template><div><Navbar></Navbar><Home v-if"componentName 首页"></Home><List v-else-if"componentName 列表"></List><Center v-else-if"componentName 我的">…

公众号爆文写作怎么做?或许这些领域才适合你!

最近分享了很多爆款案例&#xff0c;看了的人都在跟进&#xff0c;有些人做得很出色&#xff0c;持续出爆款&#xff0c;但还是有人遇到了瓶颈&#xff0c;阅读量停滞不前。 其实&#xff0c;能否成功与个人能力、经验、环境以及一丢丢的运气有关。 但是&#xff0c;公众号不止…

PTL电子标签助力仓储行业转型升级提升拣货效率降低误差率

在智能物流、智能工厂和智能零售等行业的快速发展中&#xff0c;电子货位标签、物流智能设备和专业智能穿戴产品的应用变得越来越重要。这些技术的引入为仓储行业带来了巨大的变革和提升。作为一家致力于电子货位标签、物流智能设备和专业智能穿戴产品的开发和市场推广的公司&a…

windows10下SQL Prompt安装和注册

文章目录 windows10下SQL Prompt安装下载安装程序安装关闭联网注册机使用测试卸载 windows10下SQL Prompt安装 下载安装程序 官网 下载后 安装 双击打开界面 关闭联网 激活失效&#xff1a; 方法1&#xff1a;在本地hosts加入以下代码&#xff1a; 127.0.0.1 licensin…

Fabric.js 自定义控件

本文简介 带尬猴&#xff0c;我是德育处主任 虽然 Fabric.js 提供的基础功能已经很丰富了&#xff0c;但有时难免需要定制一些需求。比如本文要讲的 『自定义控件』。掌握创建自定义控件这个功能&#xff0c;能够创建更加精美和实用的图形应用程序&#xff0c;提高用户体验和用…

pycharm远程连接Linux服务器

文章目录 一&#xff1a;说明二&#xff1a;系统三&#xff1a;实现远程连接方式一&#xff1a; 直接连接服务器不使用服务器的虚拟环境步骤一&#xff1a;找到配置服务器的地方步骤二&#xff1a;进行连接配置步骤三&#xff1a;进行项目文件映射操作步骤四&#xff1a;让文件…

【JavaSE专栏53】Java集合类HashMap详解

Java集合类HashMap详解 摘要引言1. HashMap简介&#xff1a;掌握什么是HashMap&#xff1f;&#x1f9d0;2. HashMap的操作技巧&#xff1a;从基础到高级&#x1f680;2.1 添加键值对&#xff1a;put(K key, V value) &#x1f4e5;2.2 获取值&#xff1a;get(Object key) &…

ORACLE数据库查询所有索引的sql语句

SELECT * FROM ALL_INDEXES WHERE TABLE_NAMEB_CONFIG; 举例&#xff1a;

PCIE-Malformed tlp,UR,UC,CA

Malformed TLP (1)收到的cpl&#xff0c;actual payload 不等于length&#xff1b; (2)收到的cpl&#xff0c;违背了RCB准则&#xff1b; (3)Local tlp prefix不在end-end tlp prefix前&#xff1b; (4)不支持local tlp prefix的设备&#xff0c;同时extended fmt field为1…

提升用户体验的关键步骤

快速搭建功能齐全的户外帐篷用具小程序&#xff0c;是现今越来越流行的一种商业模式。通过将线下的户外用品店转移到线上&#xff0c;不仅可以减少人力成本和租金等固定支出&#xff0c;还可以为用户提供更便捷的购物体验。因此&#xff0c;学习如何快速搭建一个功能齐全的户外…

面向对象(基础)知识点强势总结!!!

文章目录 一、知识点总结&#xff08;1&#xff09;面向过程VS面向对象&#xff08;2&#xff09;类、对象&#xff08;3&#xff09;类的成员之一&#xff1a;属性&#xff08;或成员变量&#xff09;&#xff08;4&#xff09;类的成员之二&#xff1a;方法&#xff08;5&…