使用Neopixel设置多色橱柜照明

作者: Digi-Key 工程师 Jerry Sturre

项目

最近,橱柜照明非常热门,因为这种方式不仅可以控制成本,也可以给房间带来非凡的效果。对一些人来说,标准的冷白色或暖白色就足够了,但如果你想打造一些不同的效果呢?那就试试Neopixel吧!虽然设置起来比标准的单色照明要复杂一些,但如果能让你按心情来改变房间的颜色,那一切都是值得的。

在开始设置之前,你只需准备一条Neopixel灯带,长度需足以覆盖需要照明的区域(这些灯带是可切割和可链接的,只需确保总长度够长即可);一个控制板(Arduino Uno是最易操作的);一个5VDC电源,要有足够的电流容量以便为你的Neopixel供电(为确保安全,每个LED需要60mA),并学习一些照明电子设备的组装技巧。

Neopixel灯带需要连接三条线路——5VDC电源、接地线和数据线。Adafruit撰写的一篇文档中详细描述了如何将Neopixel连接到你的微控制器上-点击这里阅读文档-此处不再赘述。为实现我的目的,我添加了4个电位器来控制红灯、绿灯和蓝灯的数量,以及灯光的总体亮度。电位器连接起来非常方便,只需将一个引脚连接5VDC电源、一个引脚接地,并将中间引脚连接Arduino(A0-A5)上的模拟引脚即可。上述指南提供了电源布线相关的指导,但重要的是,Arduino和LED灯带虽然需要分开供电,但仍然共享接地线。你也可以使用同一个电源,只需确保Arduino和灯带都有各自专用的5VDC电源线路,但要同时接地。

代码

这其中涉及的代码比较简单,上传下方的简单代码即可开始运行:

/ 非常感谢 Adafruit www.adafruit.com )提供的优秀的 Neopixel 库! /

#include <Adafruit_NeoPixel.h>

#ifdef __AVR__

#include <avr/power.h>

#endif

#define PIN 6 *//what pin is your strip connected to?*

#define NUMPIXELS 30 *//how many pixels in your strip*

**int** delayTime = 5; *// delay for 5 milliseconds*

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

**void** **setup** ()

{

pixels.begin(); *//initialize neopixel library*

}

**void** **loop** ()

{

**int** bright = map(analogRead(A5),0,1024,0,255); *//value for brightness*

**int** red = map(analogRead(A2),0,1024,0,255); *//value for red*

**int** green = map(analogRead(A3),0,1024,0,255); *//value for green*

**int** blue = map(analogRead(A4),0,1024,0,255); *//value for blue*

pixels.setBrightness(bright); *//apply the brightness value to the led strip*

*// The following "for" loop sets the colors to each led, then turns them on.*

**for** ( **int** i=0;i<NUMPIXELS;i++){

pixels.setPixelColor(i, pixels.Color(red,green,blue));

pixels.show();

delay(delayTime);

}

}

扩展

你还可以根据自己的经验和想法来进行扩展。比如想让灯光随着音乐跳动?可以添加麦克风。还是想让灯光随着时间改变?只需添加RTC,你醒来时就能看到色彩斑斓的日出了!亦或者借助火花或火焰的效果,营造一种野营的氛围!这都由你说了算。有了这一基本硬件,再花些时间编写代码,你就可以对自己的厨房、卧室或者客厅进行大改造了。

Neopixel 灯带:

image image image

可使用的电源:

image image image

Arduino Uno 零件编号: A000066 Digi-Key 零件编号: 1050-1024-ND

image