最近偶得一瓶价格不菲的矿泉水,不过喝完也没觉得出它和普通矿泉水有啥差异,只是以为把瓶子丢了有点可惜,琢磨了一下,于是就有了下面制作七彩氛围灯的想法。氛围灯主体为这个玻璃矿泉水瓶的瓶身,电路采取ESP-01S WiFi模块做为主控,通过掌握WS2812B全彩环形灯实现不同灯光模式的呈现,恰好藏身于瓶盖中。如果手头没有这样的玻璃瓶子,普通的塑料矿泉水瓶也是可以的,只是要想办法将电路部分奥妙的隐蔽起来。
这便是那瓶价格不菲的矿泉水
材料清单
实物接线图
ESP-01S模块的GPIO0、RST、EN均已配置上拉,利用时将GPIO0与微动按键相连,这样模块上电时,长按微动按键使GPIO0为低电平,ESP-01S即可进入程序烧写模式。
实物装置
图中须要用到的元器件实物,分别是Micro USB接口板、ESP-01S模块、5V转3.3V模块、WS2812B RGB全彩环形灯。
按照前面的实物接线图,用导线将各模块连接起来,这样硬件连接部分差不多就好了。
接下来把瓶盖处理一下,须要利用钻头和刻刀在其侧面开出微动按键及Micro USB的孔位。要想把孔的位置和大小做得比较精确的话,手头没有得当的量具,只能反复的比对。
将前面焊接好的模块放置到瓶盖中。由于导线用的有点粗了,装置时碰着不小的麻烦,好在末了还是把所有的东西都塞下了。
这是将所有模块都安装到位后的样子,看起来是不是整洁多了。
先上个电试下灯。OK!
没有问题,彩灯全亮了!
怎么样?看起来效果还是十分酷炫吧!
把瓶盖装回去是这个样子的。经由精心丈量,按键的孔位以及按键的高度都恰到好处,手按过去不以为突兀,按起来也不费力。
软件编写
首先打开Arduino IDE,在菜单“工具”->“开拓板”中选择你正在利用的ESP8266开拓板即可。这里我们选“Generic ESP8266 Module”。
在Arduino IDE中,对WS2812B全彩LED的掌握,可以通过引用Adafruit NeoPixel库来实现。不须要自己花韶光研讨WS2818B的手册后再来编写驱动代码。这便是Arduino开源平台最值得称道之处,有非常丰富的第三方库函数可用,真是省时又省力,可以说是瞬间拉低了程序员的门槛。如果你的Arduino IDE中没有NeoPixel库,可以通过菜单“工具”->“管理库...”或“项目”->“加载库”->“管理库...”,搜索“NeoPixel”即可看到Adafruit NeoPixel库,选择最新版本安装即可。
要利用NeoPixel库函数,在源文件中把干系的头文件包含进来就可以了。推举利用傻瓜式操作,通过菜单“项目”->“加载库”从右侧弹出的库列表中选择“NeoPixelBus”即可。
编辑器自动将以下三个头文件NeoPixelAnimator.h、NeoPixelBrightnessBus.h、NeoPixelBus.h添加至源代码中。其余,为了实现单按键操作,引入Ticker库用来对按键计时,以实现对短按、长按操作进行识别。
通过模版类NeoPixelBus创建strip工具,实现对WS2812B全彩的操控。这里选择NeoGrbFeature、NeoEsp8266AsyncUart1Ws2812Method类定义的方法实现WS2812B哀求的掌握协议。PixelCount的数值按所用灯环中LED灯珠的数目设置。PixelPin是用来指定掌握WS2812B模块的引脚,对付ESP8266的板子来说可以忽略,默认便是利用GPIO2。
接下来便是氛围灯功能实现部分的代码,紧张实现这样功能:按键短按时,可在纯色模式和旋转流水灯模式下,指定灯光颜色,有红、橙、黄、绿、青、蓝、紫、白八色可选;按键长按约1秒时,可顺序切换四种灯光模式,纯色模式、旋转流水灯模式、彩色渐变模式、幻彩模式;按键长按约5秒时,关闭灯光。详细的实现方法可以参考附件中的代码,限于篇幅这里就不一一先容了。
代码烧写
烧写代码时,按下图将USB串口工具与ESP-01S连接好即可。须要把稳的是,在上电时,将ESP-01S模块的GPIO0脚接地即可进入代码烧写模式。
给ESP-01S模块烧写代码与常日情形下对Arduino UNO烧写险些没有差别。只是由于ESP-01S模块是通过串口工具供电,以是每次烧写前须要将USB串口工具从电脑的USB口拔除,然后将ESP-01S模块得GPIO0拉低,重新将USB串口工具插到电脑的USB口,这样重新上电后ESP-01S即可进入烧写状态。把稳!
由于串口工具有拔插过,以是烧写时要在到菜单 “工具”-〉“端口”中选择对应的串行口。
成品效果
终于到了末了展示成果的韶光了,灯光亮起的瞬间觉得有些惊艳到了,从LED发出的各色光芒经由水瓶的折射,光影交织竟然呈现出五彩斑斓、五光十色、万紫千红、鲜艳夺目、斑驳陆离、五彩纷呈、五彩缤纷、云蒸霞蔚、花色斑斓、姹紫嫣红、云兴霞蔚、五颜六色、异彩纷呈的奇幻景象,折腾多日也算是值了。
下面是动图的效果。转化为GIF颜色有些丢失,成色块了,觉得也不错哦,又是其余一番效果。
你还等什么,赶紧也动手做一个吧!