基于 STM32 的智能导盲拐杖系统
基于 STM32 的智能导盲拐杖系统设计
为视障人士提供更智能的出行辅助一直是社会关注的重要议题。本文介绍一种基于 STM32F103C8T6 主控的智能导盲拐杖系统,整合 HC-SR04 超声波测距、GL5528 光敏电阻、SR-01 水位、K210 摄像、ATGM336H GPS、JR6001 语音、SIM800C GSM 通信与蜂鸣器报警模块,能够进行障碍物提示、低光自动补光、水位预警、红绿灯状态识别与 GPS 路线导盲,并在紧急情况下向家人发送定位短信。
一、系统功能总览
| 功能编号 | 功能名称 | 说明 |
|---|---|---|
| F1 | 障碍物检测 | HC-SR04 距离监测 |
| F2 | 光强补光 | GL5528 + 自动 LED |
| F3 | 水位预警 | SR-01 检测涉水水位 |
| F4 | 红绿灯识别 | K210 摄像识别并语音播报 |
| F5 | GPS 定位 | ATGM336H 路线导盲 |
| F6 | 路线存储 | 三条预设路线切换 |
| F7 | 语音播报 | JR6001 输出语音提示 |
| F8 | 紧急报警 | SIM800C 短信 + 经纬度 |
二、核心模块选型对比
2.1 主控模块选型
| 方案 | 型号 | 优势 |
|---|---|---|
| 方案 1 | STM32F103C8T6 | 多 UART / I2C / SPI |
| 方案 2 | NXP LPC1768 | 资源多但开发资料偏少 |
选择方案 1:需驱动 GPS、GSM、语音、摄像多个串行模块。
2.2 超声波模块选型
| 方案 | 模块 | 量程 |
|---|---|---|
| 方案 1 | HC-SR04 | 2~400 cm |
| 方案 2 | GROVE-Ultrasonic | 3~500 cm |
选择方案 1:成熟度高、成本友好。
2.3 摄像模块选型
| 方案 | 模块 | 说明 |
|---|---|---|
| 方案 1 | K210 | 内置 KPU,TOPS 量级推理 |
| 方案 2 | Xilinx Zynq-7000 | 性能更高但功耗偏大 |
选择方案 1:功耗与开发便利性更平衡。
2.4 GPS 模块选型
| 方案 | 型号 | 卫星系统 |
|---|---|---|
| 方案 1 | ATGM336H | GPS + 北斗 |
| 方案 2 | NEO-6M | GPS |
选择方案 1:国内北斗信号支持更佳。
2.5 GSM 模块选型
| 方案 | 型号 | 说明 |
|---|---|---|
| 方案 1 | SIM800C | GSM/GPRS |
| 方案 2 | SIM7000 | 4G LTE,价格较高 |
选择方案 1:短信功能对本应用足够。
三、系统接线总表
| 模块 | 引脚 | 单片机端 | 备注 |
|---|---|---|---|
| HC-SR04 | VCC/GND/TRIG/ECHO | 5 V / GND / PA0 / PA1 | GPIO |
| GL5528 | VCC/GND/AO | 3.3 V / GND / PA2 (ADC) | 分压 |
| SR-01 | VCC/GND/AO | 5 V / GND / PA3 (ADC) | 电极探针 |
| K210 | VCC/GND/TX/RX | 3.3 V / GND / PA5 / PA4 | UART |
| ATGM336H | VCC/GND/TX/RX | 3.3 V / GND / PA10 / PA9 | UART |
| JR6001 | VCC/GND/TX/RX | 5 V / GND / PA7 / PA6 | UART |
| SIM800C | VCC/GND/TX/RX | 4 V / GND / PA8 / PB0 | UART |
| OLED12864 | VCC/GND/SCL/SDA | 3.3 V / GND / PB6 / PB7 | I2C |
| LED 补光 | +/PWM- | PB1 / GND | PWM |
| 蜂鸣器 | +/- | PB5 / GND | 三极管 |
四、系统软件设计
4.1 主程序流程
int main(void)
{
SystemInit();
HC_SR04_Init();
GL5528_Init();
SR01_Init();
K210_Init();
GPS_Init();
JR6001_Init();
SIM800_Init();
OLED_Init();
while (1)
{
u16 dist = HC_SR04_Get();
u16 lux = GL5528_Read();
u16 water = SR01_Read();
TrafficLight_State st = K210_DetectTraffic();
if (dist < SAFE_DIST) Beep_On();
if (lux < LIGHT_LO) LED_On();
if (water > WATER_LO) JR6001_PlayAlarm();
if (Key_NaviPressed()) PlayRoute(Key_RouteIdx());
if (Key_AlarmLongPress(3))
{
char *sms = BuildSMS(GPS_GetLatLon());
SIM800_SendSMS(FAMILY_PHONE, sms);
}
}
}
4.2 超声波测距
Trig 输出 10 μs 脉冲 → 计时 Echo 高电平 → 距离 = 高电平时间 × 声速 / 2。
4.3 水位检测
SR-01 输出模拟电压,ADC 多次采样取平均后转换为水位百分比。
4.4 K210 红绿灯识别
K210 通过 UART 反馈识别结果,如 RED 32(红灯剩余 32 秒)。
4.5 SIM800C 短信报警
发送 AT 指令 AT+CMGS="138xxxxxxxx"、短信正文与终止符 0x1A,通知家人当前经纬度。
五、系统实现与测试
5.1 硬件焊接与测试
K210 模块尽量紧贴摄像头;GPS 天线朝上;GSM 模块使用 4 V 单独供电。
5.2 软件调试
Keil 5 + ST-Link,结合串口助手观察 GPS 报文与 SIM800C 返回的 OK。
5.3 功能测试结果
| 测试项目 | 操作 | 结果 |
|---|---|---|
| 障碍物报警 | 30 cm 距离 | 蜂鸣器响 |
| 补光 | 遮蔽光敏电阻 | LED 亮起 |
| 水位预警 | 模拟水深 | 语音报警 |
| 红绿灯识别 | 摄像头识别绿灯 | 语音播报 “绿灯 30 秒” |
| 紧急短信 | 长按报警键 | 家人收到 GPS 位置 |
六、总结
本文提出的智能导盲拐杖系统以 STM32F103C8T6 为控制核心,集成超声波、光敏、水位、K210 摄像、GPS、语音与 GSM 通信。整套方案在结构上以分层模块设计,方便维护与扩展,能够为视障人士出行提供完整的感知、语音反馈、定位导航与紧急联络能力,同时也可作为高校嵌入式与物联网课程的综合性项目范例。
七、资料内容完整工程资料(原理图、PCB、代码、元件清单)

八、资料获取方式

更多推荐


所有评论(0)