硬件开发_基于STM32单片机的智能电梯系统
一.系统概述
智能电梯系统的设计包括以下功能和实现方法:
- 楼层呼叫功能:设有6个按钮,分别对应6个楼层,用户可以通过按下相应按钮来呼叫电梯到指定楼层。
- 步进电机控制:通过控制步进电机的正反转,模拟电梯的上升和下降,每旋转180度电机移动一个楼层的高度。
- 当前楼层显示:电梯停靠时,显示屏上会显示其当前所在楼层的编号,便于用户了解电梯状态。
- 状态指示:在电梯上行或下行过程中,显示屏会实时显示“上行”或“下行”的状态信息。
- 语音播报功能:电梯到达请求的楼层时,通过语音播报功能通知用户当前楼层号,提升用户体验。
- 蜂鸣器报警:系统集成了蜂鸣器,用于发出提示音,提醒用户电梯到达或在紧急情况下报警。
- 红外检测功能:配备红外对管传感器,当电梯内检测到人员时,启动舵机以模拟电梯门打开。
- 舵机门控:在检测到人员时,舵机控制电梯门打开;若无人员检测,舵机会归位,模拟门的关闭。
- 紧急报警机制:设有紧急报警按钮,用户按下后会触发蜂鸣器,提醒周围人注意紧急情况或请求帮助。
二.电路设计
电路图设计使用Altium Designer,具体构成如下:
- 系统主控:采用STM32F103C8T6单片机作为核心控制单元,构建最小系统电路,负责整个系统的运作。
- 语音识别模块:引入LU-ASR01高精度语音识别模块进行语音指令的识别,模块通过UART串口与单片机通信。
- 人体识别传感器:使用红外对管进行人体检测,其输出为数字开关信号,需要连接至单片机的GPIO口。
- 数据显示模块:通过0.96寸OLED12864显示器进行信息展示,采用IIC总线与单片机进行数据通信。
- 电梯驱动:利用步进电机模拟电梯的运动,电机的控制输入端连接至单片机的GPIO口,输出端连接至电机本身。
- 语音播报系统:集成JR6001模块进行语音播报,通过UART串口与单片机连接,实现信息播报功能。
- 报警功能:使用有源蜂鸣器进行报警,采用NPN三极管对其进行驱动,确保报警声音的发出。
- 电梯门控制:通过舵机实现电梯门的开关控制,舵机控制线连接至单片机的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