带孔的 Neopixel 矩阵

Posted

技术标签:

【中文标题】带孔的 Neopixel 矩阵【英文标题】:Neopixel matrix with holes 【发布时间】:2019-07-14 09:07:12 【问题描述】:

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

这是我的矩阵,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
    ]

我想我可以以某种方式将此数组用作掩码。

【问题讨论】:

【参考方案1】:

使用 FastLED 库 找到 here 和 read 如何打开或关闭 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();

【讨论】:

以上是关于带孔的 Neopixel 矩阵的主要内容,如果未能解决你的问题,请参考以下文章

带孔的 GeoJson LineString 特征集合

如何使用 lseek 创建带孔的文件?

带孔的 Google-SDK-iOS 多边形

在three.js中将带孔的SVG路径转换为挤压形状

如何获得带孔的二元掩模的边界坐标?

可以在 QML 中的 Map 上绘制带有孔的 MapPolygon 吗?