You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ja/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md

5.6 KiB

近接検知 - Wio Terminal

このレッスンでは、Wio Terminalに近接センサーを追加し、距離を読み取る方法を学びます。

ハードウェア

Wio Terminalには近接センサーが必要です。

使用するセンサーは、Grove Time of Flight距離センサーです。このセンサーはレーザー測距モジュールを使用して距離を検知します。このセンサーの測定範囲は10mmから2000mm1cm - 2mで、この範囲内の値をかなり正確に報告します。1000mmを超える距離は8109mmとして報告されます。

レーザー測距モジュールはセンサーの背面にあり、Groveソケットの反対側に位置しています。

これはI²Cセンサーです。

Time of Flightセンサーを接続する

Grove Time of FlightセンサーはWio Terminalに接続できます。

タスク - Time of Flightセンサーを接続する

Time of Flightセンサーを接続します。

Grove Time of Flightセンサー

  1. Groveケーブルの一端をTime of Flightセンサーのソケットに挿入します。ケーブルは一方向にしか挿入できません。

  2. Wio Terminalをコンピュータや他の電源から切り離した状態で、Groveケーブルのもう一端をWio Terminalの左側のGroveソケットに接続します画面を見たときの左側。このソケットは電源ボタンに最も近いソケットで、デジタルとI²Cの両方に対応しています。

左側のソケットに接続されたGrove Time of Flightセンサー

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

Time of Flightセンサーをプログラムする

これで、Wio Terminalに接続されたTime of Flightセンサーを使用するプログラムを作成できます。

タスク - Time of Flightセンサーをプログラムする

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

  2. プロジェクトのplatformio.iniファイルに、Seeed Grove Time of Flight距離センサーライブラリの依存関係を追加します

    lib_deps =
        seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
    
  3. main.cppで、既存のインクルードディレクティブの下に以下を追加し、Time of Flightセンサーとやり取りするためのSeeed_vl53l0xクラスのインスタンスを宣言します:

    #include "Seeed_vl53l0x.h"
    
    Seeed_vl53l0x VL53L0X;
    
  4. setup関数の末尾に以下を追加し、センサーを初期化します:

    VL53L0X.VL53L0X_common_init();
    VL53L0X.VL53L0X_high_accuracy_ranging_init();
    
  5. loop関数内でセンサーから値を読み取ります:

    VL53L0X_RangingMeasurementData_t RangingMeasurementData;
    memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t));
    
    VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData);
    

    このコードはデータを読み取るためのデータ構造を初期化し、それをPerformSingleRangingMeasurementメソッドに渡して距離測定値を取得します。

  6. この下に、距離測定値を出力し、1秒間の遅延を追加します

    Serial.print("Distance = ");
    Serial.print(RangingMeasurementData.RangeMilliMeter);
    Serial.println(" mm");
    
    delay(1000);
    
  7. このコードをビルド、アップロード、実行します。シリアルモニタで距離測定値を確認できます。センサーの近くに物体を置くと、距離測定値が変化するのがわかります:

    Distance = 29 mm
    Distance = 28 mm
    Distance = 30 mm
    Distance = 151 mm
    

    測距モジュールはセンサーの背面にあるため、距離を測定する際は正しい側を使用してください。

    バナナに向けられたTime of Flightセンサーの背面の測距モジュール

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

😀 近接センサーのプログラムが成功しました!

免責事項:
この文書は、AI翻訳サービス Co-op Translator を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な表現が含まれる可能性があります。元の言語で記載された原文が公式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。