2021年3月21日日曜日

ArduinoでLEDテープを光らせる

 最近大学の研究室に顔を出したら、このようなものを発見しました。


よくわからないLEDテープ。フルカラーLEDが144個繋がっています。
聞いたところによると、5V駆動で、割と大電流を消費するとのこと。

持ち帰って動かしてみてもよいということなので、しばらくお借りすることに。

今のところ分かっている情報は、「5V駆動であること」「3ピンで、うち1ピンが制御用端子であること」「PWM制御?らしいこと」「フルカラーでアドレサブルであること」などの情報のみ。
なんだか、パソコン用のARGBテープみたいですよね。

ですが、どうやら、Adafruit社のNeoPixelというLEDテープの同等品みたいで、NeoPixel用のライブラリを使用して、簡単に制御できることが分かりました。

回路を組んでみます。

5Vで大電流を流せる電源は、選択肢が限られます。例えば、ArduinoやRaspberry Piから取れる5V電源では電流が足りません。
今回は、以下の写真に示すようなケーブルを作り、パソコン用のATX電源の5V系統から電源をもらいました。PS_ON端子とGND端子をクローズしてATX電源をONするスイッチと、5VラインとGNDラインから電源をもらう線をつけています。
電線1本あたり5A程度流せると見積もったので、まあ十分でしょう。このLEDテープが何アンペア消費するのか、結局測定できていませんが...。

制御回路は適当につなぎました。外部電源のGND電位と、制御に使うマイコンボード(Raspberry PiやArduino等)のGND電位は揃うようにします(そうしないと制御端子の電位が浮いてしまうため)。5Vの電位は揃えていません。

まずは研究室からお借りしているRaspberry Pi 3Bで点灯させてみました。

綺麗に光っているように見えますが、光り方がまばらで、端のほうは点灯していません。どうやらこのLEDテープは制御端子の信号レベルが5V必要で、Raspberry Piの3.3Vレベルの制御信号ではうまく光らないみたいです。
レベル変換回路を組めば光らせられるのでは無いかと思いますが、部品の手持ちが無かったので今回はパス。

次は、手持ちのArduino互換機で点灯させてみました。

部屋を暗くして撮ったので肝心のマイコンが写っていませんが、端から端まで綺麗に点灯しています。この写真は、144個すべてのLEDチップをそれぞれランダムな色で点灯させている様子です。


今回書いたプログラムはこのようなものです。
NeoPixelおよびその同等品のLEDテープを制御可能な、FastLEDというライブラリを用いて簡単にコードを書けます。FastLEDはArduino IDEの「ライブラリを管理」という画面から導入できます。

0 件のコメント:

コメントを投稿

ATmega328P-PUを最小構成で動かす

最近、空き時間にAVRマイコンで遊んでいるのですが、Arduinoボードのように周辺機器や回路を満載せず、最小構成で動かしたいと感じることがあります。 Arduinoボードには、USB-シリアル変換インターフェース、5Vおよび3.3V定電圧電源、水晶発振子やセラミック発振子、電源...