リレーを制御する - Wio Terminal
このレッスンのこの部分では、土壌水分センサーに加えてWio Terminalにリレーを追加し、土壌水分レベルに基づいてそれを制御します。
ハードウェア
Wio Terminalにはリレーが必要です。
使用するリレーはGroveリレーで、通常は開 いているリレー(つまり、リレーに信号が送られないときは出力回路が開いている、または切断されている)で、最大250Vおよび10Aの出力回路を処理できます。
これはデジタルアクチュエータなので、Wio Terminalのデジタルピンに接続します。アナログ/デジタルポートの組み合わせはすでに土壌水分センサーで使用されているため、他のポートに接続します。これはI2Cとデジタルポートの組み合わせです。
リレーを接続する
GroveリレーはWio Terminalのデジタルポートに接続できます。
タスク
リレーを接続します。
-
Groveケーブルの一端をリレーのソケットに挿入します。これは一方向にしか挿入できません。
-
Wio Terminalをコンピュータまたは他の電源から切断した状態で、Groveケーブルの他端をWio Terminalの画面を見たときの左側のGroveソケットに接続します。土壌水分センサーは右側のソケットに接続したままにします。
- 前のレッスンから土壌水分センサーが土壌に挿入されていない場合は、土壌に挿入します。
リレーをプログラムする
Wio Terminalは、接続されたリレーを使用するようにプログラムできます。
タスク
デバイスをプログラムします。
-
前のレッスンの
soil-moisture-sensor
プロジェクトをVS Codeで開きます。まだ開いていない場合は、これを開きます。このプロジェクトに追加します。 -
このアクチュエータにはライブラリがありません - これは高または低の信号で制御されるデジタルアクチュエータです。オンにするには、ピンに高信号(3.3V)を送信し、オフにするには低信号(0V)を送信します。これは、組み込みのArduino
digitalWrite
関数を使用して行うことができます。まず、setup
関数の最後に次のコードを追加して、リレーに電圧を送信するための出力ピンとしてI2C/デジタルポートの組み合わせを設定します:pinMode(PIN_WIRE_SCL, OUTPUT);
PIN_WIRE_SCL
はI2C/デジタルポートの組み合わせのポート番号です。 -
リレーが動作しているかどうかをテストするために、
loop
関数の最後のdelay
の下に次のコードを追加します:digitalWrite(PIN_WIRE_SCL, HIGH);
delay(500);
digitalWrite(PIN_WIRE_SCL, LOW);このコードは、リレーが接続されているピンに高信号を書き込んでリレーをオンにし、500ms(0.5秒)待ってから低信号を書き込んでリレーをオフにします。
-
コードをビルドしてWio Terminalにアップロードします。
-
アップロードが完了すると、リレーは10秒ごとにオンとオフを繰り返し、オンとオフの間に0.5秒の遅延があります。リレーがオンになるとクリック音がし、オフになると再びクリック音がします。リレーがオンのときにGroveボードのLEDが点灯し、オフのときに消灯します。
土壌水分からリレーを制御する
リレーが動作するようになったので、土壌水分の読み取りに応じて制御できます。