Raspberry Pi用のリレーを試す

Pocket
LINEで送る

Raspberry Pi用のリレーを試してみたかったので、次の製品をAmazonで購入しました。

Kuman リレーボード Raspberry Pi用電源リレーボード 250V AC/5A 30V DC/5A負荷 拡張ボード モジュールキット Raspberry Pi A+/B+/2b/3b用リモートコントロール K82

Amazonの説明文に次のように書いてあります。

完全なマニュアルの情報を提供する(wiringPi、WebioPi、shell、python、 bcm2835と他のチュートリアルを含む)。

ですが、どこにもマニュアルが見当たりません。製品の箱には紙類が入っていませんし、ネットで検索してもドキュメントは見当たりません。海外のレビュー等を見ても、マニュアルが無いとみんな言っています。

たぶんここが公式のマニュアルの掲載ページで、「ここに無かったらメールで聞いてね」と書いてあるので聞けば良いのでしょうが、家電製品を買ったら説明書を読む前にまず電源を入れちゃう私としては、気づいたときにはラズパイにつないで電源をONにしているわけです。

基板のシルクを見ればだいたい仕様はわかります。想像した仕様とあっているかを確かめます。今回使用したのはRaspberry Pi 3 Model Bです。

テスターを導通していたらブザーが鳴るモードにして、リレーに繋ぎます。

そして次のようなコマンドを実行して、GPIOの出力状態を変えてブザーが鳴るかどうかを確かめます。

001
002
003
004
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の制御を行うライブラリをインストールします。

001
pi@raspberrypi:~ $ sudo pip install RPi.GPIO

次のような感じでプログラムを作ってみました。

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
#!/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()

実行権限を付けて実行します。

001
002
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には繋ぎませんし、大きな電流が流れる用途にも使いません。

Pocket
LINEで送る

Raspberry Pi用のリレーを試す” への2件のコメント

    • 本当ですね。見落としていました。
      ご指摘ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.