土壌水分を測定する - Wio Terminal
このレッスンのこの部分では、Wio Terminalに静電容量式土壌水分センサーを追加し、値を読み取ります。
ハードウェア
Wio Terminalには静電容量式土壌水分センサーが必要です。
使用するセンサーは静電容量式土壌水分センサーで、土壌の静電容量を検出することで土壌水分を測定します。土壌水分が変化すると静電容量も変化します。土壌水分が増加すると、電圧は低下します。
これはアナログセンサーであり、Wio Terminalのアナログピンに接続し、オンボードADCを使用して0-1,023の値を生成します。
土壌水分センサーを接続する
Grove土壌水分センサーは、Wio Terminalの設定可能なアナログ/デジタルポートに接続できます。
タスク - 土壌水分センサーを接続する
土壌水分センサーを接続します。
-
Groveケーブルの一端を土壌水分センサーのソケットに挿入します。これは一方向にしか挿入できません。
-
Wio Terminalをコンピュータや他の電源から切断した状態で、Groveケーブルの他端 をWio Terminalの画面を見たときの右側のGroveソケットに接続します。これは電源ボタンから最も遠いソケットです。
- 土壌水分センサーを土壌に挿入します。センサーには「最高位置ライン」があり、これはセンサーの白い線です。このラインまでセンサーを挿入しますが、ラインを超えないようにします。
- これでWio Terminalをコンピュータに接続できます。
土壌水分センサーをプログラムする
Wio Terminalは、接続された土壌水分センサーを使用するようにプログラムできます。
タスク - 土壌水分センサーをプログラムする
デバイスをプログラムします。
-
PlatformIOを使用して新しいWio Terminalプロジェクトを作成します。このプロジェクトを
soil-moisture-sensor
と呼びます。シリアルポートを設定するためにsetup
関数にコードを追加します。⚠️ 必要に応じて、プロジェクト1、レッスン1のPlatformIOプロジェクト作成手順を参照できます。
-
このセンサーにはライブラリがないため、組み込みのArduino
analogRead
関数を使用してアナログピンから読み取ることができます。まず、setup
関数に次のコードを追加してアナログピンを入力用に設定します。pinMode(A0, INPUT);
これは、アナログ/デジタルピンを組み合わせた
A0
ピンを入力ピンとして設定し、電圧を読み取ることができるようにします。 -
このピンから電圧を読み取るために、
loop
関数に次のコードを追加します。int soil_moisture = analogRead(A0);
-
このコードの下に、シリアルポートに値を出力するための次のコードを追加します。
Serial.print("Soil Moisture: ");
Serial.println(soil_moisture);