电子说
我最近购买了一个Neo Pixel LED灯条,它的工作方式给我留下了深刻的印象。微型LED具有内置驱动器IC,可帮助我们单独控制每个LED,并可产生多种颜色。作为一个沉迷于色彩的花哨的人,我真的很喜欢看到这些微小的LED变色,所以我决定自己制作一些东西,让它在夜晚为我的卧室着色。
我不仅希望这些LED改变颜色,而且还应该有逻辑推理。就在那时,我看到了利兹大学色彩科学与技术教授斯蒂芬韦斯特兰先生的文章。他声称,当人类处于在彩色灯光下时,它们会根据颜色在生理和心理上做出反应。这个概念并不新鲜,并且已经以色光疗法(Chromotherapy)的名义广泛实施,并且用于此的装置被称为心情灯。
所以我最终决定深入研究色光疗法,并制作一个可以根据一天中的时间改变颜色的心情灯,也可以通过手机控制。除此之外,我还添加了一个LDR光敏电阻,可以在白天自动关闭它,也可以选择设置唤醒警报,它会用亮橙色(阳光)唤醒,另一个闹钟让LED处于睡眠状态。温和的紫色(夜空)颜色让你入睡。听起来很有意思吧?让我们来开始制作吧。
色光疗法 - 心情灯
有许多所谓的DIY心情灯,但只是随意改变颜色而没有任何目的。经过一番搜索后,我发现心情灯应该具有最小的流明亮度,并且还应该以不同的强度逐渐改变颜色。每种颜色对精神和身体都有不同的影响。我列出了下表中对每种颜色的影响。
因此,根据这些数据,我设计了心情灯,依据当天的时间来改变颜色。当然我添加了一些个人风格,所以随意编辑相应的程序。
所需的材料
● Neo Pixel LED灯
● Arduino开发板
● DS3231 RTC模块
● HC-05蓝牙模块
● LDR
● 100K电阻
● 12V电源
电路原理图
使用蓝牙控制Arduino心情灯的完整电路图如下。
如您所见,我们使用了模块,因此连接非常简单。为了更新当前时间,我们使用了DS3231实时时钟(RTC)模块。该模块使用I2C通信,可以直接用Arduino的5V引脚供电。 SDA和SCL引脚分别连接到I2C引脚A4和A5。
接下来我们使用了HC-05蓝牙模块。通过此蓝牙连接,我们可以在LED上设置所需的颜色,还可以设置LED的睡眠时间和唤醒时间。蓝牙模块也由5V引脚供电,Tx和Rx引脚分别通过引脚11和10连接到Arduino。
当房间非常明亮时。改变LED的亮度是没有意义的,因此我们使用LDR来检测房间的亮度,如果它非常明亮,LED会自动关闭,只有在房间很暗时才会重新开启。我们已经形成了一个分压网络,其中一个电阻为LDR本身,另一个为100K电阻,并将其连接到Arduino的引脚A0,这样LDR的电阻会根据光线的变化而变化,Arduino读取的电压也会变化。在此处了解有关将LDR与Arduino连接的更多信息。
最后,neo pixel灯连接到Arduino的引脚6,这是一个PWM引脚,并由Arduino的5V引脚(vcc)供电。我已经在我的项目中使用了Arduino Pro-mini,因为它更小,并且在将它包装在机箱内时会很方便。您可以使用您选择的任何开发板。整个设备由12V适配器供电,该适配器连接到Arduino的RAW引脚。 Arduino上的板载稳压器将12V转换为5V,然后用于通过vcc引脚为所有模块供电。
Neo Pixel LED及其工作原理
该项目的主要组件是neo Pixel LED。 Neo Pixel LED的想法最初来自Adafruit,他们在RBG LED内部使用LED驱动器IC WS2812。该驱动器IC可以从Arduino等控制器接收控制信号,并根据控制信号控制RBG颜色的强度,从而帮助我们实现所需的颜色。
您可以将这些LED串联连接,其中很酷的功能是每个LED都可以单独寻址,这意味着可以通过相应调整控制信号使每个LED发出不同颜色的光。所以请记住,与普通LED不同,您可以仅使用电源为Neo Pixel 供电,它有三个引脚,即Vcc、地和数据。 Vcc和接地引脚用于为Led供电,其范围为3.3V至5V,数据引脚用于发送控制信号,该信号决定哪个Led应以哪种颜色发光。
由于Adafruit自己提供的库,使用Neo Pixel LED非常简单。今天市场上有许多不同类型的Neo Pixel LED可供不同供应商使用,他们使用不同的驱动IC。但是所有这些都可以通过这个Adafruit库来控制。
编辑:hfy
全部0条评论
快来发表一下你的评论吧 !