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/pl/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md

5.3 KiB

Wykrywanie bliskości - Raspberry Pi

W tej części lekcji dodasz czujnik bliskości do swojego Raspberry Pi i odczytasz z niego odległość.

Sprzęt

Raspberry Pi potrzebuje czujnika bliskości.

Czujnik, którego użyjesz, to Grove Time of Flight distance sensor. Ten czujnik wykorzystuje moduł laserowy do pomiaru odległości. Zakres czujnika wynosi od 10mm do 2000mm (1cm - 2m) i raportuje wartości w tym zakresie dość dokładnie, przy czym odległości powyżej 1000mm są raportowane jako 8109mm.

Laserowy dalmierz znajduje się na tylnej stronie czujnika, po przeciwnej stronie do gniazda Grove.

To jest czujnik I²C.

Podłącz czujnik Time of Flight

Czujnik Grove Time of Flight można podłączyć do Raspberry Pi.

Zadanie - podłącz czujnik Time of Flight

Podłącz czujnik Time of Flight.

Czujnik Grove Time of Flight

  1. Włóż jeden koniec kabla Grove do gniazda na czujniku Time of Flight. Kabel wejdzie tylko w jednym kierunku.

  2. Przy wyłączonym Raspberry Pi podłącz drugi koniec kabla Grove do jednego z gniazd I²C oznaczonych I²C na Grove Base Hat zamontowanym na Pi. Te gniazda znajdują się w dolnym rzędzie, po przeciwnej stronie do pinów GPIO i obok gniazda kabla kamery.

Czujnik Grove Time of Flight podłączony do gniazda I²C

Programowanie czujnika Time of Flight

Raspberry Pi można teraz zaprogramować do korzystania z podłączonego czujnika Time of Flight.

Zadanie - zaprogramuj czujnik Time of Flight

Zaprogramuj urządzenie.

  1. Włącz Raspberry Pi i poczekaj na jego uruchomienie.

  2. Otwórz kod fruit-quality-detector w VS Code, bezpośrednio na Pi lub połącz się za pomocą rozszerzenia Remote SSH.

  3. Zainstaluj pakiet rpi-vl53l0x za pomocą Pip. Jest to pakiet Python, który współpracuje z czujnikiem odległości VL53L0X. Zainstaluj go za pomocą poniższego polecenia pip:

    pip install rpi-vl53l0x
    
  4. Utwórz nowy plik w tym projekcie o nazwie distance-sensor.py.

    💁 Łatwym sposobem na symulację wielu urządzeń IoT jest użycie osobnych plików Python dla każdego z nich, a następnie uruchomienie ich jednocześnie.

  5. Dodaj poniższy kod do tego pliku:

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

    Ten kod importuje bibliotekę Grove I²C bus oraz bibliotekę czujnika dla podstawowego sprzętu wbudowanego w czujnik Grove Time of Flight.

  6. Poniżej tego kodu dodaj kod do uzyskania dostępu do czujnika:

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

    Ten kod deklaruje czujnik odległości korzystający z magistrali Grove I²C, a następnie uruchamia czujnik.

  7. Na koniec dodaj nieskończoną pętlę do odczytu odległości:

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

    Ten kod czeka na wartość gotową do odczytu z czujnika, a następnie drukuje ją w konsoli.

  8. Uruchom ten kod.

    💁 Pamiętaj, że ten plik nazywa się distance-sensor.py! Upewnij się, że uruchamiasz go za pomocą Python, a nie app.py.

  9. Zobaczysz pomiary odległości pojawiające się w konsoli. Umieść obiekty w pobliżu czujnika, a zobaczysz pomiar odległości:

    pi@raspberrypi:~/fruit-quality-detector $ python3 distance_sensor.py 
    Distance = 29 mm
    Distance = 28 mm
    Distance = 30 mm
    Distance = 151 mm
    

    Dalmierz znajduje się na tylnej stronie czujnika, więc upewnij się, że używasz właściwej strony podczas pomiaru odległości.

    Dalmierz na tylnej stronie czujnika Time of Flight skierowany na banana

💁 Ten kod znajdziesz w folderze code-proximity/pi.

😀 Twój program czujnika bliskości działa poprawnie!

Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.