「シリアルLEDスティック」光らせてみた!

投稿者:

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

まず最初にシリアルLEDスティックとArduinoとの接続方法です。
serialledstick1
信号線を1本しか使わないので、とても簡単ですね。
ledbar3
基本的に電源(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スティック」を連結して使う場合の接続図を下記に掲載しておきます。
serialledstick2