当前位置:网站首页>ESP8266-Arduino编程实例-WS2812驱动
ESP8266-Arduino编程实例-WS2812驱动
2022-08-03 19:51:00 【视觉&物联智能】
WS2812驱动
1、WS2812介绍
WS2812系列是控制电路和RGB芯片集成在5050个元件封装内的智能控制LED光源。它内部包括智能数字端口数据锁存器和信号整形放大驱动电路。有效保证像素点光色高度一致。
数据传输协议采用单 NZR 通信方式。像素上电复位后,DIN 口接收控制器的数据,第一个像素采集初始 24 位数据,然后发送到内部数据锁存器,其他数据通过内部信号整形放大电路整形后发送到下一个级联像素通过 DO 端口。
每个像素传输后,信号减少24bit。像素采用自动整形传输技术,使得像素级联数不受信号传输的限制,只取决于信号传输的速度。 LED具有驱动电压低、环保节能、亮度高、散射角大、一致性好、功耗低、寿命长等优点。
在前面的文章中,对WS2812做了了详细的介绍,请参考:
- Ardunio开发实例-WS2812B独立寻址LED调色调光
- Arduino与Proteus仿真实例-WS2812-RGB-LED灯带酷炫效果仿真
- Arduino与Proteus仿真实例-WS2812-RGB-LED点阵(8x8)驱动仿真
- ESP32-IDF开发实例-传感器模块编程-WS2812
2、硬件准备
- ESP8266 NodeMCU开发板一块
- WS2812模块(或灯带)一个/条
- 面板板一个
- 杜邦线若干
- 数据线一条
硬件接线如下:

3、软件准备
- Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:
ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:
4、代码实现
本次使用WS2812驱动库如下:
- https://github.com/adafruit/Adafruit_NeoPixel
1)导入依赖库文件
#include <Adafruit_NeoPixel.h>
// WS2812数据引脚
#define PIN D2
// WS2812数量
#define NUMPIXELS 1
// WS2812驱动对象
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
2)设备初始化
void setup() {
// 启动WS2812
pixels.begin();
}
3)驱动数据传输及显示效果
void loop() {
// 延时
int delayval = 500;
// 对于一组 NeoPixel,第一个 NeoPixel 为 0,第二个为 1,一直到像素数减一
for(int i=0;i<NUMPIXELS;i++){
// pixel.Color 采用 RGB 值,从 0,0,0 到 255,255,255
pixels.setPixelColor(i, pixels.Color(0,255,0));
// 显示
pixels.show();
delay(delayval);
pixels.setPixelColor(i, pixels.Color(255,0,0));
pixels.show();
delay(delayval);
pixels.setPixelColor(i, pixels.Color(0,0,255));
pixels.show();
delay(delayval);
}
}
边栏推荐
- Postgresql源码(64)查询执行——子模块Executor(2)执行前的数据结构和执行过程
- Unity gets the actual coordinates of the ui on the screen under the canvas
- Interview Blitz: What Are Sticky Packs and Half Packs?How to deal with it?
- Shell编程之循环语句
- Postgresql中的pg_memory_barrier_impl和C的volatile
- LOL英雄联盟卡顿掉帧问题解决办法 2022年8月1日
- 子结点的数量(2)
- The effective square of the test (one question of the day 7/29)
- ThreadLocal详解
- 【leetcode】剑指 Offer II 007. 数组中和为 0 的三个数(双指针)
猜你喜欢

Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)

百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东

【leetcode】剑指 Offer II 009. 乘积小于 K 的子数组(滑动窗口、双指针)

Golang死信队列的使用

高效目标检测:动态候选较大程度提升检测精度(附论文下载)

消除对特权账户的依赖使用Kaniko构建镜像

不要再用if-else

危化企业双重预防机制数字化建设进入全面实施阶段

ctfshow php features

Anaconda 虚拟环境迁移
随机推荐
傅里叶变换(深入浅出)
Anaconda virtual environment migration
Golang死信队列的使用
深入理解JVM-内存结构
多模态 参考资料汇总
入门3D建模基础教程详细分解
盘点在线帮助中心对企业能够起到的作用
Statistical machine learning 】 【 linear regression model
ctfshow php features
揭秘5名运维如何轻松管理数亿级流量系统
【STM32】标准库-自定义BootLoader
子结点的数量(2)
百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
使用 ReportLab 绘制 PDF
LeetCode 622. 设计循环队列
Brush the topic of mobile zero power button
边缘盒子+时序数据库,美的数字化平台 iBuilding 背后的技术选型
消除对特权账户的依赖使用Kaniko构建镜像
Internet Download Manager简介及下载安装包,IDM序列号注册问题解决方法
Reveal how the five operational management level of hundreds of millions of easily flow system