Arduino 制造光污染 | 全彩灯带 WS2812

WS2812 是什么样的?

按照惯例,打开淘宝,输入 WS2812 关键词即可搜到一堆产品,如下图所示(图片来自淘宝)。其中每一个 LED 灯珠可以单独控制,一个 IC(WS2812) 驱动 1个 LED 芯片;可以根据不同的需求有不同灯珠间距可供选择,如 30灯/米、60灯/米、74灯/米、96灯/米、100灯/米、144灯/米等规格;还可以根据实际情况选择灯带的防水处理版本。

WS2812 灯带的特点和应用

特点

  • 节约能源和环境保护。
  • 高亮度5050贴片LED灯条。
  • 光的均匀性,在一排柔和,色彩丰富。
  • 低功耗,高强度。
  • 难冲击破碎,便于运输。
  • 匹配的RGB控制器和电源供应系统。
  • 宽视角。
  • 各种单色和RGB颜色。
  • 支持华硕主板 5v 3pin 可编程接口

应用场景

  • 点亮多彩家居生活, DIY 家用灯的走廊、楼梯、步道。
  • 酒店装修使用,剧院、俱乐部、购物中心、节日和表演。
  • 建筑装饰照明,拱门,冠桥边缘照明,安全照明和应急。
  • 广泛应用于标牌字母背光,隐蔽照明和广告标志照明。
  • 适用于汽车和飞机模型装饰,轮廓照明。 

WS2812 灯带 配合 Arduino 使用

连接方式

一般来说,该灯带中的每个灯珠的连接处有三个 pin 接口,分别为 电源正极(+5v)、电源负极和数据口(D0),且单个灯珠都能单独控制。需要多少个灯珠就用剪刀剪下多少颗灯珠,且这些剪下来的灯珠都可以单独控制(如下图所示)。和 Arduino 相连也是非常的方便,以 Arduino UNO 为例,连接方式对应表格如下所示:

Arduino UNOWS 2812
5VVCC
GNDGND
任一数字口。(在 Adafruit_NeoPixel 库中,默认为数字口 D6)D0
Arduino UNO 与 WS 2812 的连接对应表

找一个合适的库

推荐 Arduino 控制 WS2812 的库文件为 Adafruit_NeoPixel ,可以通过 Github 找到该库文件,直接点击下载 zip 包,在 Arduino IDE 中安装库文件(项目 --> 加载库 --> 添加 .zip 库)即可。

安装完毕之后,打开 文件 --> 示例 --> 第三方库示例 找到 Adafruit_NeoPixel 的示例代码(如下图所示)。点击“上传”按钮后,即可查看效果,从示例代码中可以选取代码用于自己的项目之中。

一些常用的点亮方法

变化颜色

下方两种函数均可以指定灯珠的颜色,理论上有 255*255*255 种颜色,strip 为在代码一开始所定义(如上图),如:

strip.ColorHSV() 函数可以填 1 个参数或者 3 个参数。这里使用了 3 个参数的风格,第一个为

  • 色调、色相(0 to 65535),最后一个为明度 (0 to 255) ,第二个数值为饱和度常量 255 。
  • HSV 表达彩色图像的方式由三个部分组成:

    • Hue(色调、色相)
    • Saturation(饱和度、色彩纯净度)
    • Value(明度)

    淡进淡出

    顺序点亮

    标签:

    发表评论

    您的电子邮箱地址不会被公开。 必填项已用*标注