目录
1 适用场景
盲人拐杖、智能导盲杖
2 开发环境
下位机开发环境:Keil µVision5
上位机开发环境:腾讯云平台
小鱼儿电子设计微信号:IOTElectronics(可获取视频)
3 技术框架及设计思路
- 技术框架:STM32单片机+WiFi无线通信技术+腾讯云平台+微信小程序+微信公众号提醒
- 设计思路:系统上电后,拐杖开启智能模式,使用者在行走中,拐杖检测到前方障碍物,会语音提示报警,使用者不慎摔倒时,拐杖会发出警报声,引起周围行人注意并实施援救,当周围环境亮度过暗时,会亮灯提示其他人,同时当前方有积水时,会报警和语音提示。
- 硬件元件:STM32单片机+5516光线传感器+DS1302实时时钟模块+水滴传感器+ADXL345三轴加速度传感器+JQ8400语音播报模块+E18-D80NK漫反射光电红外传感器+OLED12864屏幕+LED照明灯+按键+蜂鸣器+ESP8266 WiFi无线通信模块
4 实现功能
- LED灯照明:当光线传感器监测环境的光线值低于30%时,自动开启照明灯进行照明,防止行人碰撞,并为行人照明。
- 红外障碍物监测:当红外传感器检测前方有障碍物,语音提示"有障碍"(2s提醒一次)。
- 跌倒报警:当三轴加速度传感器检测到盲人摔倒,蜂鸣器会报警,在跌倒时间大于30s,未起来,通过微信公众号提醒监护人。
- 积水监测:当拐杖触到积水会语音提示"有积水"(2s提醒一次)。
- 按键功能:按下按键可以实现时间设定、语音播报温度和时间以及开机和关机。
- 微信小程序远程监测:通过WiFi无线通信技术将监测的相关数据上传至腾讯云平台,进而发送至微信小程序,并通过公众号进行提醒。
5 实物图
6 关键源码
SENSOR sensor;
unsigned int adc;
unsigned int cnt_beep;
unsigned int cnt_display=0;
unsigned char flag_beep;
unsigned char cnt_play;
unsigned char start=1;
void App_GetSensor_Point(void)
{
static unsigned char delay;
float f_temp;
if(start==0)
{
flag_beep=0;
sensor.led=0;
sensor.play=0;
return;
}
if(delay++>100)
{
delay=0;
ADXL345_GetValue();
}
if(timer3cnt>1000)
{
cnt_play++;
volume_config(30);
f_temp=0.0625*DS18B20_GetTemp();
sensor. Temperature=f_temp;
if(sensor. Temperature>99)sensor.temperature=0;
sensor.fall=adxlInfo.status;
if(READ_IR==0)sensor.ir=1;
else sensor.ir=0;
ADC_Read(10);
if(sensor. Water>30)sensor.water=1;
else sensor. Water=0;
if(sensor. Light<40)sensor.led=1;
else sensor.led=0;
flag_beep=0;
if(sensor.fall||sensor. Water)flag_beep=1;
sensor. Play=0;
if(sensor.ir) sensor. Play|=0x01;
if(sensor. Water)sensor. Play|=0x02;
timer3cnt=0;
}
display_info();
}