共立エレショップのピンヘッダ実装済 NeoPixel WS2812B フルカラー LED モジュール 4 素子・5 素子を obniz で動かしたメモ

共立エレショップのピンヘッダ実装済 NeoPixel WS2812B フルカラー LED モジュール 4 素子・5 素子を obniz で動かしたメモです。

共立エレショップのピンヘッダ実装済 NeoPixel WS2812B フルカラー LED モジュール 8 素子タイプが obniz でうまく動作したメモ

こちらは 8 素子でしたが、良い感じだったので 4 素子・5 素子も購入して試してみました。

image

こちらのリンクで買いました。

image

8 素子のリング状のものと比べると、コンパクトです。4 素子は 2 つ、5 素子は 1 つ購入。

5 素子

image

このような見た目。よく見ると、ピンヘッダが 3 つですね。

image

このようなピン配置。

image

DIN が 0 番ピン、VCC が 1 番ピン、 GND が 2 番ピンで挿しこみました。

        const leds = obniz.wired("WS2812B", {gnd:2, vcc:1, din:0});
        
        leds.rgbs([
          [0x11, 0x00, 0x00], // red
          [0x00, 0x00, 0x11],  // blue
          [0x11, 0x00, 0x00], // red
          [0x00, 0x00, 0x11],  // blue
          [0x11, 0x00, 0x00] // red
        ]);

挿したピンに合わせて、このように LED 周辺は書き直しました。全体のソースは 共立エレショップのピンヘッダ実装済 NeoPixel WS2812B フルカラー LED モジュール 8 素子タイプが obniz でうまく動作したメモ を参考にしてください。

image

動かしてみると、良い感じに光りました!

4 素子 1 つ

image

このような見た目。こちらはピンヘッダが 4 つですね。

image

ちょっと分かりにくいですが、GND が 両脇で、IN は DIN、VCC が並んでます。

image

0 番ピンに GND を合わせて挿しこみました。

image

GND が 0 番ピン、IN は DIN で 1 番ピン、VCC がちょっと見にくいですが 2 番ピンです。

        const leds = obniz.wired("WS2812B", {gnd:0, vcc:2, din:1});
        
        leds.rgbs([
          [0x11, 0x00, 0x00], // red
          [0x00, 0x00, 0x11],  // blue
          [0x11, 0x00, 0x00], // red
          [0x00, 0x00, 0x11]  // blue
        ]);

挿したピンに合わせて、このように LED 周辺は書き直しました。全体のソースは 共立エレショップのピンヘッダ実装済 NeoPixel WS2812B フルカラー LED モジュール 8 素子タイプが obniz でうまく動作したメモ を参考にしてください。

image

動かしてみると、良い感じに光りました!

4 素子 2 つ

やりたかったのがこれです。obniz だと SPI は 2 つも行けると思うのでやってみます。

image

このように挿しました。

image

裏面の様子です。

  • 1 つめの 4 素子
    • GND が 0 番ピン、IN は DIN で 1 番ピン、VCC が 2 番ピン
  • 2 つめの 4 素子
    • GND が 8 番ピン、IN は DIN で 9 番ピン、VCC が 10 番ピン

という感じで挿してます。

        const leds = obniz.wired("WS2812B", {gnd:0, vcc:2, din:1});
        
        leds.rgbs([
          [0x11, 0x00, 0x00], // red
          [0x00, 0x00, 0x11],  // blue
          [0x11, 0x00, 0x00], // red
          [0x00, 0x00, 0x11]  // blue
        ]);

        const leds2 = obniz.wired("WS2812B", {gnd:8, vcc:10, din:9});
        
        leds2.rgbs([
          [0x11, 0x00, 0x00], // red
          [0x00, 0x00, 0x11],  // blue
          [0x11, 0x00, 0x00], // red
          [0x00, 0x00, 0x11]  // blue
        ]);

挿したピンに合わせて、このように LED 周辺は書き直しました。全体のソースは 共立エレショップのピンヘッダ実装済 NeoPixel WS2812B フルカラー LED モジュール 8 素子タイプが obniz でうまく動作したメモ を参考にしてください。

image

動かしてみると、良い感じに光りました!コンパクトに横に並んでくれて好きだなー。

ということで、4 素子・5 素子も動きましたし、4 素子については 2 つ同時に動かせました!

余談:変な電流の流し方すると LED の一部が壊れたりします

image

そう。先日購入した 8 素子なんですが、最初にピン配置に対応させた電流の流し方が間違ったみたいで output voltage is too low when driving high. io state has changed output to input という過電流検知が発生したんですが、やりすぎたようで 8 個めの LED がつかなくなってしまいました。この写真のような感じ。あちゃー。

ちゃんとピン配置に合わせた電流流そうねという余談も添えておきます~。NeoPixel って結構ガッツリ電流が流れるのでミスると壊れたりします。ご注意ください。