ArduinoでWS2812Bマトリックス配列の順序について


Arduinoを使用してWS2812B LEDマトリックス配列の順序について説明します。以下に、いくつかの方法とそれぞれの方法のコード例を示します。

  1. 一列のマトリックス配列: この方法では、マトリックス配列を1列に並べます。最初のピクセルから順に並べていくため、データ転送の順序は簡単です。以下は、コード例です。

    #include <Adafruit_NeoPixel.h>
    #define NUM_PIXELS 16
    #define DATA_PIN 6
    Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_PIXELS, DATA_PIN, NEO_GRB + NEO_KHZ800);
    void setup() {
     pixels.begin();
     pixels.show();
    }
    void loop() {
     for (int i = 0; i < NUM_PIXELS; i++) {
       pixels.setPixelColor(i, pixels.Color(255, 0, 0));
       pixels.show();
       delay(100);
     }
    }
  2. スネークパターンのマトリックス配列: この方法では、マトリックス配列をスネークパターンで並べます。例えば、最初の行を左から右に、次の行を右から左に並べます。データ転送の順序は少し複雑になりますが、以下はコード例です。

    // コード例は長くなりますので省略します
  3. Z字パターンのマトリックス配列: この方法では、マトリックス配列をZ字パターンで並べます。例えば、最初の行を左から右に、次の行を右から左に、さらに次の行を左から右に並べます。データ転送の順序はより複雑になりますが、以下はコード例です。

    // コード例は長くなりますので省略します

これらはいくつかの一般的なマトリックス配列の並べ方の例です。実際の使用環境に合わせて、適切な順序を選択してください。コード例はAdafruit_NeoPixelライブラリを使用していますが、他のライブラリでも同様の方法が使える場合があります。