标题: 如何使用NeoMatrix创建led点阵屏时每两个LED组成一个像素点 [打印本页]

作者: wsking233    时间: 2022-12-12 01:52
标题: 如何使用NeoMatrix创建led点阵屏时每两个LED组成一个像素点
各位大佬你们好:
受B站up主启发,想要制作一面LED点阵屏。我现有的硬件为Wemos D1 mini和ESP8266 NodeMCU开发板,WS2811灯带。我使用FastLED和Adafruit_NeoMatrix这两种库均成功创建了一个横向逆序的矩阵。
现在的需求是要把横向的每两个LED变成一组,当作一个像素点显示。
本人愚钝,尝试了多种方法,均未成功。
我想到了绘制图像时将X轴横向移动一位重复绘制,但是这种方式在显示文字时会有重叠,显示效果不佳。
并且在使用darwBitMap方法绘制图像时需要大量手动修改图像的x轴。
  1. void printText(String text, int x, int y)
  2. {
  3.   matrix->setCursor(x, y);
  4.   matrix->print(text);
  5.   matrix->setCursor(x + 1, y);
  6.   matrix->print(text);
  7. }
复制代码

我还尝试了Fast LED开发文档中的setRemapFunction,但是网上的示例都是关于创建异形屏幕的。
在一个QQ群中有个朋友发了一个截图给我,提到了可以在remap函数中将x和y的值向下取整。

可库中remap方法是需要返回一个16位参数的,我没想到要怎么一下返回两个坐标点,或者怎么把两个坐标放一起返回。
  1. void Framebuffer_GFX::setRemapFunction(uint16_t (*fn)(uint16_t, uint16_t)) {
  2.   remapFn = fn;
  3. }
复制代码
研究了好久了,希望各位大佬们能指导一下,给点修改意见。


code1.png (425.67 KB, 下载次数: 110)

code1.png

作者: 人工置顶员    时间: 2022-12-12 16:54
顶一下
作者: wsking233    时间: 2022-12-16 20:58
哭了,没有人研究过这一块吗?我现在打算物理接线,将每两个相邻的灯并联。不知道这样会不会有用。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1