亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

车库停车助理

组件和用品

Arduino Nano R3
× 1
超声波传感器 - HC-SR04(通用)
× 1
电容 1000 µF
× 1
1N4148 – 通用快速切换
× 1
通孔电阻,470 ohm
× 1
WS2812B LED 灯条 1M IP30 5VDC
× 1

必要的工具和机器

3D 打印机(通用)
烙铁(通用)

关于这个项目

这是一个车库停车传感器,使用可寻址的 RGB LED 在车辆驾驶员接近并最终到达停止(停车)位置时向他们提供反馈。观看视频:

我围绕我手头的一些丙烯酸 1/2" 直径半圆形材料(切割成 20-7/16" 长)设计了这个,用作透镜,也用于将燕尾部分固定在一起。这可以很容易地在互联网上以每英尺 0.66 美元的价格购买,但是,我还提供了一个可以使用透明灯丝分段打印的镜头模型。

第 1 步

准备 LED 灯带(WS2812b LED 灯带可单独寻址 RGB Smart Pixel 30 LED 的 1 米长灯带)。将灯条切成两 (2) 个 15 个 LED 段,并将引线焊接到每个灯条开头的每个段上。条带上的箭头指向需要潜在客户的“AWAY”。

第 2 步

组装所有导轨部分(每侧一个外导轨和两个内导轨段),中间带有外壳。

第 3 步

将 LED 灯带的引线馈入每一侧的外壳中,并用背带粘合。注意 LED 灯条将从每个外轨末端停止约 1/2"

第 4 步

将镜头一直滑入外壳的每一端,以将所有燕尾榫锁定到位。如果使用印刷镜片,则每面需要 4 个。它们旨在弥合燕尾形区域。

第 5 步

将带有端盖的组件安装到背板上(我使用了 1/2" mdf,它被切割成 2" 宽 x 45-1/8" 长)。使用小盘头或平头螺钉连接组件(注意:做请勿使用圆头,否则稍后需要重新编程参数时,USB 线将无法插入插槽。)

第 6 步

给电子设备接线。注意电容器的位置。需要电容器来防止电源电压尖峰。在 LED 的信号线(引脚 7)上使用了一个电阻器,在 Arduino (V+) 上使用了一个二极管,以防止在未打开电源的情况下插入 USB 时出现电压反馈。如果没有二极管,Arduino 将尝试为 LED 提供电压,从而导致通过板载电压调节的电流过大。二极管和电阻器与接线在线焊接,并覆盖有热缩管。该外壳需要从 Arduino 下方靠近底部的外部钻孔,以从电源馈送电线。我没有将它设计成模型,因为尺寸将取决于使用的电线类型。我建议使用 18/2 线。我用了门铃线,并在外壳外面放了一个连接器。

第 7 步

使用 2.5mm 螺丝固定 Arduino,并完成与 Arduino 的接线连接。固定端伸入外壳上的方孔中。我移除了 Arduino 上最外面的引脚(未使用)以使安装更容易。

第 8 步

使用 2.5mm 螺丝将超声波检测器 (HC-SR02) 固定到盖子上并按住。完成与传感器的焊接连接。注意:请确保电线朝向传感器的中心,以免在组装时干扰侧壁。

第 9 步

用 3mm 螺丝将盖子安装到外壳上。

第 10 步

使用以下代码对 Arduino 进行编程。在编译您的程序之前,使用“FastLED”和“QuickStats”更新您的 IDE 库。注意:调整'startdistance'参数(传感器首先检测到车辆接近的点,以及'stopdistance'(车辆的最终停车点)。传感器范围为3cm到400cm,因此启动和停止参数需要在这些限制。

第 11 步

在车库门开启器上,安装一个内置插座的灯座适配器。将 5VDC 电源插入这条线,然后运行到灯条单元。灯条只会从门打开到门灯超时亮起。这可以防止灯条一直亮着。

代码

  • Arduino 代码
Arduino 代码Arduino
/** 车库停车传感器 - 由 Bob Torrence 发布*/#include #include QuickStats stats; //初始化此类的实例//定义引脚#define LED_PIN 7#define NUM_LEDS 15const int trigPin =9;const int echoPin =10;//定义变量CRGB leds[NUM_LEDS];float duration;float durationarray[15]; int距离;int停止距离=115; //距离传感器的停车位置 (CENTIMETERS)int startdistance=400; //汽车驶入时从传感器到开始扫描的距离(CENTIMETERS)int increment=((startdistance-stopdistance)/15);void setup(){pinMode(trigPin,OUTPUT); // 将trigPin 设置为OutputpinMode(echoPin, INPUT); // 将 echoPin 设置为 InputFastLED.addLeds(leds, NUM_LEDS);Serial.begin(9600); // 启动串行通信}void loop() { for (int i=0;i<=14;i++){// 清除trigPindigitalWrite(trigPin, LOW);delayMicroseconds(2);// 将trigPin 设置为HIGH state for 10 micro secondsdigitalWrite(trigPin, HIGH);delayMicroseconds(10);digitalWrite(trigPin, LOW);//读取echoPin,返回以微秒为单位的声波传播时间durationarray[i] =pulseIn(echoPin, HIGH);distance=durationarray[i]*0.034/2;Serial.print(distance);Serial.print(" "); } duration =(stats.median(durationarray,15));// 计算距离distance=duration*0.034/2;// 在串口监视器上打印距离Serial.print("Distance:");Serial.println(distance); if (distance=stopdistance+increment*14){ for (int i =0; i <=14; i++) { leds[i] =CRGB (0, 255,0); FastLED.show();延迟(50);}}

定制零件和外壳

示意图

- 更新 4-21-19 以更正二极管方向

制造工艺

  1. TinyML-Language Detector-基于 Edge Impulse &Arduino
  2. Arduino Gyroscope Game with MPU-6050
  3. Arduino 数字骰子
  4. DIY 37 LED 轮盘游戏
  5. ATtiny85 迷你街机:贪吃蛇
  6. 便携式测距仪
  7. Arduino Audio Reactive Desk Light
  8. 个人保健助理 PHA
  9. 铜电镀
  10. NeoMatrix Arduino Pong
  11. 光序列创建器
  12. 智能插头