【硬件设计】_基于STM32单片机的智能行李箱系统

一. 系统概述

智能行李箱系统集成了远程操控、安全提醒、数据展示和传输等功能,旨在提升用户的使用体验,使行李管理更加便捷。主要功能包括:

  1. 行李箱控制功能:

    • 利用STM32单片机驱动步进电机,实现行李箱的前后移动。
    • 用户可通过箱子上的按键或手机APP进行移动控制。
  2. WIFI远程控制:

    • 依托ESP8266芯片实现WIFI连接,支持远程操作。
    • 用户可通过手机APP进行远程操控。
  3. 湿度检测与提示:

    • 通过STM32开发板上的湿度传感器检测箱内水分。
    • 检测到水分时,通过OLED屏幕提示或手机APP提醒用户。
  4. 数据展示与传输:

    • 利用STM32单片机在OLED屏幕上显示数据。
    • 通过WIFI将数据发送至移动设备,提醒用户电量和湿度信息。
  5. 远程通信与蜂鸣警报:

    • 蜂鸣器连接至STM32,通过WIFI实现通信。
    • 密码错误时,蜂鸣器发出警报以应对紧急情况。
  6. 多种解锁方式:

    • 提供一键和指纹解锁功能,提升安全性和便捷性。
  7. 重量显示与传输:

    • 使用压力传感器显示行李箱重量。
    • 重量数据传输至OLED屏幕和手机APP,便于用户实时掌握负重情况。

在这里插入图片描述

二. 电路设计

使用Altium Designer进行电路设计:

  1. 控制核心:

    • STM32F103C8T6单片机是系统的核心控制器。
  2. 温湿度监测:

    • 使用DHT11传感器进行温湿度检测,连接至单片机的GPIO脚。
  3. 人体检测:

    • 采用光电开关进行人体检测,数据输出脚连接至单片机的GPIO口。
  4. 数据上传:

    • 使用ESP8266-01S模块上传数据至服务器,通过UART串口通信。
  5. 数据显示:

    • 采用0.96寸OLED12864显示数据,使用IIC总线与单片机通信。
  6. 按键控制:

    • 使用独立按键设定阈值及控制行李箱,一端接地,另一端接GPIO口。
  7. 电机驱动:

    • 通过步进电机驱动行李箱,电机输入端连接至单片机GPIO口。
  8. 重量检测:

    • 利用HX711模块进行重量检测,数据脚和时钟脚连接至单片机GPIO。
  9. 解锁控制:

    • 通过继电器模拟打开行李箱,数据输出脚连接至单片机。
  10. 报警功能:

  • 使用有源蜂鸣器进行报警,采用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值