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

硬件开发_基于STM32单片机的智能电梯系统

在这里插入图片描述

一.系统概述

智能电梯系统的设计包括以下功能和实现方法:

  1. 楼层呼叫功能:设有6个按钮,分别对应6个楼层,用户可以通过按下相应按钮来呼叫电梯到指定楼层。
  2. 步进电机控制:通过控制步进电机的正反转,模拟电梯的上升和下降,每旋转180度电机移动一个楼层的高度。
  3. 当前楼层显示:电梯停靠时,显示屏上会显示其当前所在楼层的编号,便于用户了解电梯状态。
  4. 状态指示:在电梯上行或下行过程中,显示屏会实时显示“上行”或“下行”的状态信息。
  5. 语音播报功能:电梯到达请求的楼层时,通过语音播报功能通知用户当前楼层号,提升用户体验。
  6. 蜂鸣器报警:系统集成了蜂鸣器,用于发出提示音,提醒用户电梯到达或在紧急情况下报警。
  7. 红外检测功能:配备红外对管传感器,当电梯内检测到人员时,启动舵机以模拟电梯门打开。
  8. 舵机门控:在检测到人员时,舵机控制电梯门打开;若无人员检测,舵机会归位,模拟门的关闭。
  9. 紧急报警机制:设有紧急报警按钮,用户按下后会触发蜂鸣器,提醒周围人注意紧急情况或请求帮助。

在这里插入图片描述

二.电路设计

电路图设计使用Altium Designer,具体构成如下:

  1. 系统主控:采用STM32F103C8T6单片机作为核心控制单元,构建最小系统电路,负责整个系统的运作。
  2. 语音识别模块:引入LU-ASR01高精度语音识别模块进行语音指令的识别,模块通过UART串口与单片机通信。
  3. 人体识别传感器:使用红外对管进行人体检测,其输出为数字开关信号,需要连接至单片机的GPIO口。
  4. 数据显示模块:通过0.96寸OLED12864显示器进行信息展示,采用IIC总线与单片机进行数据通信。
  5. 电梯驱动:利用步进电机模拟电梯的运动,电机的控制输入端连接至单片机的GPIO口,输出端连接至电机本身。
  6. 语音播报系统:集成JR6001模块进行语音播报,通过UART串口与单片机连接,实现信息播报功能。
  7. 报警功能:使用有源蜂鸣器进行报警,采用NPN三极管对其进行驱动,确保报警声音的发出。
  8. 电梯门控制:通过舵机实现电梯门的开关控制,舵机控制线连接至单片机的GPIO端口。

在这里插入图片描述

在这里插入图片描述

三.程序设计

#include “sys.h”
#include “delay.h”
#include “adc2.h”
#include “math.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Control_Report_To_Police.h”

int main(void)
{
u32 JR6001_Uart_bound=9600;
u32 ASR01_Uart_bound=9600;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化

 KEY_Init();            //anjianKEY1_Init();Beep_init();           // feng ming qiULN2003_GPIOA_Init();   //dian ji OLED_Init();            //PB6 PB7   xian shiOLED_CLS();E18_D80_Init();       //PB3  shi bieASR01_Uart1_init(&ASR01_Uart_bound);  //yu ying shi bie 

JR6001_Uart1_init(&JR6001_Uart_bound); //yu ying bo bao
Servor_GPIO_Config_Time2_Init(); //duoji
Beep=1;
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}

四.资料内容

在这里插入图片描述

24-32-21

http://www.lryc.cn/news/616214.html

相关文章:

  • 关键基础设施中的新兴技术如何扩大网络风险
  • Java .class文件反编译成 .java文件
  • LeetCode 括号生成
  • 机器学习数学基础:46.Mann-Kendall 序贯检验(Sequential MK Test)
  • AtomicStampedReference解决方案
  • QT常用控件三
  • 浏览器CEFSharp88+X86+win7 之js交互开启(五)
  • 深入理解C语言一维数组的本质:数组名、指针常量与访问细节
  • 女子试穿4条裤子留下血渍赔50元引争议:消费责任边界在哪?
  • 无须炮解,打开即是Pro版
  • (LeetCode 每日一题) 869. 重新排序得到 2 的幂 (哈希表+枚举)
  • Python中随机化列表元素的详细方法
  • LintCode第604题-滑动窗口内数的和
  • DAY36打卡
  • 自创论述类文本阅读:论温泉
  • ubuntu 安装内核模块驱动 DKMS 介绍
  • 基于Ubuntu20.04的环境,编译QT5.15.17源码
  • ubuntu22.04+samba
  • 正则表达式常用语法参考
  • 零基础学Java第三讲---运算符
  • CSS优先级、HTTP响应状态码
  • ​Microsoft Store 离线下载软件
  • Unity笔记(四)——Camera、碰撞检测函数、刚体加力、音频
  • 电脑使用“碎片整理”程序的作用
  • Java I/O 流:从字节流到 NIO 的进化与应用
  • idea中使用maven造成每次都打印日志
  • IDEA官网下载及其他版本软件下载地址
  • Ubuntu 安装 Elasticsearch
  • 【0基础PS】PS工具详解--缩放工具
  • 【python】import与include的区别