0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

フルカラーLED64配列 WS2812B-64をarduinoで使う

Posted at

この記事は、arduinoでフルカラーLED64配列(WS2812B-64)を使うためのものです。WS2812BはテープLEDなどで見かけるフルカラーLEDです。5VとGNDと信号線の3端子で制御可能です。これが8x8=64個並んだものが2000円弱で売られています。使い方はテープLEDと同じです。
gifmagazinLED64.GIF

#接続方法
基板にはINとOUTがあり、IN側の3端子をつなぎます。
OUT端子は、数珠繋ぎに拡張するための端子です。
基板<->arduino
V+ <-> 5V
V- <-> GND
IN <-> D6
led64s.JPG

#消費電力
64個のLEDを(255,255,255)で光らせると、推定値2000mA以上必要となり、USBの規格が500mAで設計されているのでなにかが壊れるかもしれません。
実測値は以下の通りです。
64個のLEDを(64,64,64)で光らせると600mAでした。
64個のLEDを(32,32,32)で光らせると360mAでした。
これにはarduinoの消費電力も含まれています。
色は光の三原色でつくられており、白が一番消費電力が高く、白以外の色であれば消費電力は下がることから、(64,64,64)以内で使っていれば、実用上問題ないのかなと思います。

#プログラム
「ライブラリの管理」メニューから「Adafruit NeoPixel」を検索し、インストールします。
以下、適当に光らせるプログラムです。

led64.ino
#include <Adafruit_NeoPixel.h>

Adafruit_NeoPixel pixels(64, 6, NEO_GRB + NEO_KHZ800);
int counter = 0;

void setup() {
  pixels.begin();
}

void loop() {
  for (int i = 0; i < 64; i++) {
    int r = i;
    int g = (i*8)%64;
    int b = sin(counter/50.0)*32+32;
    pixels.setPixelColor(i, pixels.Color(r,g,b));
  }
  pixels.show();
  delay(10);

  counter++;
}
0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?