
「シリアルLEDスティック」という、とても簡単に沢山のLEDを扱えるモジュールが発売されました。
http://www.switch-science.com/catalog/1515/
今回は、この商品の基本的な使い方を説明します。
まず最初にシリアルLEDスティックとArduinoとの接続方法です。

信号線を1本しか使わないので、とても簡単ですね。

基本的に電源(5V)とGNDと信号線(In)の3つだけ繋げば10個のLEDがコントロールできます。
#連結して使う場合にのみOutを使います
次はシリアルLEDスティックをArduinoでコントロールする為のサンプルスケッチです。
下記URLからAdafruit製のArduino用ライブラリを落としてきましょう。
https://github.com/adafruit/Adafruit_NeoPixel
#このライブラリが「シリアルLEDスティック」でも流用できます
以下がサンプルプログラムです。
#include <Adafruit_NeoPixel.h>
#define LEDmax 10
#define LEDpin 2
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LEDmax,LEDpin,NEO_GRB + NEO_KHZ800);
byte LEDposition;
int LEDcolor,LEDcolorR,LEDcolorG,LEDcolorB;
boolean LEDflag;
void setup() {
LEDposition = 0;
LEDcolor = 0;
LEDflag = false;
strip.begin();
strip.show();
}
void loop() {
if (LEDflag == false) {
if(++LEDcolor == 255) {
LEDflag = true;
}
} else {
if (--LEDcolor == 0) {
LEDflag = false;
LEDposition = (LEDposition + 1) % 10;
}
}
LEDcolorR = LEDcolorG = LEDcolorB = LEDcolor;
strip.setPixelColor(LEDposition,strip.Color(LEDcolorR,LEDcolorG,LEDcolorB));
strip.show();
delay(1);
}
どうです?LEDが順番に白く光りましたか?
それではサンプルプログラムの説明です。
#define LEDmax 10
この行の「10」がLEDの個数です。
この商品には10個のLEDが付いているので10とします。
この商品を連結使用してLEDの個数が増えた場合は、ここの数字も増やしてください。
#define LEDpin 2
この行の「2」はArduinoの信号線の繋がっているピン番号です。
このサンプルではArduinoのD2に信号線を繋ぐようにしています。
strip.begin();
初期化コマンドです、初期化時に一回このコマンドを呼び出してください。
strip.show();
LEDにコマンドを送ります。
strip.setPixelColor(LEDposition,strip.Color(LEDcolorR,LEDcolorG,LEDcolorB));
何番目のLEDを何色にするかのコマンドです。
LEDposition部分に何番目のLEDをコントロールするか書きます(0~9)。
LEDcolorRとLEDcolorGとLEDcolorBにはRGBの色をそれぞれ入れます(各々0~255)。
ライブラリを使えばこれだけで複数のLEDを好きな色に点灯させる事が出来ます。
最後に「シリアルLEDスティック」を連結して使う場合の接続図を下記に掲載しておきます。

