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

5.0 KiB

Detekce blízkosti - Wio Terminal

V této části lekce přidáte k Wio Terminalu senzor blízkosti a budete z něj číst vzdálenost.

Hardware

Wio Terminal potřebuje senzor blízkosti.

Senzor, který použijete, je Grove Time of Flight distance sensor. Tento senzor využívá laserový modul pro měření vzdálenosti. Má rozsah od 10 mm do 2000 mm (1 cm - 2 m) a v tomto rozsahu poskytuje poměrně přesné hodnoty. Vzdálenosti nad 1000 mm jsou hlášeny jako 8109 mm.

Laserový dálkoměr se nachází na zadní straně senzoru, na opačné straně než Grove konektor.

Toto je I²C senzor.

Připojení senzoru Time of Flight

Grove senzor Time of Flight lze připojit k Wio Terminalu.

Úkol - připojte senzor Time of Flight

Připojte senzor Time of Flight.

Grove senzor Time of Flight

  1. Zasuňte jeden konec Grove kabelu do konektoru na senzoru Time of Flight. Kabel lze zasunout pouze jedním způsobem.

  2. S Wio Terminalem odpojeným od počítače nebo jiného zdroje napájení připojte druhý konec Grove kabelu do levého Grove konektoru na Wio Terminalu, když se díváte na obrazovku. Tento konektor je nejblíže k tlačítku napájení. Jedná se o kombinovaný digitální a I²C konektor.

Grove senzor Time of Flight připojený k levému konektoru

  1. Nyní můžete připojit Wio Terminal k počítači.

Naprogramování senzoru Time of Flight

Wio Terminal nyní může být naprogramován pro použití připojeného senzoru Time of Flight.

Úkol - naprogramujte senzor Time of Flight

  1. Vytvořte nový projekt pro Wio Terminal pomocí PlatformIO. Nazvěte tento projekt distance-sensor. Přidejte do funkce setup kód pro konfiguraci sériového portu.

  2. Přidejte závislost na knihovnu Seeed Grove Time of Flight Distance Sensor do souboru platformio.ini projektu:

    lib_deps =
        seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
    
  3. V souboru main.cpp přidejte následující řádek pod stávající direktivy include, abyste deklarovali instanci třídy Seeed_vl53l0x pro práci se senzorem Time of Flight:

    #include "Seeed_vl53l0x.h"
    
    Seeed_vl53l0x VL53L0X;
    
  4. Přidejte následující kód na konec funkce setup pro inicializaci senzoru:

    VL53L0X.VL53L0X_common_init();
    VL53L0X.VL53L0X_high_accuracy_ranging_init();
    
  5. Ve funkci loop přečtěte hodnotu ze senzoru:

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

    Tento kód inicializuje datovou strukturu pro čtení dat, poté ji předá metodě PerformSingleRangingMeasurement, která ji naplní naměřenou vzdáleností.

  6. Pod tento kód zapište naměřenou vzdálenost a poté nastavte zpoždění na 1 sekundu:

    Serial.print("Distance = ");
    Serial.print(RangingMeasurementData.RangeMilliMeter);
    Serial.println(" mm");
    
    delay(1000);
    
  7. Sestavte, nahrajte a spusťte tento kód. Na sériovém monitoru budete moci vidět naměřené vzdálenosti. Umístěte objekty blízko senzoru a uvidíte naměřené hodnoty vzdálenosti:

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

    Dálkoměr se nachází na zadní straně senzoru, takže při měření vzdálenosti používejte správnou stranu.

    Dálkoměr na zadní straně senzoru Time of Flight mířící na banán

💁 Tento kód najdete ve složce code-proximity/wio-terminal.

😀 Program pro váš senzor blízkosti byl úspěšný!


Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádné nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.