メインコンテンツまでスキップ

リレーを制御する - Raspberry Pi

このレッスンのこの部分では、土壌湿度センサーに加えてリレーをRaspberry Piに追加し、土壌湿度レベルに基づいてそれを制御します。

ハードウェア

Raspberry Piにはリレーが必要です。

使用するリレーはGroveリレーで、通常は開いているリレー(つまり、リレーに信号が送られないときは出力回路が開いているか、切断されている)で、最大250Vおよび10Aの出力回路を処理できます。

これはデジタルアクチュエータなので、Grove Base Hatのデジタルピンに接続します。

リレーを接続する

GroveリレーをRaspberry Piに接続できます。

タスク

リレーを接続します。

A grove relay

  1. Groveケーブルの一端をリレーのソケットに挿入します。これは一方向にしか挿入できません。

  2. Raspberry Piの電源を切った状態で、Groveケーブルの他端をPiに接続されたGrove Base HatのデジタルソケットD5に接続します。このソケットは、GPIOピンの隣のソケットの列の左から2番目です。土壌湿度センサーはA0ソケットに接続したままにします。

The grove relay connected to the D5 socket, and the soil moisture sensor connected to the A0 socket

  1. 前のレッスンから土壌湿度センサーが土壌に挿入されていない場合は、土壌に挿入します。

リレーをプログラムする

Raspberry Piは、接続されたリレーを使用するようにプログラムできます。

タスク

デバイスをプログラムします。

  1. Piの電源を入れ、起動を待ちます。

  2. 前のレッスンのsoil-moisture-sensorプロジェクトをVS Codeで開きます。まだ開いていない場合は、これを開きます。このプロジェクトに追加します。

  3. 既存のインポートの下に次のコードをapp.pyファイルに追加します:

    from grove.grove_relay import GroveRelay

    このステートメントは、Grove PythonライブラリからGroveRelayをインポートして、Groveリレーと対話します。

  4. ADCクラスの宣言の下に次のコードを追加して、GroveRelayインスタンスを作成します:

    relay = GroveRelay(5)

    これは、リレーを接続したデジタルピンD5を使用してリレーを作成します。

  5. リレーが動作しているかどうかをテストするために、次のコードをwhile True:ループに追加します:

    relay.on()
    time.sleep(.5)
    relay.off()

    このコードはリレーをオンにし、0.5秒待ってからリレーをオフにします。

  6. Pythonアプリを実行します。リレーは10秒ごとにオンとオフを繰り返し、オンとオフの間に0.5秒の遅延があります。リレーがオンになるとクリック音がし、オフになると再びクリック音がします。リレーがオンのときにGroveボードのLEDが点灯し、オフのときに消灯します。

    The relay turning on and off

土壌湿度からリレーを制御する

リレーが動作するようになったので、土壌湿度の読み取りに応じて制御できます。

タスク

リレーを制御します。

  1. リレーをテストするために追加した3行のコードを削除します。次のコードに置き換えます:

    if soil_moisture > 450:
    print("土壌湿度が低すぎます。リレーをオンにします。")
    relay.on()
    else:
    print("土壌湿度は正常です。リレーをオフにします。")
    relay.off()

    このコードは、土壌湿度センサーからの土壌湿度レベルをチェックします。450を超えるとリレーをオンにし、450を下回るとリレーをオフにします。

    💁 容量性土壌湿度センサーは、土壌湿度レベルが低いほど、土壌に水分が多く含まれていることを読み取ることを覚えておいてください。

  2. Pythonアプリを実行します。土壌湿度レベルに応じてリレーがオンまたはオフになるのがわかります。乾燥した土壌で試してから水を追加します。

    土壌湿度: 638
    土壌湿度が低すぎます。リレーをオンにします。
    土壌湿度: 452
    土壌湿度が低すぎます。リレーをオンにします。
    土壌湿度: 347
    土壌湿度は正常です。リレーをオフにします。

💁 このコードはcode-relay/piフォルダーにあります。

😀 土壌湿度センサーがリレーを制御するプログラムが成功しました!