最近偶得一瓶价格不菲的矿泉水,不过喝完也没感觉出它和普通矿泉水有啥区别,只是觉得把瓶子丢了有点可惜,琢磨了一下,于是就有了下面制作七彩氛围灯的想法。氛围灯主体为这个玻璃矿泉水瓶的瓶身,电路采用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颜色有些损失,成色块了,感觉也不错哦,又是另外一番效果。
你还等什么,赶快也动手做一个吧!
声明:易商讯尊重创作版权。本文信息搜集、整理自互联网,若有来源标记错误或侵犯您的合法权益,请联系我们。我们将及时纠正并删除相关讯息,非常感谢!