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

7.1 KiB

Детектовање близине - Wio Terminal

У овом делу лекције, додаћете сензор близине на ваш Wio Terminal и читати растојање са њега.

Хардвер

Wio Terminal захтева сензор близине.

Сензор који ћете користити је Grove Time of Flight сензор растојања. Овај сензор користи ласерски модул за мерење растојања. Сензор има опсег од 10мм до 2000мм (1цм - 2м) и прилично прецизно ће пријављивати вредности у том опсегу, док ће растојања изнад 1000мм бити пријављена као 8109мм.

Ласерски мерач растојања налази се на задњој страни сензора, супротно од Grove прикључка.

Ово је IC сензор.

Повежите 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-у, гледајући екран. Ово је прикључак најближи дугмету за напајање. Ово је комбиновани дигитални и IC прикључак.

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, додајте следеће испод постојећих директива за укључивање како бисте декларисали инстанцу класе 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. Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.