硬件开发_基于STM32单片机智能头盔系统
本文介绍了一款多功能智能头盔系统设计,通过STM32单片机为核心控制器,集成了超声波障碍物检测、温湿度调节、光感自动照明、GPS定位及无线数据传输等功能。系统采用DHT11传感器监测环境温湿度,HC-SR04实现前后方障碍物探测,ATGM336H模块提供定位服务,并通过ESP8266模块将数据上传至阿里云服务器。OLED显示屏实时显示安全提示和温度信息,配套uniapp开发的手机APP可查看位置等

一.系统概述
智能头盔系统实现了智能头盔的多功能,包括安全警示、环境感知、位置定位和信息显示等,提升了用户在不同环境下的安全性和便利性,具体包括以下主要功能: 1. 超声波障碍物检测: - 使用两个超声波传感器分别检测前后障碍物。 - 当检测到障碍物时,控制蜂鸣器发出报警提醒。 2. 温湿度传感器与风扇控制: - 检测头盔内温度和湿度。 - 当温度较高时,控制风扇启动以降低温度。 3. 光照采集与灯光控制: - 采集环境光照强度。 - 当光照强度低时,控制头盔上的灯光开启。 4. GPS定位与APP显示: - 集成GPS模块获取位置信息。 - 将位置信息通过无线通信功能传输至APP并显示在地图上。 5. 显示功能: - 在头盔显示屏上显示信息:“道路千万条 安全第一条 温度: ℃”。 6. 无线通信功能: - 使用无线通信模块传输采集到的温度、障碍物信息和位置信息至APP。

二.电路设计
电路图采用Altium Designer进行设计: 1. 系统电路中的STM32F103C8T6单片机最小系统是系统的控制核心; 2. 使用光敏电阻模块进行光强检测,传感器的模拟端与单片机的模拟输入端相接; 3. 通过DHT11进行温湿度检测,并通过one-wire总线与单片机的GPIO脚进行连接; 4. 通过GPS定位模块ATGM336H进行位置检测,并通过UART串口与单片机进行连接; 5. 使用HC-SR04超声波测距模块进行前后障碍物的检测,并通过Echo(超声波接收脚)和Trig(超声波发射脚)与单片机的GPIO脚进行连接; 6. 通过0.96寸的OLED12864进行数据显示,采用IIC总线的形式与单片机进行通信; 7. 通过ESP8266-01S将检测到数据上传到服务器端,通过UART串口与单片机进行通信。


三.程序设计
#include "sys.h"
#include "delay.h"
#include "adc.h"
#include "math.h"
#include "key.h"
#include "OLED_I2C.h"
#include "ultrasonsic.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
Led1_init(); //PB12
Relay_init(); //PB8
Hcsr04_Timer2_Init(); //PB13 PB14 PA6 PA7
TIM4_Init(300,7200);
OLED_Init(); //PB6 PB7
Adc_Init(); //PA1
Beep=1;
while(DHT11_Init()){} //PA12
OLED_CLS();
OLED_ShowCN(32,2,0);
OLED_ShowCN(32+16,2,1);
OLED_ShowCN(32+32,2,2);
OLED_ShowCN(32+32+16,2,3);
ALi_ESP8266_GPIO_Init();//PA2 PA3 PA8
MQTT_Buff_Init();
AliIoT_Parameter_Init();
delay_ms(500);
OLED_CLS();
OLED_ShowCN(24,0,6);
OLED_ShowCN(40,0,7);
OLED_ShowCN(56,0,8);
OLED_ShowCN(72,0,9);
OLED_ShowCN(88,0,10);
OLED_ShowCN(24,3,11);
OLED_ShowCN(40,3,12);
OLED_ShowCN(56,3,13);
OLED_ShowCN(72,3,14);
OLED_ShowCN(88,3,15);
OLED_ShowCN(24,6,4);
OLED_ShowCN(42,6,5);
OLED_ShowCN(90,6,16);
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}
上位机的HBuilder X开发的,并使用阿里云服务器进行数据处理,使用的框架是uniapp框架。

四.资料内容

24-32-06
更多推荐



所有评论(0)