使用ESP8266驱动WS2812彩灯

本篇介绍esp8266使用neopixel库来驱动iot kit板载ws2812彩灯。
1. ws2812彩灯介绍ws2812是一个集控制电路与发光电路于一体的智能外控led光源,外型与5050led灯珠相同,每个灯珠都是一个像素点。像素点内包含数字接口、数据锁存、信号整形放大驱动电路,还包含高精度的内部振荡器和12v高压可编程定电流控制部分。
数据协议采用单线归零码的通讯方式,像素点在上电复位以后,din端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过do端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。
时序波形
按照数据传输协议即可对ws2812进行驱动,当然对于ws2812有许多开源的驱动库,下面进行adafruit_neopixel驱动库的安装。
2. 安装驱动库在arduino ide中点击「项目」—「加载库」—「管理库」,查找adafruit_neopixel库,选择最新版本,点击安装。
查找库
在弹出的对话框中选择install all,安装全部的关联库。
安装关联库
3. 硬件连接及程序下载在iot kit上,ws2812通过跳线帽连接到esp8266的gpio0。
硬件连接
在arduino ide中新建sketch,拷贝如下代码保存并下载到开发板。
/* * ws2812b * esp8266驱动ws2812彩灯 * 板载接口gpio0 */#include上传成功后,板载ws2812彩灯将红绿蓝交替显示。
实验现象
4.常用库函数介绍下面对adafruit_neopixel库常用函数进行介绍:
adafruit_neopixel led(numpixels, pin, neo_grb + neo_khz800):创建对象,包括信号引脚以及像素点数量,最后一个参数是像素类型标志,一般默认即可。led.begin():对象初始化。led.show():显示刷新,每次设置完毕必须调用此函数。led.clean():将颜色值清除到0。led.setbrightness():设置亮度。范围0~255。led.setpixelcolor():设置颜色值,第一个参数为像素点序号。led.color():将rgb单独颜色值打包成32位颜色值。

干燥过滤器的作用_过滤器的性能特点
俄罗斯曝巨屏双卡智能机 配置接近Galaxy Note
选择TVS二极管需要考虑的10个注意事项
国产电流传感器推荐-不间断电源
前端和后端配合起来做智能分析 安防智慧化程度才能进一步加深
使用ESP8266驱动WS2812彩灯
中国移动5G AR远程辅助帮助企业实现智能化升级
年出货量超1亿颗!这家国产芯片厂商为何能独占鳌头?
5GtoB,1到N规模复制正当时
无边框+联发科,外观酷似荣耀V9,戏称“荣耀9”提前发布
IGBT模块是如何失效的?
电容式传感器优点
SERES发布首款电动汽车SF5,搭载92kWh的液冷动力电池
物通博联PLC网关采集PLC数据转SL651协议上传水利平台
充电桩进小区主要面临多少个难题?
DS9034PCX PowerCap的设计
全球首款免充电GPS智能手表PowerWatch2发布 利用体温和太阳能产生的热电能持续为电池供电
谷景科普电感坏了可以用同封装电感直接替换吗
导热硅胶垫在选型时需要注意的4项参数
全球LED照明市场2013年增幅规模可达30%