电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板
分 享
扫描二维码分享
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板
花雕体验
雕爷学编程
关注
发布时间: 2022-09-07
丨
阅读: 524
实验使用的硬件,软件平台使用Arduino IDE(见《【花雕体验】15 尝试搭建Beetle ESP32 C3之Arduino开发环境》) ![](https://cf02.ickimg.com/bbsimages/202207/59a88e47a7f082b956ace95152625915.jpg) WS2812B 是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和12V高压可编程定电流控制部分,有效保证了像素点光的颜色高度一致。数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。 ![](https://cf02.ickimg.com/bbsimages/202207/600fc1187145162d7675f9b8f32e9546.jpg) 主要特点 ● 智能反接保护,电源反接不会损坏IC。 ● IC控制电路与LED点光源公用一个电源。 ● 控制电路与RGB芯片集成在一个5050封装的元器件中,构成一个完整的外控像素点。 ● 内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加。 ● 内置上电复位和掉电复位电路。 ● 每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。 ● 串行级联接口,能通过一根信号线完成数据的接收与解码。 ● 任意两点传传输距离在不超过5米时无需增加任何电路。 ● 当刷新速率30帧/秒时,级联数不小于1024点。 ● 数据发送速度可达800Kbps。 ● 光的颜色高度一致,性价比高。 ![](https://cf02.ickimg.com/bbsimages/202207/f9f98fc81b5465a96d0fe507c2f96e67.jpg) WS2812B典型应用电路 ![](https://cf02.ickimg.com/bbsimages/202207/b866df585fca9100bf633f084f03ff0b.jpg) Beetle ESP32-C3是一款基于ESP32-C3 RISC-V 32位单核处理器芯片的主控板,专为物联网 (IoT) 设备而设计。Beetle ESP32-C3在仅硬币大小的体积上引出了多达13个IO口,制作项目时不必再担心IO口不够用的情况,同时主控板还集成锂电池充电管理功能,可以直接连接锂电池,不需要外围模块,同时保证应用体积和安全性。Beetle ESP32-C3配套的扩展板在未增加太大体积的情况下,引出了更多的电源,在制作项目时焊接更加方便,板载的GDI显示屏接口解决使用屏幕时的接线烦恼。实验使用的引脚为A0和D6。 ![](https://cf02.ickimg.com/bbsimages/202207/8a3cb2b86ffdccdb018119bc4cf45d84.jpg) 8X32灯板采用独立电源供电,这里使用华为5V2A手机电源 ![](https://cf02.ickimg.com/bbsimages/202207/ef2cf8b3223d2ce3c95ccb9442181fcb.jpg) 打开Arduino IDE——工具——管理库,搜索Adafruit NeoPixel,并安装驱动库 ![](https://cf02.ickimg.com/bbsimages/202207/62d7d9e0580b9d7118b5bfc7a4cca130.jpg) 【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板 实验程序一:逐一点亮256个绿色LED灯 ```cpp /@@* 【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板 实验程序一:逐一点亮256个绿色LED灯 */ #include
#define PIN 6 #define NUMPIXELS 256 Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 60; void setup() { pixels.begin(); } void loop() { for (int i = 0; i < NUMPIXELS; i++) { pixels.setPixelColor(i, pixels.Color(0, 30, 0)); pixels.show(); delay(delayval); } } ``` 实验场景图 ![](https://cf02.ickimg.com/bbsimages/202207/bc04171a17ebf3235efcda9ddcf7949e.gif) 动态图 http://bbs.eeworld.com.cn/data/attachment/forum/202207/08/190810vbrkt8zd1u5588ib.gif 【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板 实验程序二:简单的流水变幻彩虹灯 ```cpp /@@* 【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板 实验程序二:简单的流水变幻彩虹灯 */ #include
#define PIN 6 #define BRIGHTNESS 128 Adafruit_NeoPixel strip = Adafruit_NeoPixel(BRIGHTNESS, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.setBrightness(BRIGHTNESS); strip.begin(); strip.show(); } void loop() { colorWipe(strip.Color(40, 0, 0), 20); // Red colorWipe(strip.Color(0, 40, 0), 20); // Green colorWipe(strip.Color(0, 0, 50), 20); // Blue colorWipe(strip.Color(40, 40, 50), 20); // BlueWite rainbowCycle(1); } void colorWipe(uint32_t c, uint8_t wait) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, c); strip.show(); delay(wait); } } void rainbow(uint8_t wait) { uint16_t i, j; for (j = 0; j < 256; j++) { for (i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, Wheel((i + j) & 255 )); } strip.show(); delay(wait); } } void rainbowCycle(uint8_t wait) { uint16_t i, j; for (j = 0; j < 256 * 5; j++) { // 5 cycles of all colors on wheel for (i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255)); } strip.show(); delay(wait); } } uint32_t Wheel(byte WheelPos) { if (WheelPos < 85) { return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); } else if (WheelPos < 170) { WheelPos -= 85; return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); } else { WheelPos -= 170; return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); } } ``` 动态图 http://bbs.eeworld.com.cn/data/attachment/forum/202207/08/203214qfeq52s556iigmpj.gif 动态图 http://bbs.eeworld.com.cn/data/attachment/forum/202207/08/203534vcx2efoof6fyyein.gif 实验场景图 ![](https://cf02.ickimg.com/bbsimages/202207/7906e23b9e8718c6c5f21d9d47ebf735.jpg)
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
雕爷学编程
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交