ライブラリ概要

NeoPixelはカラーLEDに関するAdafruitのブランドで、 WS2812 LEDおよびその互換品の呼称となっています。

NeoPixel (WS2812) カラーLEDには、LED の発光制御用のICが組み込まれています。このIC のおかげで、カラーLED の色や明るさを1 本の信号線のみで制御できるとともに、数珠つなぎで多数のカラーLEDを制御することができます。

一方その制御信号として、高速かつ正確なタイミングの制御信号を生成する必要があります。このようなプログラムを作成するためには、MCU のマシン語を用いたプログラミングの知識なども必要になり少々面倒なのですが、Adafruit 社がオープンソースライセンスで公開しているNeoPixel ライブラリを利用すると、NeoPixel (WS2812) LED を簡単に制御することができるようになります。

ライブラリのインストール

NeoPixel ライブラリは、Arduino IDE のライブラリライブラリマネージャを利用して簡単にインストールできます。

ライブラリマネージャの検索フィルタに[NeoPixel] を入力して絞り込むと、NeoPixel 用のライブラリが多数列挙されます。ここでは、[Adafruit NeoPixel by Adafruit] とタイトルが付けられているライブラリのインストールボタンを選択してインストールします。

ライブラリの利用

ライブラリがインストールされると、メニューバーの[ファイル] ) [スケッチ例]を選択すると、インストールされたNeoPixel ライブラリに関する項目が追加されていることがわかります。その項目を選択すると、いくつかのデモプログラムが表示されます。

ライブラリのテストとしては、カラーLED の鮮やかな色の変化を楽しめるstrandtestがよいでしょう。スケッチを開いたら、20行目あたりのLED_PINを制御用信号の出力ピン番号に、LED_COUNTを接続されているカラーLEDの個数に設定します。

以下に、いくつかの設定例を示します。

ESP8266-LEAF-R5に8x8のカラーLEDマトリックスを接続した場合

#define LED_PIN    2
#define LED_COUNT 64

ESP32-PIXELの場合

#define LED_PIN    15
#define LED_COUNT 144