|
666黑幣
各位大佬你們好:
受B站up主啟發(fā),想要制作一面LED點(diǎn)陣屏。我現(xiàn)有的硬件為Wemos D1 mini和ESP8266 NodeMCU開發(fā)板,WS2811燈帶。我使用FastLED和Adafruit_NeoMatrix這兩種庫(kù)均成功創(chuàng)建了一個(gè)橫向逆序的矩陣。
現(xiàn)在的需求是要把橫向的每?jī)蓚(gè)LED變成一組,當(dāng)作一個(gè)像素點(diǎn)顯示。
本人愚鈍,嘗試了多種方法,均未成功。
我想到了繪制圖像時(shí)將X軸橫向移動(dòng)一位重復(fù)繪制,但是這種方式在顯示文字時(shí)會(huì)有重疊,顯示效果不佳。
并且在使用darwBitMap方法繪制圖像時(shí)需要大量手動(dòng)修改圖像的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)建異形屏幕的。
在一個(gè)QQ群中有個(gè)朋友發(fā)了一個(gè)截圖給我,提到了可以在remap函數(shù)中將x和y的值向下取整。
可庫(kù)中remap方法是需要返回一個(gè)16位參數(shù)的,我沒想到要怎么一下返回兩個(gè)坐標(biāo)點(diǎn),或者怎么把兩個(gè)坐標(biāo)放一起返回。
- void Framebuffer_GFX::setRemapFunction(uint16_t (*fn)(uint16_t, uint16_t)) {
- remapFn = fn;
- }
復(fù)制代碼 研究了好久了,希望各位大佬們能指導(dǎo)一下,給點(diǎn)修改意見。
|
|