有没有用WS2812b灯珠做光立方的-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: cxg

[未解决] 有没有用WS2812b灯珠做光立方的

[复制链接]
发表于 2021-2-7 18:15 | 显示全部楼层
好,不错,支持一下,看看你做的效果了
 楼主| 发表于 2021-3-1 16:56 | 显示全部楼层
光立方demo做出来了, 软件怎么去设计呢?
发表于 2021-3-3 11:49 | 显示全部楼层
ws2812好像也有透明的,直插件的,不过贵好多
发表于 2021-3-3 14:30 | 显示全部楼层
cxg 发表于 2021-3-1 16:56
光立方demo做出来了, 软件怎么去设计呢?

软件比一般的光立方更容易。
全部串联,直接把数据通过SPI口按正确的速率发送就可以了。
发表于 2021-3-3 21:18 | 显示全部楼层
直接用rgb的那种草帽灯,价格不知道怎么样,要用2812的话,这么多都够做一个分辨率差一点的屏幕了
 楼主| 发表于 2021-3-3 22:17 | 显示全部楼层
jjbboox 发表于 2021-3-3 14:30
软件比一般的光立方更容易。
全部串联,直接把数据通过SPI口按正确的速率发送就可以了。 ...

硬件控制是没问题,有一些库, 想开发个取模软件用在这个彩色的光立方上
 楼主| 发表于 2021-3-3 22:18 | 显示全部楼层
成昊轩 发表于 2021-3-3 21:18
直接用rgb的那种草帽灯,价格不知道怎么样,要用2812的话,这么多都够做一个分辨率差一点的屏幕了 ...

贵, 得6毛一个, 我这个用的是雾状的才1毛8一个
发表于 2021-3-5 17:53 | 显示全部楼层
cxg 发表于 2021-3-3 22:18
贵, 得6毛一个, 我这个用的是雾状的才1毛8一个

反正肯定是不怎么便宜,但是如果密度够的话应该可以显示3D
 楼主| 发表于 2022-1-23 18:07 | 显示全部楼层
QQ截图20220123180619.png

  1. #include "config.h"
  2. #include <SmartLeds.h>

  3. const int LED_COUNT = 256;

  4. // SmartLed -> RMT driver (WS2812/WS2812B/SK6812/WS2813)
  5. SmartLed leds(LED_WS2812, LED_COUNT, WS2812in_2_PIN, 0, DoubleBuffer);
  6. SmartLed leds2(LED_WS2812, LED_COUNT, WS2812in_PIN, 1, DoubleBuffer);

  7. int count = 0;
  8. uint8_t hue;

  9. void showGradient() {
  10.   hue++;
  11.   // Use HSV to create nice gradient
  12.   for(int i = 0; i != LED_COUNT; i++)
  13.     leds[i] = Hsv{static_cast<uint8_t>(hue + 2 * i), 255, 15};
  14.   leds.show();

  15.   // Use HSV to create nice gradient
  16.   for(int i = 0; i != LED_COUNT; i++)
  17.     leds2[i] = Hsv{static_cast<uint8_t>(hue + 6 * i), 255, 15};
  18.   leds2.show();
  19. }

  20. void showRgb() {
  21.   leds[0] = Rgb{50, 0, 0};
  22.   leds[1] = Rgb{0, 50, 0};
  23.   leds[2] = Rgb{0, 0, 50};
  24.   leds[3] = Rgb{0, 0, 0};
  25.   leds[4] = Rgb{50, 50, 50};
  26.   leds.show();

  27.   leds2[0] = Rgb{50, 0, 0};
  28.   leds2[1] = Rgb{0, 50, 0};
  29.   leds2[2] = Rgb{0, 0, 50};
  30.   leds2[3] = Rgb{0, 0, 0};
  31.   leds2[4] = Rgb{50, 50, 50};
  32.   leds2.show();
  33. }

  34. void initWS2812b() {
  35.   pinMode(LED_PIN, OUTPUT);

  36.   jsTime.setInterval([]() {
  37.     showGradient();
  38.   },
  39.     20);
  40. }

  41. void refreshWS2812b() {
  42. }
复制代码


发表于 2022-1-24 20:47 | 显示全部楼层
之前做过个光立方 方案可以分享下,用天威的rgb驱动ic,驱动方式和2812一样的 可以搜一下 忘记型号了,然后38译码器+mos做层选,每一层64个rgb灯珠串联控制  焊灯阵的3d打印设计资料还在,最后只是让光立方亮了个rgb颜色就没玩了,但是方案是可行的 功耗也比较低 有个5 6a的小开关电源即可
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 00:45 , Processed in 0.476517 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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