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

5.0 KiB

Detekcia blízkosti - Wio Terminal

V tejto časti lekcie pridáte k Wio Terminalu senzor blízkosti a budete z neho čítať vzdialenosť.

Hardvér

Wio Terminal potrebuje senzor blízkosti.

Senzor, ktorý použijete, je Grove Time of Flight distance sensor. Tento senzor používa laserový modul na meranie vzdialenosti. Má rozsah od 10mm do 2000mm (1cm - 2m) a hodnoty v tomto rozsahu hlási pomerne presne, pričom vzdialenosti nad 1000mm hlási ako 8109mm.

Laserový diaľkomer sa nachádza na zadnej strane senzora, na opačnej strane ako Grove konektor.

Toto je I²C senzor.

Pripojenie senzora Time of Flight

Grove Time of Flight senzor je možné pripojiť k Wio Terminalu.

Úloha - pripojenie senzora Time of Flight

Pripojte senzor Time of Flight.

Grove Time of Flight senzor

  1. Zasuňte jeden koniec Grove kábla do konektora na senzore Time of Flight. Kábel sa dá zasunúť iba jedným spôsobom.

  2. Keď je Wio Terminal odpojený od vášho počítača alebo iného zdroja napájania, pripojte druhý koniec Grove kábla do ľavého Grove konektora na Wio Terminale, keď sa pozeráte na obrazovku. Tento konektor je najbližšie k tlačidlu napájania. Ide o kombinovaný digitálny a I²C konektor.

Grove Time of Flight senzor pripojený k ľavému konektoru

  1. Teraz môžete pripojiť Wio Terminal k vášmu počítaču.

Naprogramovanie senzora Time of Flight

Wio Terminal je teraz pripravený na programovanie, aby mohol používať pripojený senzor Time of Flight.

Úloha - naprogramovanie senzora Time of Flight

  1. Vytvorte úplne nový projekt pre Wio Terminal pomocou PlatformIO. Nazvite tento projekt distance-sensor. Pridajte kód do funkcie setup na konfiguráciu sériového portu.

  2. Pridajte závislosť knižnice pre Seeed Grove Time of Flight distance sensor do súboru platformio.ini projektu:

    lib_deps =
        seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
    
  3. V main.cpp pridajte nasledujúci kód pod existujúce direktívy include, aby ste deklarovali inštanciu triedy Seeed_vl53l0x na interakciu so senzorom Time of Flight:

    #include "Seeed_vl53l0x.h"
    
    Seeed_vl53l0x VL53L0X;
    
  4. Pridajte nasledujúci kód na koniec funkcie setup, aby ste inicializovali senzor:

    VL53L0X.VL53L0X_common_init();
    VL53L0X.VL53L0X_high_accuracy_ranging_init();
    
  5. Vo funkcii loop prečítajte hodnotu zo senzora:

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

    Tento kód inicializuje dátovú štruktúru na čítanie údajov, potom ju odovzdá metóde PerformSingleRangingMeasurement, kde bude naplnená nameranou vzdialenosťou.

  6. Pod týmto kódom vypíšte nameranú vzdialenosť a potom pridajte oneskorenie 1 sekundu:

    Serial.print("Distance = ");
    Serial.print(RangingMeasurementData.RangeMilliMeter);
    Serial.println(" mm");
    
    delay(1000);
    
  7. Zostavte, nahrajte a spustite tento kód. Budete môcť vidieť namerané vzdialenosti v sériovom monitore. Umiestnite objekty blízko senzora a uvidíte nameranú vzdialenosť:

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

    Diaľkomer sa nachádza na zadnej strane senzora, takže pri meraní vzdialenosti používajte správnu stranu.

    Diaľkomer na zadnej strane senzora Time of Flight smerujúci na banán

💁 Tento kód nájdete v priečinku code-proximity/wio-terminal.

😀 Program pre váš senzor blízkosti bol úspešný!


Upozornenie:
Tento dokument bol preložený pomocou služby na automatický preklad Co-op Translator. Hoci sa snažíme o presnosť, upozorňujeme, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre dôležité informácie odporúčame profesionálny ľudský preklad. Nezodpovedáme za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.