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/pi-proximity.md

5.1 KiB

Detekce blízkosti - Raspberry Pi

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

Hardware

Raspberry Pi potřebuje senzor blízkosti.

Senzor, který použijete, je Grove Time of Flight distance sensor. Tento senzor využívá laserový měřicí modul k detekci vzdálenosti. Má rozsah od 10 mm do 2000 mm (1 cm - 2 m) a v tomto rozsahu poskytuje poměrně přesné hodnoty, přičemž 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ž konektor Grove.

Toto je I²C senzor.

Připojení senzoru Time of Flight

Senzor Grove Time of Flight lze připojit k Raspberry Pi.

Úkol - připojte senzor Time of Flight

Připojte senzor Time of Flight.

Senzor Grove 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 vypnutým Raspberry Pi připojte druhý konec Grove kabelu do jednoho z I²C konektorů označených I²C na Grove Base hat připojeném k Pi. Tyto konektory se nacházejí na spodní řadě, na opačné straně než GPIO piny a vedle slotu pro kamerový kabel.

Senzor Grove Time of Flight připojený k I²C konektoru

Naprogramování senzoru Time of Flight

Nyní můžete Raspberry Pi naprogramovat tak, aby používalo připojený senzor Time of Flight.

Úkol - naprogramujte senzor Time of Flight

Naprogramujte zařízení.

  1. Zapněte Raspberry Pi a počkejte, až se spustí.

  2. Otevřete kód fruit-quality-detector ve VS Code, buď přímo na Pi, nebo se připojte pomocí rozšíření Remote SSH.

  3. Nainstalujte balíček rpi-vl53l0x pomocí Pip. Tento Python balíček umožňuje komunikaci se senzorem vzdálenosti VL53L0X. Nainstalujte jej pomocí tohoto příkazu:

    pip install rpi-vl53l0x
    
  4. Vytvořte v tomto projektu nový soubor s názvem distance-sensor.py.

    💁 Jednoduchý způsob, jak simulovat více IoT zařízení, je vytvořit pro každé zařízení samostatný Python soubor a spustit je současně.

  5. Do tohoto souboru přidejte následující kód:

    import time
    
    from grove.i2c import Bus
    from rpi_vl53l0x.vl53l0x import VL53L0X
    

    Tento kód importuje knihovnu Grove I²C bus a knihovnu senzoru pro základní hardware zabudovaný do senzoru Grove Time of Flight.

  6. Pod tento kód přidejte následující kód pro přístup k senzoru:

    distance_sensor = VL53L0X(bus = Bus().bus)
    distance_sensor.begin()    
    

    Tento kód deklaruje senzor vzdálenosti pomocí Grove I²C bus a poté senzor spustí.

  7. Nakonec přidejte nekonečnou smyčku pro čtení vzdáleností:

    while True:
        distance_sensor.wait_ready()
        print(f'Distance = {distance_sensor.get_distance()} mm')
        time.sleep(1)
    

    Tento kód čeká, až bude hodnota připravena k přečtení ze senzoru, a poté ji vypíše do konzole.

  8. Spusťte tento kód.

    💁 Nezapomeňte, že tento soubor se jmenuje distance-sensor.py! Ujistěte se, že jej spouštíte pomocí Pythonu, ne app.py.

  9. V konzoli se začnou objevovat měření vzdálenosti. Umístěte objekty blízko senzoru a uvidíte měření vzdálenosti:

    pi@raspberrypi:~/fruit-quality-detector $ python3 distance_sensor.py 
    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/pi.

😀 Program senzoru 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.