標(biāo)題:
如何使用NeoMatrix創(chuàng)建led點(diǎn)陣屏?xí)r每兩個LED組成一個像素點(diǎn)
[打印本頁]
作者:
wsking233
時間:
2022-12-12 01:52
標(biāo)題:
如何使用NeoMatrix創(chuàng)建led點(diǎn)陣屏?xí)r每兩個LED組成一個像素點(diǎn)
各位大佬你們好:
受B站up主啟發(fā),想要制作一面LED點(diǎn)陣屏。我現(xiàn)有的硬件為Wemos D1 mini和ESP8266 NodeMCU開發(fā)板,WS2811燈帶。我使用FastLED和Adafruit_NeoMatrix這兩種庫均成功創(chuàng)建了一個橫向逆序的矩陣。
現(xiàn)在的需求是要把橫向的每兩個LED變成一組,當(dāng)作一個像素點(diǎn)顯示。
本人愚鈍,嘗試了多種方法,均未成功。
我想到了繪制圖像時將X軸橫向移動一位重復(fù)繪制,但是這種方式在顯示文字時會有重疊,顯示效果不佳。
并且在使用darwBitMap方法繪制圖像時需要大量手動修改圖像的x軸。
void printText(String text, int x, int y)
{
matrix->setCursor(x, y);
matrix->print(text);
matrix->setCursor(x + 1, y);
matrix->print(text);
}
復(fù)制代碼
我還嘗試了Fast LED開發(fā)文檔中的setRemapFunction,但是網(wǎng)上的示例都是關(guān)于創(chuàng)建異形屏幕的。
在一個QQ群中有個朋友發(fā)了一個截圖給我,提到了可以在remap函數(shù)中將x和y的值向下取整。
可庫中remap方法是需要返回一個16位參數(shù)的,我沒想到要怎么一下返回兩個坐標(biāo)點(diǎn),或者怎么把兩個坐標(biāo)放一起返回。
void Framebuffer_GFX::setRemapFunction(uint16_t (*fn)(uint16_t, uint16_t)) {
remapFn = fn;
}
復(fù)制代碼
研究了好久了,希望各位大佬們能指導(dǎo)一下,給點(diǎn)修改意見。
code1.png
(425.67 KB, 下載次數(shù): 110)
下載附件
2022-12-12 01:56 上傳
作者:
人工置頂員
時間:
2022-12-12 16:54
頂一下
作者:
wsking233
時間:
2022-12-16 20:58
哭了,沒有人研究過這一塊嗎?我現(xiàn)在打算物理接線,將每兩個相鄰的燈并聯(lián)。不知道這樣會不會有用。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1