MENU

梦幻云朵氛围灯

September 9, 2021 • 生活,生活类,软件类,技术类,DIY硬件

esp8266 与 ws2812 结合制作氛围灯

有次刷到抖音一个短视频,看完以后感觉贼梦幻!后来去网上搜了一下原理其实也不难,用 esp8266 配合 ws2812 灯带就可以实现,而且棉花透光性特别好,不用在发光上面下功夫。

功能

手机控制、天猫精灵、小爱同学、可充电宝供电、最重要的好看!!!

安装制作

电脑安装 Arduino IDE 、手机安装点灯科技

软件配置

1.安装最新 8266 库,安装端口驱动 CH341SER.zip,arduinoIDE 工具开发板中出现各类 8266 开发板即成功。

首次安装 IDE:直接双击自解压 2.7.4 版本 SDK,然后再 IDE--文件--首选项--附加开发板管理地址中填上此地址: http://arduino.esp8266.com/stable/package_esp8266com_index.json

工具-开发板中找到 esp8266Boards--wifiduino 即安装成功。

2.离线本地安装 Blinker.zip 库、Adafruit_NeoPixel.zipFastLED.zip 库。

.png

3.打开 arduinoIDE,导入文件天猫精灵控制代码 0406ALI_SLIDER_ESPTOUCH_BETAino ,开发板选择:

21.png
1.png

部分代码
//天猫精灵版本
char auth[] = "34d6311ee369";             //修改blinker设备的授权码

#define PIN             5               //接开发板GPIO5   
#define NUMPIXELS     30               //ws2812 灯数  如果直接接灯带 建议灯珠60以内
int openState = 2;                    //默认灯效模式,上电后自动启动特定模式

//uint8_t colorR, colorG, colorB, colorW, _colorW;  
//如果需要上电默认不亮灯或者0模式则使用此行初始值设置并注释掉下方5行初始值设置

uint8_t colorR = 150;
uint8_t colorG = 0;
uint8_t colorB = 150;
uint8_t colorW = 200;
uint8_t _colorW = 0;

int interval = 25;/////////////////////////灯效节奏
bool wsState;
String wsMode = BLINKER_CMD_COMMON;
int brt_set = 200;//未调整亮度时呼吸灯初始亮度

4.手机安装点灯 APP 右上角 + 创建设备--独立设备--网络接入--阿里云--复制 key,粘贴到代码 char auth[] = "此处";

aa.jpg

5.替换界面配置文档更新 APP 里设备的控制界面(才能与代码对应,正常操作)。具体操作--设备页面--右上角三个点点--界面配置--复制替换内容--更新,返回首页再进设备页面

bb.jpg

6.修改密钥(和 WiFi 信息)灯数等后开发板选 Wifiduino 上传代码。上传成功后复位,手机连接 Wifi,打开微信搜安信可科技手机配网,然后电脑查看串口通讯串口(波特率 115200)是否连接成功。并尝试在 APP 里操作,查看操作是否对应。

展示图,并非实际图:

83025aafa40f4bfb765d55e3baecd6f6f6361826.jpg

7.接入灯带,再次检查,部分项目复位后灯带会 R G B 颜色闪烁表明灯带连接正常。

接线图:

1.png

安装云朵

云朵也就是海绵,第一次卖的海绵手感很好,透光性也不错,就是容易散没办法固定。只好再找一种这样的,自带吊绳,回来直接把灯带塞进去,挂到顶上就可以,非常好看!!!

6131631699718_pic.jpg

问题总结

1.8266SDK:确保sdk为最新

2.在线安装最新的点灯库 群文件中提供:工具与安装包和库文件

2.点灯APP上创建设备时选择阿里云中介

3.群文件的项目使用8266nodemcu esp01s eps12f等8266主控时开发板选择Wifiduino 很重要

4.根据个人需要选择稳定版文件夹中的智能配网或非智能配网。如果开发板连接过该网络,刷入智能配网版本代码后,先检查时候在线(开发板会记录上次连接AP的信息) 智能配网暂时不进行更新,请采用直接连接的方法。

5.在点灯科技APP中更新对应版本代码的界面配置文件,才能正常控制设备。

6.稳定版代码同时采用Adafruit Neo pixel 和Fastled的库,若提示未安装库,建议在线安装,注意作者。群文件中提供:工具与安装包和库文件Adafruit_NeoPixel FastLed包。

7.如果安装了正确的库仍然报错,删除掉其它被arduino IDE错误优先调用的库。

8.目前wifi连接只支持2.4G

9.Esp8266 NodeMcu的引脚关系(离线安装SDK情况):代码中灯带信号引脚5,对应GPIO5,也就是8266主控芯片引脚的5。在开发板中厂家的丝印引脚为D1,所以在代码中5,接线GPIO5。

10.在2812灯带灯珠数量少的情况可用ESP8266开发板供电。如果单独供电注意要与8266共地。此外,参考电压3.3-5V,每30颗灯珠,1A电流。

11.灯带信号端有分输入和输出端,在接线时注意。

12.个别模式可能直接操作没反应,需要先调亮度。

13.ESP32的sdk与8266SDK无法同时使用。或在安装旧版本的8266SDK时需先删除干净后再安装最新版本。

14.注意60位(或较长的)的WS2812可能会造成开发板供电不足,不断重启,所以建议灯带额外供电。具体看开发板的支持情况,当然也可以用其它位数的灯带。

15.开发板可以选择ESP32 ESP8266 ESP8266 01S ESP8266-12F模块(需焊接),注意使用的引脚定义。灯带WS2812 WS2812B,在按照SDK时ESP32与8266系列的有冲突。

16.长灯带有分输入输出端,开发板和灯带需要在同一供电设备下,否则会对控制信号异常干扰。

17.灯光效果目前的循环模式是,每循环一次效果检测一下blinker的新命令,所以会有blinker app按键不能及时同步的情况,同样语音助手也可能迟钝。blinker频次限制暂时做不到随时中断灯效下的循环。

18.代码同时使用了fastled和adafruit_nexopixel库。大家可以看自己的喜好添加效果。

19.某些模式需要配合调色盘和两个滑条使用。

20.创建设备时选择阿里云,赋值auth,并在下面代码中更改。智能配网方法:烧录成功之后在blinker app.

接线:ESP8266开发板 WS2812灯带

    3.3V                 +5V
    GPIO 5               Din
    GND                  GND

至此教程结束,中间有很多次放弃。代码报错,接线错误而且还烧了一条灯带,棉花也挂不上。但是每想到那个画面也是美美的,还是坚持做了下来。

Last Modified: September 16, 2021
Leave a Comment