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/zh/4-manufacturing/lessons/4-trigger-fruit-detector/wio-terminal-proximity.md

4.6 KiB

检测接近 - Wio Terminal

在本课的这一部分中,您将为 Wio Terminal 添加一个接近传感器,并读取其距离数据。

硬件

Wio Terminal 需要一个接近传感器。

您将使用的传感器是 Grove 飞行时间距离传感器。该传感器使用激光测距模块来检测距离。它的测量范围为 10mm 至 2000mm1cm - 2m并能在该范围内相当准确地报告值超过 1000mm 的距离将报告为 8109mm。

激光测距仪位于传感器的背面,与 Grove 插座相对。

这是一个 I2C 传感器。

连接飞行时间传感器

Grove 飞行时间传感器可以连接到 Wio Terminal。

任务 - 连接飞行时间传感器

连接飞行时间传感器。

一个 Grove 飞行时间传感器

  1. 将 Grove 电缆的一端插入飞行时间传感器上的插座。它只能以一种方式插入。

  2. 在 Wio Terminal 未连接到您的计算机或其他电源时,将 Grove 电缆的另一端连接到 Wio Terminal 左侧的 Grove 插座(屏幕方向)。这是靠近电源按钮的插座,是一个数字和 I2C 组合插座。

Grove 飞行时间传感器连接到左侧插座

  1. 现在可以将 Wio Terminal 连接到您的计算机。

编程飞行时间传感器

现在可以为 Wio Terminal 编程以使用连接的飞行时间传感器。

任务 - 编程飞行时间传感器

  1. 使用 PlatformIO 创建一个全新的 Wio Terminal 项目。将此项目命名为 distance-sensor。在 setup 函数中添加代码以配置串口。

  2. 在项目的 platformio.ini 文件中添加 Seeed Grove 飞行时间距离传感器库的依赖项:

    lib_deps =
        seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
    
  3. main.cpp 中,在现有的 include 指令下方添加以下代码,以声明一个 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
    

    测距仪位于传感器的背面,因此在测量距离时请确保使用正确的一侧。

    飞行时间传感器背面的测距仪对准香蕉

💁 您可以在 code-proximity/wio-terminal 文件夹中找到此代码。

😀 您的接近传感器程序运行成功!

免责声明
本文档使用AI翻译服务 Co-op Translator 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。