一.系统概述

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

二.电路设计

电路图采用Altium Designer进行设计:

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

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐