⛲
ラズパイ - 水中ポンプを制御しよう
💡やること
リレーモジュールを使って、水中ポンプを制御します。
🏁デモ
🔧パーツ一覧
no | 部品名 | 個数 | 備考 |
---|---|---|---|
1 | ラズベリーパイ | 1 | 今回は4Bで確認 |
2 | 水中ポンプ(DC5V-12V) | 1 | Amazon |
3 | リレーモジュール | 1 | Amazon |
4 | ACアダプタ - 5V | 1 | ポンプ用電源 |
5 | ジャンパー線 | 適量 | - |
6 | ホース(内径φ6) | 1 | Amazon |
接続図
ピンの接続
ラズパイ側
Pin | リレーモジュール | 備考 |
---|---|---|
5V | DC+ | - |
GND | DC- | - |
BCM21 | IN | 緑ケーブル |
リレーモジュール側
リレーモジュール | 接続先 | 備考 |
---|---|---|
COM | ACアダプタ 5V | - |
NO | ポンプVc | ポンプ側の赤ケーブル |
NC | つながない | Not Connect |
水中ポンプ側
水中ポンプ | 接続先 | 備考 |
---|---|---|
黒ケーブル | ACアダプタ 0V | - |
💻環境
開発環境
- ラズベリーパイ
- Linux rpi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
- Python
- Python 3.7.3 (default, Jan 22 2021, 20:04:44)
ラズベリーパイの設定
特になし
モジュールのインストール
apt
pigpioライブラリは、Raspberry PiのGPIOを制御するためのライブラリです。
以下のコマンドは、はじめてインストールする場合のみ必要です。
$ sudo apt install pigpio
$ sudo service pigpiod start
$ sudo systemctl enable pigpiod.service
pip
Pythonに関するモジュールをインストールします。
$ python3 -m venv env
$ source env/bin/activate
(env) $ pip install pigpio
(env) $ pip install gpiozero
📝手順
3回に分けて水を排出します。
コード
pump.py
from gpiozero import LED
from gpiozero.pins.pigpio import PiGPIOFactory
from time import sleep
# relay switchのピン
PIN_RELAY_SWITCH = 21
def main():
# ピン設定
factory = PiGPIOFactory()
p = LED(PIN_RELAY_SWITCH, pin_factory=factory)
# 水の排出
for _ in range(3):
print("relay on - 排出")
p.on()
sleep(3.0)
print("relay off - 停止")
p.off()
sleep(1.0)
if __name__ == "__main__":
main()
実行手順
(env) $ python pump.py
relay on - 排出 #<=水 - 排出中
relay off - 停止 #<=水 - 停止
relay on - 排出 #<=水 - 排出中
relay off - 停止 #<=水 - 停止
relay on - 排出 #<=水 - 排出中
relay off - 停止 #<=水 - 停止
デモの結果になります。
🔎ポイント
リレーモジュール
ラズパイから、IN(信号トリガーターミナル)に電流を流すことで、NO側をスイッチとして動作させることができます。
リレースイッチが入っているので、ON/OFFの切り替え時に、"カチッ"と音がします。
水中ポンプ
↓のような動作となります。
さいごに
ガーデニング、水やり、水槽の循環などに使えそうですね。
本記事も含め、下記のBookにまとめてあります。
Discussion