项目简介
乌克兰道路上因超速引发的交通事故问题严峻,2020年数据表明,35%的交通事故受伤和超50%的道路死亡事故与超速相关。本项目为解决驾驶员可能未留意限速标志而不遵守规则的问题,开发了结合雷达和LED矩阵的智能标志,能显示限速标志和接近车辆的当前速度。
项目的主要特性和功能
- 实时速度显示:借助HB100微波传感器实时测量接近车辆的速度,并在LED矩阵上显示。
- 超速提醒:车辆速度超过预设限速时,速度显示数字变红,两侧显示两个感叹号。
- 多标志显示:可利用Python脚本将图像转换为RGB数据,在LED矩阵上展示不同标志。
- 速度计算准确:运用“截断均值”算法计算平均速度,提升速度显示的准确性。
安装使用步骤
前提条件
准备好项目所需的所有组件,包含6个WS2812B LED矩阵、HB100微波传感器、STM32F103C8微控制器,同时下载好STM32 Cube IDE(版本1.6.1)。
项目设置
- 复制本项目仓库。
- 在STM32 Cube IDE中,选择“File/New/STM32 Project from an Existing STM32CubeMX Configuration File (.ioc)”。
- 用复制版本的文件替换生成的
Core/src/main.c
。 - 将
Core/Src/WS_matrix.c
文件添加到Core/src/
目录。 - 将
Core/Inc/WS_matrix.h
、Core/Inc/additional_signs.h
、Core/Inc/digits.h
、Core/Inc/sign_part.h
文件添加到Core/inc/
目录。
项目使用
- 成功编译项目后,将程序烧录到微控制器。
- 标志上方四个矩阵显示限速标志,下方两个矩阵显示接近车辆的当前速度。
- 可在主循环前调用
setSpeedLimit(int limit)
函数设置限速。 - 若要显示通过Python脚本生成的标志,注释掉
WsSetSign(avgVel)
函数的调用,取消注释WsImgSet(sign)
,重新编译项目并烧录到微控制器。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】