硬件开发_基于STM32单片机的仓库环境监测系统
·
一.系统概述
- 利用红外避障感应器检测大门附近是否有人员靠近,在夜晚时自动启动车灯照明。
- 通过温湿度、热敏和人体红外传感器监控仓库安全状态,一旦传感器数据超过预定阈值将持续触发报警。
- 工作人员通过刷RFID卡来控制电机开启库存门,从而实现物品的进出。
- 通过按键更新外部FLASH中存储的人员信息,包括进出仓库次数等数据,即使断电数据也不会丢失。

二.电路设计
电路图采用Altium Designer进行设计:
- 电路图采用Altium Designer设计,核心部分为STM32F103C8T6单片机构成的最小系统电路。
- 利用DHT11传感器实现温湿度检测,通过one-wire总线方式接入单片机的GPIO接口。
- 使用红外对管进行障碍检测,其数字信号输出端直接连接至单片机的GPIO口。
- 通过光电开关模块进行人体检测,模块的数据输出脚直接接入单片机的GPIO口。
- 采用RC522刷卡模块来实现商品刷卡检测,模块通过SPI总线方式与单片机通信。
- 使用独立的按键来设定阈值,按键一端接地,另一端连接单片机的GPIO口。
- 通过0.96寸OLED12864显示屏实现数据显示,采用IIC总线方式与单片机进行通信。
- 使用AT24C02存储仓库内的人员数据,通过IIC总线与单片机连接进行数据传输。
- 报警功能采用有源蜂鸣器,并通过NPN三极管对蜂鸣器进行驱动控制。
- 采用继电器控制开关门,继电器的数据输出脚直接接入单片机的GPIO口进行控制。

三.程序设计
#include “sys.h”
#include “delay.h”
#include “math.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Control_Report_To_Police.h”
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
while(DHT11_Init()){}
Usart1_Init(9600);
IIC_Init();
OLED_Init();
OLED_CLS(); //OLED清屏
KEY1_Init();
KEY_Init();
Beep_init();
Led1_init();
ULN2003_GPIOB_Init();
RC5222_GPIO_Init_analog_Spi();
OLED_CLS();
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}
四.资料内容

24-32-96
更多推荐



所有评论(0)