首页 > 解决方案 > 带孔的 Neopixel 矩阵

问题描述

我想用 Neopixel LED 条纹创建一个可穿戴的 LED 矩阵面罩。但是,我需要补偿为我的眼睛添加孔。如何使用Adafruit_NeoMatrixArduino 库在矩阵中添加孔。

这是我的矩阵,1 代表一个 LED,0 代表一个缺失的 LED。我使用锯齿形图案,从右上角开始,从右到左,然后向下,然后从左到右,依此类推......

    [
        0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
        1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
    ]

我想我可以以某种方式使用这个数组作为掩码。

标签: arduinoadafruitneopixel

解决方案


使用此处找到的FastLED 库阅读如何打开或关闭 LED,然后使用以下基本方法。

uint8_t myPattern[] = {1,2,3,4,5,21,22,23,24,25,71,72,73,74,75}; // 15 LEDs ("pixels")

myPatternLength = 15;

for(uint8_t i=0; i < myPatternLength ; i++)
{
  leds[myPattern[i]] = CHSV(255,255,255); // The 15 LEDs ("pixels") will be white
}

FastLED.show();

推荐阅读