ラズパイでNeoPixelを激しくLチカ
ラズパイで派手にLEDを光らせたいときありますよね。私はあります。
意外にもやったことなかったので、手順をメモします。
使用したのは、以下のLEDテープです。買ったまま放置していました。
ハードウェア準備
用意したのは以下です。
- ラズパイ4
- ICクリップ
- LEDテープ
LEDテープはとりあえず3つくらいに切っておきます。使用するLEDは電流を考慮して決めましょう(ここでは説明は省略します)。
接続は、以下のサイトを参考にして下さい。
ソフトウェア
以下2つのサイトが参考になりました。
ほとんど上記のサイトのままですが、自分の環境に合わせて少し変えたりしたので、まとめておきます。詳細は、上記のサイトの方を参照して下さい。
そのうちスクリプト化するかもです。
rpi_ws281xライブラリのセットアップ
まずは、以下コマンドでrpi_ws281xライブラリをビルドします。sconsというのがmakeの代わりらしいです。
$ sudo apt-get install scons
$ cd && git clone https://github.com/jgarff/rpi_ws281x.git
$ cd rpi_ws281x
$ sudo scons
rpi_ws281xのpythonラッパープログラムセットアップ
続いて、ラッパープログラムをインストールして、サンプルをダウンロードします。
$ sudo pip3 install rpi_ws281x
$ cd && git clone https://github.com/rpi-ws281x/rpi-ws281x-python
サンプルを動かす
以下でサンプルを動かすと、LEDが綺麗にピカピカします。
$ cd ~/rpi-ws281x-python/examples
$ sudo python3 standtest.py
ただし、このままだとCTRL+C
でプログラムを終了してもLEDが眩しいです。プログラム終了時にLEDをOFFしたい場合は、以下のように-c
オプションをつけましょう。これで終了するとLEDがオフするようになります。
$ sudo python3 standtest.py -c
使用するピンを変えたいときは、standtest.pyのLED_PIN = 18
を編集すれば簡単に変えられます。18pinだと、アナログオーディオが死んでしまうので、オーディオ使いたいときは別のピンにしましょう(私はとりあえず参考にしたサイトに従い、21pinにしました)。
もっと長いLEDテープでLビカ(LEDビカビカ)する場合
ラズパイ4で以下のように繋げます。
サンプルプログラムでビカビカ。LEDの個数のパラメータは調整しておきましょう。
ラズパイ3だと電源回路の過電流保護にひっかかってしまうかもしれません。
直接ピンヘッダの5Vに給電するか、5Vは根本で分けたほうが良いかもですね(電流次第)。
まとめ
ラズパイで激しくLチカしました。楽しいですね。
関連記事
変更履歴
- 2023/05/27 Lビカやサンプルプログラムの注記を追記