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

マイコン内蔵LEDはてなブックマーク

Raspberry Piでマイコン内蔵LEDを光らせてみます。


赤外線学習リモコンR2-D2に電飾を仕込むための要素技術確認です。


必要なもの

ハードウェア

項目説明
Raspberry PiARMプロセッサを搭載した名刺サイズの超小型コンピュータ。GPIOポート(汎用入出力ポート)を備えており、各種外部機器を操作できる。
フルカラーシリアルLEDテープWS2812S(NeoPixel)というマイコン内蔵LEDをテープ上にしたものです。つながったままでも、1個ずつ切り離しても使えて便利です。
秋月電子通商などでも同様のものを販売しています。
TXB0104搭載電圧レベルシフタ信号の電圧レベルを変換するもの。Raspberry PiのGPIOは3.3V、WS2812Sの動作電圧は5Vのため、使用します。
目的が果たせれば他の製品でも構いません。
ブレッドボード用マイクロBメスUSBコネクタDIP化キットWS2812Sを光らせるための5V電源を手軽に得るために今回はUSBハブから電源を取ることにしました。

ソフトウェア

項目説明
rpi_ws281xRaspberry PiのGPIOでWS2812Sを制御するためのライブラリ。

手順

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

GPIO18(12番ピン)を使う場合 Permalinkはてなブックマーク

GPIO18(12番ピン)を使う場合は、config.txtを開き、オーディオをオフにする必要があります。

sudo vi /boot/config.txt
# Enable audio (loads snd_bcm2835)
#dtparam=audio=on

GPIO12(32番ピン)を使う場合は、上記の設定は不要です。

Amazon

差分 一覧