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

7.4 KiB

Обнаружение близости - Wio Terminal

В этой части урока вы добавите датчик близости к вашему Wio Terminal и будете считывать расстояние с него.

Оборудование

Для Wio Terminal потребуется датчик близости.

Датчик, который вы будете использовать, — это Grove Time of Flight distance sensor. Этот датчик использует лазерный модуль для измерения расстояния. Диапазон измерений датчика составляет от 10 мм до 2000 мм (1 см - 2 м), и он довольно точно передает значения в этом диапазоне. Расстояния выше 1000 мм будут отображаться как 8109 мм.

Лазерный дальномер находится на задней стороне датчика, противоположной стороне от разъема 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 к левому разъему Grove на Wio Terminal, если смотреть на экран. Это разъем, который находится ближе всего к кнопке питания. Этот разъем поддерживает цифровой и I²C интерфейсы.

Датчик Grove Time of Flight, подключенный к левому разъему

  1. Теперь вы можете подключить Wio Terminal к компьютеру.

Программирование датчика Time of Flight

Теперь Wio Terminal можно запрограммировать для работы с подключенным датчиком Time of Flight.

Задание - запрограммируйте датчик Time of Flight

  1. Создайте новый проект для Wio Terminal с использованием PlatformIO. Назовите проект distance-sensor. Добавьте код в функцию setup для настройки последовательного порта.

  2. Добавьте зависимость библиотеки для датчика расстояния Seeed Grove Time of Flight в файл platformio.ini проекта:

    lib_deps =
        seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
    
  3. В main.cpp добавьте следующий код ниже существующих директив include, чтобы объявить экземпляр класса Seeed_vl53l0x для взаимодействия с датчиком Time of Flight:

    #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.

😀 Программа для датчика близости успешно выполнена!


Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.