社区讨论 · 政策

花50块钱,自己动手做一个小米澎程同款低速慢行灯

飞控少年飞控少年8月2日2026/08/02 86 浏览

标题:花50块钱,自己动手做一个低速慢行灯

被朋友安利了低速慢行灯,说晚上窄道泊车时两侧自动亮起,照亮盲区。我翻了下新闻,确实这么回事——某些车型在时速低于10km/h时自动打开,照亮两侧路面。听起来就是个低成本但实用的功能。但问题是我没车,不过作为一个天天跟传感器和灯打交道的嵌入式工程师,我决定用几十块钱的材料自己复刻一个,体验一下这玩意儿到底好在哪。

先说结论:值不值得做? 如果你喜欢动手,或者想给孩子做个科学小实验,这套方案完全可行。效果肯定不如原厂车灯,但思路类似——用距离传感器检测“障碍物”(比如墙壁或行人),模拟出“低速靠近”的场景,自动点亮LED。整个过程大概需要2小时,成本不超过50块。

你需要准备什么

去淘宝或拼多多买这些东西,总价大概40-50元:

  1. Arduino Nano 或兼容板(十几块钱,就是一块小电脑,能跑程序)
  2. HC-SR04超声波传感器(几块钱,像两只小眼睛,能测距离)
  3. 5mm LED灯 两个,白色或黄色(几毛钱一个)
  4. 220欧姆电阻 两个(保护LED用的)
  5. 面包板 一块(塑料板,插线用的,不用焊接)
  6. 杜邦线 一捆(公对母和公对公各来几根)

如果你完全不懂这些名词,别怕。我当年第一次接触面包板也抓瞎,后面会每一步写清楚接哪里、插什么。

第一步:把零件插到面包板上

面包板长这样:中间有一排排小孔,每排的5个孔内部是连通的。拿Arduino板,小心地插到面包板正中间,让板子两边的引脚分别插进两排孔里。注意方向——USB接口朝向板子边缘。

踩坑1: 我第一次插反了,结果程序下载不进去。板子上的小芯片文字朝上,USB口朝上对着你,这样就不会错。

插好后,把超声波传感器插到面包板另一侧,两个圆形“眼睛”朝外。传感器的四个脚:VCC、Trig、Echo、GND。用杜邦线连接:

  • VCC → Arduino 5V引脚(供电)
  • Trig → Arduino D9引脚(发信号)
  • Echo → Arduino D10引脚(收信号)
  • GND → Arduino GND引脚(地线)

LED灯有长脚和短脚。长脚是正极,串一个220欧姆电阻后连到Arduino D3引脚;短脚连到GND。另一个LED同样,正极连到D5,负极连GND。电阻怎么接?把电阻一脚插进LED正极同排的孔,另一脚插到D3所在的孔。

踩坑2: 电阻一定要串,不然LED会烧掉。我第一次图省事没接,LED直接冒烟,报废一个。

第二步:给Arduino写代码

用USB线把Arduino板连到电脑,打开Arduino IDE(免费软件,百度搜“Arduino下载”)。如果没装过,去官网下最新版,安装后打开。

新建一个文件,复制下面代码进去:

// 定义引脚
#define TRIG_PIN 9
#define ECHO_PIN 10
#define LED_LEFT 3
#define LED_RIGHT 5

void setup {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(LED_LEFT, OUTPUT);
  pinMode(LED_RIGHT, OUTPUT);
  Serial.begin(9600); // 打开串口监视器,方便调试
}

void loop {
  // 发送超声波脉冲
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);

// 读取回波时间(微秒)
  long duration = pulseIn(ECHO_PIN, HIGH);
  // 换算成距离(厘米):声音速度340m/s,除以2是来回
  float distance = duration * 0.034 / 2;

// 模拟低速状态:用距离检测代替车速,当障碍物靠近(距离小于30厘米)时点亮LED
  if (distance < 30 && distance > 0) {
    digitalWrite(LED_LEFT, HIGH);
    digitalWrite(LED_RIGHT, HIGH);
    Serial.println("灯亮!距离:");
    Serial.println(distance);
  } else {
    digitalWrite(LED_LEFT, LOW);
    digitalWrite(LED_RIGHT, LOW);
  }
  delay(200); // 每0.2秒检测一次
}

点击工具栏的“验证”按钮(勾号图标),检查有无错误。如果显示“编译成功”,点“上传”按钮(右箭头),程序会烧录到板子里。上传时板子会闪烁几下,等几秒显示“上传成功”。

踩坑3: 上传时如果报错“端口未找到”,去“工具→端口”里选一下正确的COM口。Windows下一般是COM3或COM4。如果还是没有,检查USB驱动是否安装,或者换一根数据线(有些线只能充电不能传数据)。

第三步:测试你的低速慢行灯

把板子接上USB供电(充电宝也行)。说实话,用手在超声波传感器前面慢慢靠近,当手掌距离小于30厘米时,两个LED应该同时亮起。手拿开,灯灭。如果灯不亮,检查接线和代码里的引脚号是否一致。

踩坑4: 传感器正前方有障碍物时,如果距离太近(比如小于2厘米),HC-SR04会测不准,灯可能不会亮。这是正常现象,实际汽车的低速慢行灯也不会在紧贴墙时亮起。调整阈值到30厘米以上就好。

这个装置跟真正的低速慢行灯

原厂灯靠车速传感器触发,而我们用距离传感器来模拟——当障碍物靠近时,相当于车辆处于低速靠近状态,从而点亮LED。虽然触发方式不同,但核心逻辑都是“特定条件下自动照亮盲区”。如果你感兴趣,还可以把阈值改成50厘米,或者用蜂鸣器加上声音提示,完全取决于你的创意。

0 条回复

?
Ctrl + Enter 快速回复
还没有回复,来抢沙发吧
花50块钱,自己动手做一个小米澎程同款低速慢行灯 - 物界前沿论坛