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

7.4 KiB

Откриване на близост - Wio Terminal

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

Хардуер

Wio Terminal се нуждае от сензор за близост.

Сензорът, който ще използвате, е Grove Time of Flight сензор за разстояние. Този сензор използва лазерен модул за измерване на разстояние. Сензорът има обхват от 10mm до 2000mm (1cm - 2m) и ще отчита стойности в този диапазон доста точно, като разстояния над 1000mm се отчитат като 8109mm.

Лазерният измервател е разположен на задната страна на сензора, противоположната на Grove конектора.

Това е I²C сензор.

Свързване на сензора за разстояние

Grove Time of Flight сензорът може да бъде свързан към Wio Terminal.

Задача - свържете сензора за разстояние

Свържете сензора за разстояние.

Grove Time of Flight сензор

  1. Поставете единия край на Grove кабела в конектора на сензора за разстояние. Кабелът може да бъде поставен само в една посока.

  2. С изключен Wio Terminal от компютъра или друг източник на захранване, свържете другия край на Grove кабела към левия Grove конектор на Wio Terminal, гледайки екрана. Това е конекторът, който е най-близо до бутона за захранване. Това е комбиниран цифров и I²C конектор.

Grove Time of Flight сензор, свързан към левия конектор

  1. Сега можете да свържете Wio Terminal към вашия компютър.

Програмиране на сензора за разстояние

Wio Terminal вече може да бъде програмиран да използва свързания сензор за разстояние.

Задача - програмирайте сензора за разстояние

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

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

    lib_deps =
        seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
    
  3. В main.cpp, добавете следното под съществуващите директиви за включване, за да декларирате инстанция на класа 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. Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия изходен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.