ラズベリーパイで、外部スピーカーを使って音楽を再生させようと思ったのですが、スピーカーの電源をずっと入れっぱなしにしておくのはエネルギーの無駄だと思ったので、使うときだけ電源ONする仕組みを作ろうと思いました。
リレー1つで簡単に実現できます。GPIO からリレーを叩きます。
Raspberry Pi は、通常は Micro USB 端子から 5V 電源をとりますが、ここにはレギュレータが入っているそうで、GPIO の +5V から出る電流は貧弱なものになるそうです。(700mA?)
逆に、GPIO の 2ピンの +5V は、電源の入力もできるそうなので、そこから電源を入れてみました。ただし、レギュレータをキャンセルするので、過電流には注意しないといけないとのこと。
やってみたら、配線がとてもすっきりしました。良いです。
ipython より、GPIO7 を ON にし、USB電源のスピーカーを起動しています。
音声を再生する直前に GPIO7 を ON にし、再生が終了したら OFF にします。bash スクリプトにするとこんな感じです。
#!/bin/bash gpio mode 7 out gpio write 7 1 mpg321 "$@" gpio write 7 0
(gpioコマンドのインストールはこちら。
mpg321 は sudo apt-get install mpg321
で。)
これを、play-music というようなファイル名で保存し、パスを通しておきます。
$ play-music music/xxxx.mp3
すると、自動的にスピーカーをON→再生→スピーカーOFF ができます。
今回は、物理スイッチリレーを使ったので、電源ON/OFF時に「パチン」というクリックノイズが鳴ります。
ケースに収めれば気にならないでしょうが、ノイズを小さくするにはソリッドステートリレーを使うとよいでしょう。
コメント