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

土壌水分を測定する - Wio Terminal

このレッスンのこの部分では、Wio Terminalに静電容量式土壌水分センサーを追加し、値を読み取ります。

ハードウェア

Wio Terminalには静電容量式土壌水分センサーが必要です。

使用するセンサーは静電容量式土壌水分センサーで、土壌の静電容量を検出することで土壌水分を測定します。土壌水分が変化すると静電容量も変化します。土壌水分が増加すると、電圧は低下します。

これはアナログセンサーであり、Wio Terminalのアナログピンに接続し、オンボードADCを使用して0-1,023の値を生成します。

土壌水分センサーを接続する

Grove土壌水分センサーは、Wio Terminalの設定可能なアナログ/デジタルポートに接続できます。

タスク - 土壌水分センサーを接続する

土壌水分センサーを接続します。

Grove土壌水分センサー

  1. Groveケーブルの一端を土壌水分センサーのソケットに挿入します。これは一方向にしか挿入できません。

  2. Wio Terminalをコンピュータや他の電源から切断した状態で、Groveケーブルの他端をWio Terminalの画面を見たときの右側のGroveソケットに接続します。これは電源ボタンから最も遠いソケットです。

右側のソケットに接続されたGrove土壌水分センサー

  1. 土壌水分センサーを土壌に挿入します。センサーには「最高位置ライン」があり、これはセンサーの白い線です。このラインまでセンサーを挿入しますが、ラインを超えないようにします。

土壌に挿入されたGrove土壌水分センサー

  1. これでWio Terminalをコンピュータに接続できます。

土壌水分センサーをプログラムする

Wio Terminalは、接続された土壌水分センサーを使用するようにプログラムできます。

タスク - 土壌水分センサーをプログラムする

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

  1. PlatformIOを使用して新しいWio Terminalプロジェクトを作成します。このプロジェクトをsoil-moisture-sensorと呼びます。シリアルポートを設定するためにsetup関数にコードを追加します。

    ⚠️ 必要に応じて、プロジェクト1、レッスン1のPlatformIOプロジェクト作成手順を参照できます。

  2. このセンサーにはライブラリがないため、組み込みのArduino analogRead関数を使用してアナログピンから読み取ることができます。まず、setup関数に次のコードを追加してアナログピンを入力用に設定します。

    pinMode(A0, INPUT);

    これは、アナログ/デジタルピンを組み合わせたA0ピンを入力ピンとして設定し、電圧を読み取ることができるようにします。

  3. このピンから電圧を読み取るために、loop関数に次のコードを追加します。

    int soil_moisture = analogRead(A0);
  4. このコードの下に、シリアルポートに値を出力するための次のコードを追加します。

    Serial.print("Soil Moisture: ");
    Serial.println(soil_moisture);
  5. 最後に10秒の遅延を追加します。

    delay(10000);
  6. コードをビルドしてWio Terminalにアップロードします。

    ⚠️ 必要に応じて、プロジェクト1、レッスン1のPlatformIOプロジェクト作成手順を参照できます。

  7. アップロードが完了したら、シリアルモニターを使用して土壌水分を監視できます。土壌に水を追加したり、センサーを土壌から取り外したりして、値の変化を確認します。

    > Executing task: platformio device monitor <

    --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at http://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    Soil Moisture: 526
    Soil Moisture: 529
    Soil Moisture: 521
    Soil Moisture: 494
    Soil Moisture: 454
    Soil Moisture: 456
    Soil Moisture: 395
    Soil Moisture: 388
    Soil Moisture: 394
    Soil Moisture: 391

    上記の例の出力では、水が追加されると電圧が低下するのがわかります。

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

😀 土壌水分センサープログラムが成功しました!