---
slug: "ラズベリーパイでリレーを使ってUSB機器をオンオフする"
title: "ラズベリーパイでリレーを使ってUSB機器をオンオフする"
description: "ラズベリーパイで、外部スピーカーを使って音楽を再生させようと思ったのですが、スピーカーの電源をずっと入れっぱなしにしておくのはエネルギーの無駄だと思ったので、使うときだけ電源ONする仕組みを作ろうと思いました。"
url: "https://www.ytyng.com/blog/ラズベリーパイでリレーを使ってUSB機器をオンオフする"
publish_date: "2014-05-31T03:29:46Z"
created: "2014-05-31T03:29:46Z"
updated: "2026-02-27T02:13:53.000Z"
categories: ["Raspberry-Pi"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/7533d4654ee840d1aff088f45ed5f8ff.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

# ラズベリーパイでリレーを使ってUSB機器をオンオフする

ラズベリーパイで、外部スピーカーを使って音楽を再生させようと思ったのですが、スピーカーの電源をずっと入れっぱなしにしておくのはエネルギーの無駄だと思ったので、使うときだけ電源ONする仕組みを作ろうと思いました。<br/>
<br/>
リレー1つで簡単に実現できます。GPIO からリレーを叩きます。<br/>

<h2>結線図</h2>
<img src="http://ytyng.com/picture/raspberry-pi/relay/raspberry-with-relay.png"/><br/>
<br/>
Raspberry Pi は、通常は Micro USB 端子から 5V 電源をとりますが、ここにはレギュレータが入っているそうで、GPIO の +5V から出る電流は貧弱なものになるそうです。(700mA?) <br/>
逆に、GPIO の 2ピンの +5V は、電源の入力もできるそうなので、そこから電源を入れてみました。ただし、レギュレータをキャンセルするので、過電流には注意しないといけないとのこと。<br/>
<br/>
やってみたら、配線がとてもすっきりしました。良いです。<br/>

<br/>

<img src="http://ytyng.com/picture/raspberry-pi/relay/IMG_3226.JPG"/><br/>
<br/>

<h2>テスト動画</h2>
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/S8m9UgJtsLg" style="max-width:100%" width="560"></iframe><br/>
ipython より、GPIO7 を ON にし、USB電源のスピーカーを起動しています。<br/>



<h2>コード</h2>
音声を再生する直前に GPIO7 を ON にし、再生が終了したら OFF にします。bash スクリプトにするとこんな感じです。

<pre>#!/bin/bash
gpio mode 7 out
gpio write 7 1
mpg321 "$@"
gpio write 7 0
</pre>

(gpioコマンドのインストールは<a href="https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/" target="_blank">こちら</a>。<br/>
mpg321 は <code>sudo apt-get install mpg321</code> で。)<br/>
<br/>

これを、play-music というようなファイル名で保存し、パスを通しておきます。<br/>
<pre>$ play-music music/xxxx.mp3
</pre>

すると、自動的にスピーカーをON→再生→スピーカーOFF ができます。<br/>
<br/>
今回は、物理スイッチリレーを使ったので、電源ON/OFF時に「パチン」というクリックノイズが鳴ります。
ケースに収めれば気にならないでしょうが、ノイズを小さくするにはソリッドステートリレーを使うとよいでしょう。<br/>
