スポンサーリンク
Arduino電子工作

マイコン制御可能なRGBLED-WS2812Bのリング型モジュールを使ってみた。

まえがき

OLEDなどのディスプレイを購入しても良かったのですが、LEDをUIとして使う方が今後の目的にマッチするので、リング状にLEDが16個配置されているマイコン制御可能なモジュールを購入しました。
筆者が購入したショップにはLEDの数が8,16,24,35,45個の5種類有りました。

基盤の切断部分の処理が、かなり適当で汚いので自分で綺麗にする必要がありました。

使用したモノ

  • Arduino Uno R3 (互換機) 1個
  • LEDリングモジュール 1個
  • ジャンパー線 3本

環境

Arduino IDE 2.3.4

使用ライブラリ

Adafruit_NeoPixel 1.12.3

配線

今回はDOUTを使用しませんでしたが、DOUTを別のモジュールのDINに繋いでLEDの数を更に増やして行く事が可能なようです。

既に16個繋がっているので、その場合は外部電源が必要になりそうです

サンプルコード

Githubに紹介されていたコードにBRIGHTNESS設定のみ追加しました。

初期設定のままだと眩しすぎるので。

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
  #include <avr/power.h>
#endif

#define PIN        6
#define NUMPIXELS 16
#define BRIGHTNESS 10

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 500

void setup() {
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  clock_prescale_set(clock_div_1);
#endif

  pixels.begin();
  pixels.setBrightness(BRIGHTNESS);
}

void loop() {
  pixels.clear();

  for(int i=0; i<NUMPIXELS; i++) {

    pixels.setPixelColor(i, pixels.Color(0, 150, 0));
    pixels.show();
    delay(DELAYVAL);
  }
}

問題なければ、時計回りに緑色のLEDが点灯して行くサイクルが始まります。

コードの中身は基本的にLEDを点灯させているだけなので、思ったよりシンプルでした。

関連記事

参考リンク

GitHub - adafruit/Adafruit_NeoPixel: Arduino library for controlling single-wire LED pixels (NeoPixel, WS2812, etc.)
Arduino library for controlling single-wire LED pixels (NeoP...

コメント

タイトルとURLをコピーしました