硬件开发_基于STM32单片机的智能行李箱系统
本文介绍了一种智能行李箱系统的设计与实现。该系统以STM32F103C8T6为核心控制器,集成远程控制、安全监测和数据显示功能:通过WIFI模块(ESP8266)实现手机APP远程操控;配备湿度传感器、重量监测(HX711)、指纹/按键解锁等多重安全模块;采用OLED屏幕实时显示数据。电路设计基于Altium Designer,包含电机驱动、传感器接口等模块。程序设计采用C语言开发,搭配uniap
·
一.系统概述
智能行李箱系统集成远程控制、安全提醒和数据展示等功能:
- 运动控制:STM32驱动步进电机,支持按键及手机APP远程操控行李箱前后移动。
- WIFI连接:ESP8266实现无线通信,手机APP远程管理。
- 湿度监测:内置湿度传感器,检测箱内水分,通过OLED及APP提醒用户。
- 数据显示与传输:实时在OLED屏幕显示信息,并通过WiFi同步至手机。
- 远程报警:蜂鸣器联动STM32和WiFi,密码错误时发出警报。
- 多重解锁:支持一键和指纹解锁,保障安全。
- 重量监测:压力传感器测量行李重量,数据同步显示和传输。

二.电路设计
基于Altium Designer设计的电路方案包括:
- 以STM32F103C8T6最小系统为控制核心;
- DHT11通过one-wire总线连接GPIO,实现温湿度采集;
- 光电开关直接连接GPIO,用于人体检测;
- ESP8266-01S通过UART与单片机通信,上传数据至服务器;
- OLED12864显示屏通过I2C接口连接,用于数据显示;
- 独立按键接地与GPIO,实现阈值设定和控制功能;
- 步进电机IN端接GPIO,驱动行李箱运动;
- HX711模块的DAT和SCK引脚连接GPIO,完成重量测量;
- 继电器控制开锁,输出端接GPIO;
- 有源蜂鸣器通过NPN三极管驱动,实现报警。


三.程序设计
#include "sys.h"
#include "delay.h"
#include "adc.h"
#include "math.h"
#include "key.h"
#include "OLED_I2C.h"
#include "Beep_Led_Relay.h"
#include "Control_Report_To_Police.h"
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Beep_init(); //PC15
TIM4_Init(300,7200);
KEY1_Init(); //PB14
KEY_Init(); //PA11 PA12 PA15
Relay_init(); //PB8
OLED_Init(); //PB6 PB7
ULN2003_GPIOB_Init(); //PB0 PB1 PB5 PB13
ULN2003_GPIOA_Init(); //PA0 PA1 PA4 PA5
while(DHT11_Init()){} //PA12
HX711_InIt(); //pb10 pb11
OLED_CLS(); //OLED清屏
OLED_ShowCN(32,2,0); //小常硬件
OLED_ShowCN(32+16,2,1);
OLED_ShowCN(32+32,2,2);
OLED_ShowCN(32+32+16,2,3);
delay_ms(500);
OLED_CLS();
ALi_ESP8266_GPIO_Init(); //PA2 PA3 PA8
MQTT_Buff_Init();
AliIoT_Parameter_Init();
Get_Maopi();
// /*******显示汉字**********/
OLED_ShowCN(0,0,4);
OLED_ShowCN(0+16,0,5);
OLED_ShowCN(0,2,6);
OLED_ShowCN(0+16,2,7);
OLED_ShowCN(0,4,8);
OLED_ShowCN(0+16,4,9);
Beep=1;//蜂鸣器初始化 系统上电后先让蜂鸣器停止叫
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}
上位机是HBuilder X开发的,并使用阿里云服务器进行数据处理,使用的框架是uniapp框架。

四.资料内容

24-32-07
更多推荐



所有评论(0)