ArduinoでLEDテープを制御する
C言語の簡単な知識だけで十分に応用できる。
配線:
ArduinoとNeoPixelを接続する。
テープの矢印の向きに注意・写真参照
Arduino側 NeoPixel側
GND と GND 黒線
5V と + 赤線
6~Pin と 白線(他の色の線でもOK)
NeoPixelはGroveコネクタで延長可能。
Arduinoから供給可能な電力に応じて点灯可能な個数の上限がある。
輝度を落とす・同時点灯数を抑えることで上限は増減する。
※画像をクリックして拡大
※画像をクリックして拡大
Arduino IDEにNeoPixelライブラリを追加
ライブラリアイコン → 「 NeoPixel」 で検索
Adafruit NeoPixel
INSTALLする
Arduino IDEのFileメニューからサンプルスケッチを開いて動作確認
Arduinoのスケッチの改造
Arduino IDEに付属のサンプルコードを利用する。
File → Examples → Adafruit NeoPixel
の下の、
・simple_new_operator
1個づつ個数を増やしながら緑に点灯
14行目 ArduinoとNeoPixelを繋ぐ制御用のピン。6のままでOK
// Which pin on the Arduino is connected to the NeoPixels?
int pin = 6; // On Trinket or Gemma, suggest changing this to 1
17行目 NeoPixelの総数(LEDの個数)。必要に応じて変更する。
// How many NeoPixels are attached to the Arduino?
int numPixels = 30; // Popular NeoPixel ring size
27行目 点灯の時間間隔。500ミリ秒から変えてよい。
#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels
61行目 点灯色。RGBごとに0ー255の範囲で指定する。
値は 0 1 2 4 8 16 32 64 128 255 の様にx2倍で調整するとよい
pixels->setPixelColor(i, pixels->Color(0, 150, 0));
・strandtest
様々なパターンで点灯するデモ
コードはNeoPixelの総数を調整して利用する。
・buttoncycler
ボタンを押すごとに点灯パターンを変化させる。
ボタンは取り付けなくてもOK。
2番ピンをGNDに接続することでボタンの代用に出来る。
16ー20行目の値を調整して利用する。PINの番号は変更しなくてもOK。
#define BUTTON_PIN 2
#define PIXEL_PIN 6 // Digital IO pin connected to the NeoPixels.
#define PIXEL_COUNT 30 // Number of NeoPixels
点灯パターンを固定するには、2番ピンをGNDに接続して
53行目を修正する。
(元のコード)
if(++mode > 8) mode = 0; // Advance to next mode, wrap around after #8
(修正コード)点灯モードは 0から8の9パターンある。適当な番号に変更すればよい。
mode = 0;