こんにちは、エンジニアのオオバです。
電子工作初心者の憧れは LEDテープライト です。
あのキラキラしたLEDテープライトは
一度プログラミングで動かしたいものです。
今回は先日Amazonで購入した
LEDテープライトをArduinoで動かしてみたいと思います。
→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら
用意するもの
LEDテープのライブラリインストール
LEDテープを動かすためのライブラリが公開されていて、
今回はそれを使います。
使用するためにライブラリを
Arduino IDEにインストール します。
ツール > ライブラリ管理
から
ライブラリマネージャを開きます。
- Adafruit neoMatrix 1.1.2
- Adafruit NeoPixel 1.2.1
上記2つのライブラリをインストール。
ソースコードは記事末尾で公開 していますので、
そちらを参考にしてください。
電源供給モジュールの接続
さっそく回路を組んでいきます。
このようにブレッドボードに
電源供給モジュール(黒いパーツ) を接続して
LEDテープライトに電源供給させます。
ArduinoとPCはUSB接続をしています。
電源供給モジュールの詳細です。
5V電圧が必要なので、
上図のように5V電圧の方を使用して回路を繋ぎます。
電源供給モジュールを使用している理由は、
LEDテープライトはたくさんのLEDを同時に光らせるため です。
Arduinoの入力5V電圧だと
損傷する可能性 あります。
ということで 電源は別で用意 しているわけです。
今回は以前購入していたスターターキット同梱の
電源供給モジュールを使用しました。
ELEGOO Arduino用UNO R3スターターキット
いろんなパーツがお手頃価格で手に入るため、
初心者にはオススメパック です。
LEDテープライトとArduino側のケーブル接続
- LEDテープライトの緑ケーブルはデジタルピン(プログラムで指定)
- LEDテープライトの黒ケーブルはGNDへ
それぞれ繋ぎます。
完成 : イルミネーションできた!!
動かしてみると、
見事にテープLEDがイルミネーションしました。
すごくきれい!!
クリスマスのツリーにつけたり、
誕生日会のデコレーションといった
アイデアが浮かんできますね。
子供が喜びそうです。
まとめ : ArduinoでLEDテープライトを光らせる方法
記事の内容を簡単にまとめます。
- LEDテープライトは電源モジュールを使う
- ライブラリを使うと簡単に実装できる
- スターターキットは初心者にオススメ
- LEDテープライトはキレイ
こんな感じです。
電子工作は手元で触れる「モノ」が動くっていうのがロマンです。
モニタの中でしか動かないプログラミングとはまた
別の魅力があります。
次は何を動かしてみようかな。
最後にサンプルコード全体を共有
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define LED_NUM 50 //LEDの数
Adafruit_NeoPixel ledtape = Adafruit_NeoPixel(LED_NUM, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
ledtape.begin();
ledtape.show();
}
void loop()
{
uint16_t i, j;
for(j = 0; j < 256; j++)
{
for(i = 0; i < ledtape.numPixels(); i++)
{
ledtape.setPixelColor(i, rotateColor(
((i * 256 / ledtape.numPixels()) + j) & 255)
);
}
ledtape.show();
delay(20);
}
}
//RGBの色の移り変わり関数
uint32_t rotateColor(byte WheelPos)
{
if(WheelPos < 85)
{
return ledtape.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}
else if(WheelPos < 170)
{
WheelPos -= 85;
return ledtape.Color(255 - WheelPos * 3, 0, WheelPos * 3);
}
else
{
WheelPos -= 170;
return ledtape.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
}
何かの参考になれば幸いです。
この記事が気に入ったらフォローしよう
- Arduino IDE 1.8.9
- Adafruit neoMatrix 1.1.2
- Adafruit NeoPixel 1.2.1
- macOS HighSierra 10.13.6