在2021.4.20我发布了我在电路城出售的第一个智能彩灯的项目,当时过于自信,认为5块钱的电路会有很高的销量,结果失望了,访问查看量倒是不少。该项目名称是:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯)访问地址是:https://www.cirmall.com/circuit/23939/ 当时收费的原因是:当时确实写了蛮久的入门教程,还有就是在ESP8266里面加入了异步提交请求的功能,当时为了调试这个功能确实花了不少时间的,现在看来也就是那样子,现在想想要做推广,收钱是不行的!
以前写的点灯程序都是直接点亮LED而已,没涉及到复杂的PWM或者是时序问题的。这次换了一个智能彩灯方案,采用国产芯片WS2812和WS2811实现智能彩灯调色,主控芯片采用国产ESP8266,支持国产从我做起,反对霸权主义,反对技术封锁,反对芯片垄断。现在很多建筑物墙上布置的彩灯就是这个系列的彩灯,这每一个彩灯里面是包含有WS2812芯片的,当这个彩灯数量达到一定级别的时候,炫酷的效果就出来了。为了学习这个彩灯,daodanjishui花血本在某宝买了33片8X8=64的WS2812矩阵彩灯,一个矩阵大概要20块,所以总价值20*33=660块,后期会将这些矩阵彩灯拼接起来加入图像处理和智能app客户端和电脑客户端去控制彩灯,在2021年新冠状病毒居家隔离过年的时候写了一批量代码出来。目前国内还没有关于WS2812彩灯的各种上位机和下位机和服务器全方位击破的开源教程,那么这里希望成为第一家。全家福如下图所示:
功能描述:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯)当时用的是普通的RGB LED灯,里面是不带有芯片的,控制亮度用的是PWM波,控制颜色是通过控制三种颜色灯丝的PWM波比例。那么这次ESP8266调库用其IO口间接通过WS2812芯片控制LED,IO口通过单线归零码协议实现控制,至于这个协议怎么用,具体不需要深究,因为Arduino的WS2812库帮我们做好的驱动,我们直接调用函数驱动即可,这里用到的是FastLED这个库,假如真的想深究,等我发布STM32版本的WS2812项目吧。最后实现的效果是ESP8266创建热点,然后用户在其嵌入式主页控制彩灯的变化,这次点一盏灯,分别是WS2811和WS2812,其实代码都是通用的,点亮第一盏灯以后才能点亮更多的灯。下面是Arduino写的原创开源代码截图:
下面是嵌入式主页:
下面是运行效果:
下面是WS2811的模块显示效果:
下面是WS2812的模块显示效果:
下面是WS2811模块详细图片:
由于这个代码免费开源,所以我把异步提交get请求的代码改为刷新页面提交get请求,欢迎下载学习。后期会推出各种客户端控制多个WS2812灯,精彩值得期待。