当前位置:网站首页>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);
}
}
边栏推荐
- Matlab论文插图绘制模板第42期—气泡矩阵图(相关系数矩阵图)
- 余弦距离介绍
- X86 function call model analysis
- Postgresql-xl global snapshot and GTM code walking (branch line)
- Postgresql-xl全局快照与GTM代码走读(支线)
- LOL英雄联盟卡顿掉帧问题解决办法 2022年8月1日
- ctfshow php features
- 揭秘5名运维如何轻松管理数亿级流量系统
- Detailed steps for tensorflow-gpu2.4.1 installation and configuration
- 钱江摩托某型号产品ECU货不对版 消费者知情权应如何保障?
猜你喜欢

LOL英雄联盟卡顿掉帧问题解决办法 2022年8月1日

1161 最大层内元素和——Leetcode天天刷【BFS】(2022.7.31)

傅里叶变换(深入浅出)

【leetcode】剑指 Offer II 008. 和大于等于 target 的最短子数组(滑动窗口,双指针)

宁德时代2号人物黄世霖辞任副董事长:身价1370亿

2022 CCF中国开源大会会议通知(第三轮)

149. 直线上最多的点数-并查集做法

机器学习中专业术语的个人理解与总结(纯小白)

Handler source code analysis

Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)
随机推荐
开源教育论坛| ChinaOSC
危化企业双重预防机制数字化建设进入全面实施阶段
机器学习中专业术语的个人理解与总结(纯小白)
从文本匹配到语义相关——新闻相似度计算的一般思路
The effective square of the test (one question of the day 7/29)
力扣刷题之移动零
深入理解JVM-内存结构
友宏医疗与Actxa签署Pre-M Diabetes TM 战略合作协议
622 设计循环队列——Leetcode天天刷【循环队列,数组模拟,双指针】(2022.8.2)
CS免杀姿势
单调栈及其应用
Network protocol-TCP, UDP difference and TCP three-way handshake, four wave
PHP according to the longitude and latitude calculated distance two points
The ecological environmental protection management system based on mobile GIS
Solidity智能合约开发 — 4.1-合约创建和函数修饰器
Anaconda virtual environment migration
「游戏建模干货」建模大师几步操作,学习经典,赶紧脑补一下吧
C中的数据存储
头条服务端一面经典10道面试题解析
力扣刷题之有效的正方形(每日一题7/29)