Raspberry Pi用のリレーを試してみたかったので、次の製品をAmazonで購入しました。
完全なマニュアルの情報を提供する(wiringPi、WebioPi、shell、python、 bcm2835と他のチュートリアルを含む)。
ですが、どこにもマニュアルが見当たりません。製品の箱には紙類が入っていませんし、ネットで検索してもドキュメントは見当たりません。海外のレビュー等を見ても、マニュアルが無いとみんな言っています。
たぶんここが公式のマニュアルの掲載ページで、「ここに無かったらメールで聞いてね」と書いてあるので聞けば良いのでしょうが、家電製品を買ったら説明書を読む前にまず電源を入れちゃう私としては、気づいたときにはラズパイにつないで電源をONにしているわけです。
基板のシルクを見ればだいたい仕様はわかります。想像した仕様とあっているかを確かめます。今回使用したのはRaspberry Pi 3 Model Bです。
テスターを導通していたらブザーが鳴るモードにして、リレーに繋ぎます。
そして次のようなコマンドを実行して、GPIOの出力状態を変えてブザーが鳴るかどうかを確かめます。
pi@raspberrypi:~ $ sudo echo 19 > /sys/class/gpio/export pi@raspberrypi:~ $ sudo echo out > /sys/class/gpio/gpio19/direction pi@raspberrypi:~ $ sudo echo 1 > /sys/class/gpio/gpio19/value pi@raspberrypi:~ $ sudo echo 0 > /sys/class/gpio/gpio19/value
だいたい仕様がわかったので、認識が合っているか確かめる目的が半分、遊びが半分の回路を組んでみます。こんな感じです。
次のコマンドでPythonでGPIOの制御を行うライブラリをインストールします。
pi@raspberrypi:~ $ sudo pip install RPi.GPIO
次のような感じでプログラムを作ってみました。
#!/usr/bin/python # coding: utf-8 import RPi.GPIO as GPIO import time CH1 = 19 CH2 = 26 CH3 = 20 CH4 = 21 COUNT = 5 SLEEP = 0.3 GPIO.setmode(GPIO.BCM) GPIO.setup(CH1, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(CH2, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(CH3, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(CH4, GPIO.OUT, initial=GPIO.LOW) try: time.sleep(5) for i in range(0, COUNT): GPIO.output(CH1, GPIO.HIGH) time.sleep(SLEEP) GPIO.output(CH1, GPIO.LOW) time.sleep(SLEEP) for i in range(0, COUNT): GPIO.output(CH2, GPIO.HIGH) time.sleep(SLEEP) GPIO.output(CH2, GPIO.LOW) time.sleep(SLEEP) for i in range(0, COUNT): GPIO.output(CH3, GPIO.HIGH) time.sleep(SLEEP) GPIO.output(CH3, GPIO.LOW) time.sleep(SLEEP) for i in range(0, COUNT): GPIO.output(CH4, GPIO.HIGH) time.sleep(SLEEP) GPIO.output(CH4, GPIO.LOW) time.sleep(SLEEP) for i in range(0, COUNT): GPIO.output(CH1, GPIO.HIGH) GPIO.output(CH2, GPIO.HIGH) GPIO.output(CH3, GPIO.HIGH) GPIO.output(CH4, GPIO.HIGH) time.sleep(SLEEP) GPIO.output(CH1, GPIO.LOW) GPIO.output(CH2, GPIO.LOW) GPIO.output(CH3, GPIO.LOW) GPIO.output(CH4, GPIO.LOW) time.sleep(SLEEP) time.sleep(5) finally: GPIO.cleanup()
実行権限を付けて実行します。
pi@raspberrypi:~ $ chmod +x relay.py pi@raspberrypi:~ $ ./relay.py
動いている様子はこんな感じです。
リレーなのでカチカチ言います。
今回はリレーの動作確認のためにこの回路とプログラムを作りました。LEDを点灯させる電源もラズパイから取っており、リレーを使う必要性はありません(GPIOの出力でLEDを点灯できるため)。
このリレーはもっと大きな電力が必要なものを制御したり、別系統の回路や交流電源のON/OFF等をラズパイで行いたい場合に活躍します。
Amazonに書いてあった内容を信じるならば、定格は250V AC/5A、30V DC/5Aらしいので、白物家電やヒーターなどのON/OFFにも使えそうです。ただ、この製品を使う場合、リレーの定格は現物の品番から自分で調べた方が良いと思います。Amazonの文章を鵜呑みにするのは怖いですし、ロット違い等でリレーが違う場合もあるかもしれません(そもそも本物と信じて良いのか…)。
2020/05/14 追記
コメントでご指摘頂いたのですが、リレー本体に定格が印刷されていました。定格はAC125V 20A、DC14V 20Aが正解のようです。Amazonの記載が間違っていますね。
AC100Vをかける場合は細心の注意を払ってください。私は怖がりなのでAC100Vには繋ぎませんし、大きな電流が流れる用途にも使いません。
20A 14VDC
20A 125VAC
とリレーに表記されている以上
DC14V 20A
AC125V 20A
だと思います。
本当ですね。見落としていました。
ご指摘ありがとうございます。