メインページに戻る

参考:シリアルLED(WS2822S)をつかってみました。


1. 半田付けをしてみよう

[撮り直すか何かする]

1. LEDを光らせてみよう!

WS2822Sについて:https://trac.switch-science.com/wiki/WS2822S

1.1 材料

  • Arduino Nano
  • ブレッドボード
  • USBケーブル
  • フルカラーシリアルLEDテープ(WS2822S)
  • ジャンパーワイヤ

シリアル線1本でフルカラーを制御できるLEDテープ。

1.2 ブレッドボード図

それでは、以下のようにLEDテープとArduinoを繋げてみましょう。

LEDテープArduino
GND (Yellow)GND
DAT (Green)A6
+5V (Red)5V

実際の写真は以下の通り。

[実際は途中で切ってハンダづけ?それとも1人1巻?]

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

以下より、Code=> Download Zip でWS2822S-master.zipというZIPファイルをダウンロードします。

https://github.com/SWITCHSCIENCE/WS2822S

解凍したフォルダを[userdir]/Arduino/librariesに移動させます。

  • Mac
    • ユーザーディレクトリ下の「書類」フォルダの中にArduinoがあります。
    • /Users/yourname/Documents/Arduino/libraries 内にフォルダごとドラッグ&ドロップしてください。
  • Windows
    • ユーザーディレクトリ下の「\Documents\Arduino\libraries」内にフォルダごとドラッグ&ドロップしてください。

1.4 コード

コードは以下の通りです。Arduinoに書き込んでみましょう。

//*****************************************************************
// WS2822S
// 2015/01/29
//
// 色情報の設定 setColor(LEDの番号、赤、緑、青)
// 色情報の送信  send()
//
//******************************************************************

#include "Ws2822s.h"
#define NUM_PIXELS 10 // 使用するWS2822Sの数
#define LED_PIN 12 // WS2822SのDAIピンにつなげるArduinoのピン番号

Ws2822s LED(LED_PIN, NUM_PIXELS);

void setup()
{
}

void loop()
{
  for (int i = 0; i < NUM_PIXELS; ++i) {
    LED.setColor(i, 0xFF, 0x00, 0x00);
    LED.setColor((i + 1) % NUM_PIXELS, 0xFF, 0xFF, 0x00);
    LED.setColor((i + 2) % NUM_PIXELS, 0x00, 0xFF, 0x00);
    LED.setColor((i + 3) % NUM_PIXELS, 0x00, 0xFF, 0xFF);
    LED.setColor((i + 4) % NUM_PIXELS, 0x00, 0x00, 0xFF);
    LED.setColor((i + 5) % NUM_PIXELS, 0xFF, 0x00, 0xFF);
    LED.setColor((i + 6) % NUM_PIXELS, 0x00, 0x00, 0x00);
    LED.setColor((i + 7) % NUM_PIXELS, 0x00, 0x00, 0x00);
    LED.setColor((i + 8) % NUM_PIXELS, 0x00, 0x00, 0x00);
    LED.setColor((i + 9) % NUM_PIXELS, 0x00, 0x00, 0x00);
    LED.send();
    delay(300);
  }
}