本篇介绍ESP8266使用NeoPixel库来驱动IOT Kit板载WS2812彩灯。
WS2812是一个集控制电路与发光电路于一体的智能外控LED光源,外型与5050LED灯珠相同,每个灯珠都是一个像素点。像素点内包含数字接口、数据锁存、信号整形放大驱动电路,还包含高精度的内部振荡器和12V高压可编程定电流控制部分。
数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。
时序波形
按照数据传输协议即可对WS2812进行驱动,当然对于WS2812有许多开源的驱动库,下面进行Adafruit_NeoPixel驱动库的安装。
在Arduino IDE中点击「项目」—「加载库」—「管理库」,查找Adafruit_NeoPixel库,选择最新版本,点击安装。
查找库
在弹出的对话框中选择Install all,安装全部的关联库。
安装关联库
在IOT Kit上,WS2812通过跳线帽连接到ESP8266的GPIO0。
硬件连接
在Arduino IDE中新建sketch,拷贝如下代码保存并下载到开发板。
/*
* ws2812b
* ESP8266驱动WS2812彩灯
* 板载接口GPIO0
*/
#include
上传成功后,板载WS2812彩灯将红绿蓝交替显示。
实验现象
下面对Adafruit_NeoPixel库常用函数进行介绍:
全部0条评论
快来发表一下你的评论吧 !