Raspberry Piでリレー回路を制御する方法

  • URLをコピーしました!

今回はSODIALというメーカーのリレーモジュールを購入しましたので、Raspberry Piからリレー回路を制御する方法について解説します。

目次

リレー回路モジュール

今回購入したリレーモジュールはSODIALというメーカーのモノです。おそらく中国製かと思いますがアマゾン等で購入することができます。

SODIAL(R) リレーモジュール

メーカーのデータシートを探しても見当たらないのですが、かずいさんが以下のサイトで回路図を作成してくれていますので、参考にさせて頂きました。

created by Rinker
¥1,675 (2022/09/30 12:45:59時点 楽天市場調べ-詳細)

Raspberry Piとの接続

こちらがリレーモジュールの実物です。
写真右側のピンヘッダをRaspberry piのGPIOと接続して使用します。

購入時は左側の電源ピンはJD-VCCとVCCにジャンパーがついておりショートした状態となっています。今回は何も接続せずにテストするのでこのまま5Vで使用します。
実際に使用するポンプが届いたら、ジャンパーを外してJD-VCC側にポンプ用電源を接続して使用します。

反対側はRaspberry Piで制御したい回路を接続するための端子台が実装されています。
私の場合はこちら側に水をくみ上げるためのポンプを接続して使用する予定です。

今回はまだ制御対象となるポンプとポンプ用の電源が届いていないため、Raspberry Piだけを接続してPythonの制御プログラムの動作テストをしてみました。写真がRaspberry Piと接続した様子です。(デバッグのためオシロを繋いでいます)

リレー回路の制御方法

リレー回路を制御するためのコードを解説します。
リレー回路を制御するための制御信号をGPIOライブラリpigpioを使用して、リレーモジュールの「IN1」の端子と接続しているGPIOのピンの電圧を変化させます。

pigpioの使い方は以下の記事で解説していますので、あわせてご覧ください。

今回はGPIO23番ピンを使用することにしましたので、使用するピンのモード設定をします。
今回は出力ピンとして使うため「OUTPUT」に設定します。

pi.set_mode(pin1, pigpio.OUTPUT)  #リレー制御用のピンを出力ポートに設定

実際にピンの出力状態を変化させるにはwriteメソッドを使用します。
第1引数はピン番号、第2引数はピンの状態となります。(1:ON 0:OFF)

pi.write(pin1, 1) #リレーON

作成したソースコード

作成したソースコードは以下の通りです。
3秒ごとにリレーをON/OFFするプログラムです。

import pigpio
import time

#使用するピン番号を指定
pin1 = 23 #GPIO23番ピンを指定

pi = pigpio.pi()
pi.set_mode(pin1, pigpio.OUTPUT)  #リレー制御用のピンを出力ポートに設定

while True:
    pi.write(pin1, 1) #リレーON

    time.sleep(3) #3秒停止する

    pi.write(pin1, 0) #リレーOFF

    time.sleep(3) #3秒停止する

実行結果

先ほどのプログラムを実行した状態を動画で撮影してみました。
Raspberry PiのプログラムからGPIOの出力を切り替えると、「カチッ」という音がしてリレーが切り替わっているのが確認できました。

まとめ

今回はリレー回路の使い方について解説してみました。今後はこのリレーでポンプを制御して、植物の自動水やり器を作成する予定です。

また、Rapsberry Piを使った事例をこちらの記事でもまとめていますので、あわせてご覧ください。

それでは、また次の記事でお会いしましょう。

参考

よかったらシェアしてね!
  • URLをコピーしました!
目次