共立エレショップのピンヘッダ実装済 NeoPixel WS2812B フルカラー LED モジュール 8 素子タイプが obniz でうまく動作したメモです。
背景
Power Automate Desktop が Excel ファイルから obniz のテープ LED のカラーを変えるメモ
このように以前から自分ではんだ付けしたテープ LED を使って obniz で光らせるのはやっていたのですが、このあたりの知見を「どうやるんですか?」聞かれたときに、どうしても、(3 ピンとはいえども)はんだ付けと、obniz でちゃんと光る NeoPixel WS2812B の選定でお伝えするのに苦労するところがありました。
NEO Pixel WS2812BフルカラーLEDモジュール 8素子タイプ / LEDM226-12B8
この流れで、はんだ付け済み、つまりピンヘッダ実装済の NeoPixel WS2812B フルカラー LED モジュールが、良い感じに売ってないかなと思ったいたところ、こちらの共立エレショップさんの製品がとてもよかったです。
ほかにもピンヘッダ実装済みのもので 24 ,16, 12 , 8, 5, 4 素子の種類があり、いろんな用途で使えそうです。
obniz につないでみる
このように 0 番ピンに合わせて挿しこみます。
裏面の様子。 DOUT(DO) は今回使わないので、GND が 1 番ピン、5V が 2 番ピン、 DIN(DI) が 3 番ピンに刺さっています。
プログラム
obniz クラウドで以下のようなソースコードを動かしました。交互に赤と青に点灯します。
<html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script> <script src="https://unpkg.com/obniz@3.24.0/obniz.js" crossorigin="anonymous"></script> </head> <body> <h1>LED</h1> <script> // 今回の obniz を指示するための設定 const obniz = new Obniz("OBNIZ_ID_HERE"); // 接続後に LED を光らせる obniz.onconnect = async function () { obniz.display.clear(); obniz.display.print("[LED]"); const leds = obniz.wired("WS2812B", {gnd:1, vcc: 2, din: 3}); leds.rgbs([ [0x11, 0x00, 0x00], // red [0x00, 0x00, 0x11], // blue [0x11, 0x00, 0x00], // red [0x00, 0x00, 0x11], // blue [0x11, 0x00, 0x00], // red [0x00, 0x00, 0x11], // blue [0x11, 0x00, 0x00], // red [0x00, 0x00, 0x11] // blue ]) } </script> </body> <html>
[0x11, 0x00, 0x00], // red
や [0x00, 0x00, 0x11], // blue
は、なぜ 0xFF
フルパワーにしないかというと、これぐらいしないと光が強すぎるからです。あえて弱くしています。
動かしてみる
このプログラムを実際に動かしてみると、交互に赤と青が点灯しました!
細かく作っていくなら自分の制作物に合ったテープ LED で半田付けして組み込んでいきますが、サッとフルカラー LED を光らせたいときに、ピンヘッダ実装済みだと obniz にすぐ挿せて使えていいですね。
良い感じだったので、いくつか他の素子数のものも買って試してみようと思います。