数码之家

 找回密码
 立即注册
搜索
查看: 912|回复: 25

【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏

[复制链接]
发表于 2022-7-8 15:46:57 | 显示全部楼层 |阅读模式
本帖最后由 eagler8 于 2022-7-9 04:44 编辑

实验使用的硬件,软件平台使用Arduino IDE(见《【花雕体验】15 尝试搭建Beetle ESP32 C3之Arduino开发环境》)




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +20 收起 理由
玛德陛下 + 20 謝謝分享

查看全部打赏

 楼主| 发表于 2022-7-8 15:59:21 | 显示全部楼层
WS2813B
是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和12V高压可编程定电流控制部分,有效保证了像素点光的颜色高度一致。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 16:06:47 | 显示全部楼层
主要特点
●     智能反接保护,电源反接不会损坏IC。
●     IC控制电路与LED点光源公用一个电源。
●     控制电路与RGB芯片集成在一个5050封装的元器件中,构成一个完整的外控像素点。
●     内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加。
●     内置上电复位和掉电复位电路。
●     每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。
●     串行级联接口,能通过一根信号线完成数据的接收与解码。
●     任意两点传传输距离在不超过5米时无需增加任何电路。
●     当刷新速率30帧/秒时,级联数不小于1024点。
●      数据发送速度可达800Kbps。
●      光的颜色高度一致,性价比高。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 16:14:16 | 显示全部楼层
WS2812B典型应用电路



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 16:34:28 | 显示全部楼层
Beetle ESP32-C3是一款基于ESP32-C3 RISC-V 32位单核处理器芯片的主控板,专为物联网 (IoT) 设备而设计。Beetle ESP32-C3在仅硬币大小的体积上引出了多达13个IO口,制作项目时不必再担心IO口不够用的情况,同时主控板还集成锂电池充电管理功能,可以直接连接锂电池,不需要外围模块,同时保证应用体积和安全性。Beetle ESP32-C3配套的扩展板在未增加太大体积的情况下,引出了更多的电源,在制作项目时焊接更加方便,板载的GDI显示屏接口解决使用屏幕时的接线烦恼。实验使用的引脚为A0和D6。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +10 收起 理由
kkdkj + 10 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2022-7-8 16:38:15 | 显示全部楼层
不会玩,羡慕。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 16:41:34 | 显示全部楼层
8X32灯板采用独立电源供电,这里使用华为5V2A手机电源




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 16:44:51 | 显示全部楼层
kkdkj 发表于 2022-7-8 16:38
不会玩,羡慕。

谢谢人才老师的鼓励
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 17:02:32 | 显示全部楼层
打开Arduino IDE——工具——管理库,搜索Adafruit NeoPixel,并安装驱动库





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 18:57:48 | 显示全部楼层
  【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板
    实验程序一:逐一点亮256个绿色LED灯

  1. /*
  2.   【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板
  3.   实验程序一:逐一点亮256个绿色LED灯
  4. */

  5. #include <Adafruit_NeoPixel.h>

  6. #define PIN            6
  7. #define NUMPIXELS      256

  8. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
  9. int delayval = 60;

  10. void setup() {
  11.   pixels.begin();
  12. }

  13. void loop() {
  14.   for (int i = 0; i < NUMPIXELS; i++) {
  15.     pixels.setPixelColor(i, pixels.Color(0, 30, 0));
  16.     pixels.show();
  17.     delay(delayval);
  18.   }
  19. }
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 19:00:58 | 显示全部楼层
实验场景图


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 19:06:48 | 显示全部楼层
动态图




回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 20:12:04 | 显示全部楼层
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板
    实验程序二:简单的流水变幻彩虹灯

  1. /*
  2.   【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板
  3.   实验程序二:简单的流水变幻彩虹灯
  4. */

  5. #include <Adafruit_NeoPixel.h>

  6. #define PIN 6
  7. #define BRIGHTNESS 128

  8. Adafruit_NeoPixel strip = Adafruit_NeoPixel(BRIGHTNESS, PIN, NEO_GRB + NEO_KHZ800);

  9. void setup() {
  10.   strip.setBrightness(BRIGHTNESS);
  11.   strip.begin();
  12.   strip.show();
  13. }

  14. void loop() {
  15.   colorWipe(strip.Color(40, 0, 0), 20); // Red
  16.   colorWipe(strip.Color(0, 40, 0), 20); // Green
  17.   colorWipe(strip.Color(0, 0, 50), 20); // Blue
  18.   colorWipe(strip.Color(40, 40, 50), 20); // BlueWite
  19.   rainbowCycle(1);

  20. }

  21. void colorWipe(uint32_t c, uint8_t wait) {
  22.   for (uint16_t i = 0; i < strip.numPixels(); i++) {
  23.     strip.setPixelColor(i, c);
  24.     strip.show();
  25.     delay(wait);
  26.   }
  27. }

  28. void rainbow(uint8_t wait) {
  29.   uint16_t i, j;
  30.   for (j = 0; j < 256; j++) {
  31.     for (i = 0; i < strip.numPixels(); i++) {
  32.       strip.setPixelColor(i, Wheel((i + j) & 255 ));
  33.     }
  34.     strip.show();
  35.     delay(wait);
  36.   }
  37. }

  38. void rainbowCycle(uint8_t wait) {
  39.   uint16_t i, j;
  40.   for (j = 0; j < 256 * 5; j++) { // 5 cycles of all colors on wheel
  41.     for (i = 0; i < strip.numPixels(); i++) {
  42.       strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
  43.     }
  44.     strip.show();
  45.     delay(wait);
  46.   }
  47. }

  48. uint32_t Wheel(byte WheelPos) {
  49.   if (WheelPos < 85) {
  50.     return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  51.   } else if (WheelPos < 170) {
  52.     WheelPos -= 85;
  53.     return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  54.   } else {
  55.     WheelPos -= 170;
  56.     return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  57.   }
  58. }
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 20:28:25 | 显示全部楼层
动态图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 20:31:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-8 20:35:04 | 显示全部楼层
本帖最后由 eagler8 于 2022-7-8 20:40 编辑

实验场景图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-9 10:31:18 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-9 10:58:57 | 显示全部楼层
本帖最后由 eagler8 于 2022-7-9 11:05 编辑

  【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812灯板
  实验程序三:256位多彩流水灯变幻彩虹灯



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-9 11:05:29 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-9 11:13:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-22 07:35 , Processed in 0.327601 second(s), 16 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表