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

使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明

零部件与材料

Arduino Nano R3 ×1
NeoPixel LED 灯带 ×1

软件与在线服务

项目简介

简单易制的动态跑马灯照明

本教程将指导你为街机柜或其他项目添加动态灯光效果。适用于跑马灯背光及多种装饰用途。

所需材料:Arduino Nano(或兼容板)、一条 NeoPixel 灯带、三根导线。

制作步骤

请观看下方视频了解完整制作过程:

快速接线指南

硬件连接: 从 Arduino Nano 焊接三根导线至 NeoPixel 灯带:5V 电源、数字信号线(本例使用 Arduino 的 D2 引脚)、地线。

小贴士: 使用热缩管捆绑导线,特别是灯带连接处(确保焊点被覆盖),可有效防止焊点脱落。

使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明
使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明
使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明

代码配置: 在草图中设置连接灯带的 LED 数量,上传至 Arduino 并测试。本例使用了白色的“流动”、闪烁和呼吸动画。你可以修改代码实现各种动画及多色效果,或仅作为简单背光使用。

使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明

结构组装: 裁剪两块适合柜体的纸板。一块作为背板粘贴 NeoPixel 灯带,另一块平铺于跑马灯底部后方,避免光线直射向下。随后修剪边缘使其完美贴合。

使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明

在纸板上贴布基胶带使其变黑,将灯带粘贴固定,导线和 Nano 板用胶带固定在纸板背面。

使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明
使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明
使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明

将两部分装入柜体,用 USB 线将 Nano 连接至 5V 电源(本例接入树莓派 USB 口)。

使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明

装回原厂跑马灯面板或自制面板。本例设计简单,打印相纸裁剪适配。

进阶建议: 若找专业印刷公司将设计印在透明胶片上,效果将更佳。

使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明

所需库

许可声明

部分代码参考网络资源,致敬原作者。代码仅供个人非商业用途。联系方式:ericBcreator@gmail.com

源代码

/* **********************************************************************
 * 跑马灯 Neopixel 照明 - by ericBcreator
 * 适用于(街机)跑马灯的简单脚本
 **********************************************************************
 * 最后更新 20181021 by ericBcreator
 * 灵感来源:sandyjmacdonald 文章
 * https://sandyjmacdonald.github.io/2015/12/02/picade-errata/
 * 组件:
 * - Neopixel 灯带
 * - Arduino Nano
 * 代码免费供个人使用,禁止商用。请保留此头部信息。
 * 联系:ericBcreator@gmail.com
 ********************************************************************** */

#include <Adafruit_NeoPixel.h>
#define PIN 2  // 灯带数据引脚

// 变量初始化
int numOfLeds = 11;        // 灯带 LED 数量
int minBrightness = 80;    // 最小亮度 (0-255)
int maxBrightness = 255;   // 最大亮度 (0-255)
int walkingLedsDelay = 250; // 流动动画延时(ms)
int flashDelay = 250;      // 闪烁延时(ms)
int numOfFlashLoops = 3;   // 闪烁循环次数
int numOfPulseLoops = 10;  // 呼吸循环次数
int pulseDelay = 20;       // 呼吸渐变延时(ms)

Adafruit_NeoPixel strip = Adafruit_NeoPixel(numOfLeds, PIN);

void setup() {
  strip.begin();
}

void loop() {
  walkingLeds();  // 流动动画
  flashLeds();    // 闪烁动画
  for (int i = 0; i < numOfPulseLoops; i++) {
    pulseBrightness(); // 呼吸动画
  }
}

void walkingLeds() {
  setLedColorsToZero();
  strip.setBrightness(maxBrightness);
  strip.show();
  for (int x = numOfLeds; x > 0; x--) {
    strip.setPixelColor(x, strip.Color(255, 255, 255));
    strip.show();
    delay(walkingLedsDelay);
    strip.setPixelColor(x, 0);
    strip.show();
  }
}

void flashLeds() {
  setLedColors();
  for (int i = 0; i < numOfFlashLoops; i++) {
    strip.setBrightness(maxBrightness);
    strip.show();
    delay(flashDelay);
    strip.setBrightness(minBrightness);
    strip.show();
    delay(flashDelay);
  }
}

void pulseBrightness() {
  setLedColors();
  for (int i = minBrightness; i < maxBrightness; i++) {
    strip.setBrightness(i);
    strip.show();
    delay(pulseDelay);
  }
  for (int i = maxBrightness; i > minBrightness; i--) {
    strip.setBrightness(i);
    strip.show();
    delay(pulseDelay);
  }
}

void setLedColors() {
  for (int x = 0; x < numOfLeds; x++)
    strip.setPixelColor(x, strip.Color(255, 255, 255));
}

void setLedColorsToZero() {
  for (int x = 0; x < numOfLeds; x++)
    strip.setPixelColor(x, strip.Color(0, 0, 0));
}

原理图

使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明

制造工艺

  1. 打造低成本家庭无线传感器网络:Arduino + 树莓派 + Xively 物联网平台
  2. Arduino与树莓派构建互联网控制视频流机器人完整指南
  3. 用 Alexa 控制吊扇:分步指南
  4. Arduino Cloud 集成:随时随地监控家中温度
  5. 通过 Arduino IoT Cloud 用 Alexa 控制电视:分步指南
  6. Arduino OpenTherm 智能供暖控制:实现中央供暖系统的监控与自动化
  7. ThimbleKrox:基于 Arduino Micro 与 MPU-6050 的指戴式鼠标控制器
  8. Arduino Nano 与 WS2812 灯带打造 1D 乒乓球游戏——分步 DIY 教程
  9. 1Sheeld + Arduino 手机无线控制家庭灯光系统
  10. 解锁高阶自动化:为何3D视觉是您项目的必选项?
  11. 掌握电气设计:用 E3.schematic 功能优化项目
  12. Arduino MKR1000 开发板详解:引脚定义、Wi-Fi/加密芯片、供电方式与上手指南