当前位置:网站首页>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);
}
}
边栏推荐
- 百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
- 1161 最大层内元素和——Leetcode天天刷【BFS】(2022.7.31)
- 高效目标检测:动态候选较大程度提升检测精度(附论文下载)
- ECCV2022 | 用于视频问题回答的视频图Transformer
- Detailed demonstration pytorch framework implementations old photo repair (GPU)
- 高性能计算软件与开源生态| ChinaOSC
- 不要再用if-else
- CentOS 7 安装mysql
- Postgresql source code (65) analysis of the working principle of the new snapshot system Globalvis
- 头条服务端一面经典10道面试题解析
猜你喜欢
随机推荐
JMeter笔记5 |Badboy使用和录制
使用 ReportLab 绘制 PDF
LeetCode 952. Calculate Maximum Component Size by Common Factor
Calculation of the array serial number of Likou brush questions (one question per day 7/28)
Detailed demonstration pytorch framework implementations old photo repair (GPU)
MySQL 主从,6 分钟带你掌握!
小马智行起诉擎天智卡:索赔6000万 彭军称要斗争到底
Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)
LeetCode 622. Designing Circular Queues
开源教育论坛| ChinaOSC
Statistical machine learning 】 【 linear regression model
In-depth understanding of JVM-memory structure
The addition and subtraction of the score of the force deduction brush question (a daily question 7/27)
epoll + 线程池 + 前后置服务器分离
MySQL Basics
Execute the mysql script file in the docker mysql container and solve the garbled characters
ThreadLocal详解
Benchmarking Lane-changing Decision-making for Deep Reinforcement Learning
Detailed steps for tensorflow-gpu2.4.1 installation and configuration
dpkg强制安装软件