智能车库停车辅助系统:RGB LED 条可视化引导
所需元件与材料
| 元件 | 数量 |
|---|---|
| Arduino Nano R3 | 1 |
| 超声波测距模块 HC-SR04 | 1 |
| WS2812B 可编程 RGB LED 灯带 (1米, 30灯/米, 5V) | 1 |
| 电解电容 1000µF (防电源尖峰) | 1 |
| 快恢复二极管 1N4148 (防 USB 反向供电) | 1 |
| 电阻 470Ω (LED 信号线串联) | 1 |
所需工具
- 3D 打印机 (打印外壳、透镜、固定件)
- 电烙铁
项目简介
安装在车库前方的可视化停车辅助灯条。超声波传感器实时测量车辆距离,30 颗 WS2812B LED 以颜色与亮度指示停车进度:
- 绿色逐级点亮:车辆进入检测区,距离目标越近,亮灯数越多
- 黄色双灯闪烁:接近目标位置 (最后一段)
- 全红常亮:到达精确停车位
外壳采用半圆透镜 (亚克力或透明 3D 打印) 兼作结构连接,整体安装于背板上,供电取自车库门开启器灯座 (随灯亮灭,避免长亮)。
组装步骤概览
- LED 灯带裁剪:剪成两段各 15 灯,焊接导线 (箭头方向远离焊盘)
- 导轨组装:外轨、内轨段、中间盒体拼装
- 灯带安装:导线穿入盒体,灯带贴在导轨内侧,距末端约 1/2 英寸
- 透镜插入:从两端滑入锁紧燕尾槽 (3D 打印透镜需 4 段/侧)
- 背板固定:用沉头螺丝固定组件于背板 (避免圆头螺丝干扰 USB 口)
- 电子接线:按原理图焊接电容、电阻、二极管 (热缩管绝缘),外部引出 18/2 电源线
- Arduino 固定:2.5mm 螺丝锁紧,拔除未用引脚便于安装
- 超声波模块安装:盖板上用 2.5mm 螺丝压板固定,导线朝内
- 盖板合盖:3mm 螺丝锁紧
- 烧录固件:需安装
FastLED与QuickStats库,修改startdistance(检测起始距离) 与stopdistance(目标停车距离),单位 cm,范围 3~400 - 供电接入:车库门开启器灯座接 5V 电源模块,灯亮时系统供电
核心代码逻辑
#include
#include
QuickStats stats;
#define LED_PIN 7
#define NUM_LEDS 15 // 单侧 15 颗,双侧共 30
const int trigPin = 9, echoPin = 10;
CRGB leds[NUM_LEDS];
float duration, durationarray[15];
int distance, stopdistance = 115, startdistance = 400;
int increment = (startdistance - stopdistance) / 15;
void setup() {
pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);
FastLED.addLeds(leds, NUM_LEDS);
Serial.begin(9600);
}
void loop() {
// 15 次测量取中位数滤波
for (int i=0; i<=14; i++) {
digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin, LOW);
durationarray[i] = pulseIn(echoPin, HIGH);
}
duration = stats.median(durationarray, 15);
distance = duration * 0.034 / 2;
// 分 15 段显示
if (distance < stopdistance) { /* 全红 */ }
else if (distance < stopdistance + increment) { /* 第1灯黄,其余灭 */ }
else if (distance < stopdistance + increment*2) { /* 前2灯黄 */ }
// ... 依此类推至 increment*13
else if (distance < stopdistance + increment*14) { /* 前14灯绿 */ }
else { /* 全绿:车辆尚远 */ }
delay(50);
}
原理图

关键设计细节
- 中位数滤波:15 次采样取中位值,有效抑制超声波偶发跳变
- 电源保护:1000µF 电容抑制开关尖峰,1N4148 防 USB 供电时反向灌入 LED 烧毁稳压器
- 信号完整性:470Ω 电阻匹配 WS2812 数据线阻抗
- 模块化结构:燕尾槽 + 透镜自锁,无需胶水,易拆卸维护
制造工艺
- 基于 Edge Impulse 的 TinyML 语言检测器:Arduino Nano 33 BLE Sense 实战
- Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- 用 Arduino Nano 自制 37 灯珠轮盘赌游戏机
- ATtiny85 迷你街机:贪吃蛇 — 打造掌上 OLED 游戏机
- 便携测距仪 DIY 套件:Arduino Nano + HC-SR04 + 18650 电池 + 3D 打印外壳
- 声控氛围灯:Arduino Nano + 麦克风模块 + WS2812B 灯珠
- 个人健康助手(PHA):基于AWS IoT的社区心脏骤停急救智能穿戴方案
- 铜电镀智能系统:基于 Arduino UNO 的可控电解装置
- Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
- 使用 Arduino 移位寄存器创建绚丽灯光序列
- 智能插座:基于 Arduino 与 RTC 的 120V 定时开关插座