Top/Devel/電子工作/RaspberryPi/マイコン内蔵LED

マイコン内蔵LED の変更点はてなブックマーク


#author("2018-01-14T21:18:17+09:00","default:admin","admin")
#author("2018-01-14T21:20:08+09:00","default:admin","admin")
Raspberry Piでマイコン内蔵LEDを光らせてみます。

~

[[赤外線学習リモコンR2-D2>Devel/電子工作/irMagician/赤外線学習リモコンR2-D2]]に電飾を仕込むための要素技術確認です。

~

#vine(e1P1DETV2tQ)
#vine(enbvmiTj53Q)
#twitter(https://twitter.com/cubic9com/status/952092006217469952)


*必要なもの
**ハードウェア
|項目|説明|h
|[[Raspberry Pi>http://www.amazon.co.jp/exec/obidos/ASIN/B01CFHHYF4/cubic9com-22]]|ARMプロセッサを搭載した名刺サイズの超小型コンピュータ。GPIOポート(汎用入出力ポート)を備えており、各種外部機器を操作できる。|
|[[フルカラーシリアルLEDテープ>http://www.amazon.co.jp/exec/obidos/ASIN/B00MQPRIB6/cubic9com-22]]|WS2812S(NeoPixel)というマイコン内蔵LEDをテープ上にしたものです。つながったままでも、1個ずつ切り離しても使えて便利です。&br;[[秋月電子通商>http://akizukidenshi.com/]]などでも同様のものを販売しています。|
|[[TXB0104搭載電圧レベルシフタ>https://www.switch-science.com/catalog/1466/]]|信号の電圧レベルを変換するもの。Raspberry PiのGPIOは3.3V、WS2812Sの動作電圧は5Vのため、使用します。&br;目的が果たせれば他の製品でも構いません。|
|[[ブレッドボード用マイクロBメスUSBコネクタDIP化キット>http://akizukidenshi.com/catalog/g/gK-06656/]]|WS2812Sを光らせるための5V電源を手軽に得るために今回はUSBハブから電源を取ることにしました。|

**ソフトウェア
|項目|説明|h
|[[rpi_ws281x>https://github.com/jgarff/rpi_ws281x]]|Raspberry PiのGPIOでWS2812Sを制御するためのライブラリ。|



*手順
#ref(WS2812S_1.jpg,around,right,25%)
+Raspberry Piの3.3V(1番ピン)とレベルシフタのVccaを接続する。
+Raspberry PiのGND(6番ピン)とレベルシフタのGNDを接続する。
+Raspberry PiのGPIO18(12番ピン)とレベルシフタのA1を接続する。~
(GPIO18(12番ピン)を使う場合は注意が必要。[[後述。>./#GPIO18]])
+レベルシフタとシリアルLEDテープを接続する。
+レベルシフタのVccbとUSBコネクタのVbusとシリアルLEDテープの+5Vを接続する。
+レベルシフタのGNDとUSBコネクタのGNDとシリアルLEDテープのGNDを接続する。
+レベルシフタのB1とシリアルLEDテープのDIを接続する。
+必要なソフトウェアをインストールしておきます。
 sudo aptitude install scons
 sudo aptitude install swig
 sudo aptitude install python-dev
#ref(WS2812S_2.jpg,around,right,25%)
+テストプログラムで発光テストしてみます。パターンが光ればOK。
 cd rpi_ws281x-master/
 sudo scons
 sudo ./test
+Pythonで自由に発光パターンを作るためにセットアップします。
 cd python
 sudo python setup.py install
+後はrpi_ws281x-master/python/examples配下のstrandtest.pyを改造したスクリプトを書いて、下記のように実行すればOK。
 sudo python ~/rpi_ws281x-master/python/examples/a.py

* GPIO18(12番ピン)を使う場合 [#GPIO18]
GPIO18(12番ピン)を使う場合は、config.txtを開き、オーディオをオフにする必要があります。
#code(,nonumber){{
sudo vi /boot/config.txt
}}
>
#code(,nonumber){{
# Enable audio (loads snd_bcm2835)
#dtparam=audio=on
}}
<
GPIO12(32番ピン)を使う場合は、上記の設定は不要です。

*Amazon
#amazon(B01CFHHYF4,left)
#amazon(480071172X,left)
差分 一覧