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

5.1 KiB

Upptäck närhet - Raspberry Pi

I den här delen av lektionen kommer du att lägga till en närhetssensor till din Raspberry Pi och läsa avstånd från den.

Hårdvara

Raspberry Pi behöver en närhetssensor.

Sensorn du kommer att använda är en Grove Time of Flight-avståndssensor. Denna sensor använder en laseravståndsmätare för att upptäcka avstånd. Sensorn har ett mätområde på 10 mm till 2000 mm (1 cm - 2 m) och rapporterar värden inom detta intervall med hög noggrannhet. Avstånd över 1000 mm rapporteras som 8109 mm.

Laseravståndsmätaren sitter på baksidan av sensorn, motsatt sida till Grove-kontakten.

Detta är en I²C-sensor.

Anslut Time of Flight-sensorn

Grove Time of Flight-sensorn kan anslutas till Raspberry Pi.

Uppgift - anslut Time of Flight-sensorn

Anslut Time of Flight-sensorn.

En Grove Time of Flight-sensor

  1. Sätt i ena änden av en Grove-kabel i kontakten på Time of Flight-sensorn. Den går bara att sätta i på ett sätt.

  2. Med Raspberry Pi avstängd, anslut den andra änden av Grove-kabeln till en av I²C-kontakterna markerade I²C på Grove Base-hatten som är ansluten till Pi. Dessa kontakter finns på den nedre raden, motsatt sida till GPIO-stiften och bredvid kamerakabelns plats.

Grove Time of Flight-sensorn ansluten till I²C-kontakten

Programmera Time of Flight-sensorn

Raspberry Pi kan nu programmeras för att använda den anslutna Time of Flight-sensorn.

Uppgift - programmera Time of Flight-sensorn

Programmera enheten.

  1. Starta Pi och vänta tills den har startat upp.

  2. Öppna koden fruit-quality-detector i VS Code, antingen direkt på Pi eller genom att ansluta via Remote SSH-tillägget.

  3. Installera rpi-vl53l0x Pip-paketet, ett Python-paket som interagerar med en VL53L0X Time of Flight-avståndssensor. Installera det med följande pip-kommando:

    pip install rpi-vl53l0x
    
  4. Skapa en ny fil i detta projekt som heter distance-sensor.py.

    💁 Ett enkelt sätt att simulera flera IoT-enheter är att skapa varje enhet i en separat Python-fil och sedan köra dem samtidigt.

  5. Lägg till följande kod i denna fil:

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

    Detta importerar Grove I²C-biblioteket och ett sensorbibliotek för den grundläggande sensormodulen som är inbyggd i Grove Time of Flight-sensorn.

  6. Lägg sedan till följande kod för att få åtkomst till sensorn:

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

    Denna kod deklarerar en avståndssensor med hjälp av Grove I²C-bussen och startar sedan sensorn.

  7. Slutligen, lägg till en oändlig loop för att läsa avstånd:

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

    Denna kod väntar på att ett värde ska vara redo att läsas från sensorn och skriver sedan ut det i konsolen.

  8. Kör denna kod.

    💁 Glöm inte att denna fil heter distance-sensor.py! Se till att köra den via Python, inte app.py.

  9. Du kommer att se avståndsmätningar visas i konsolen. Placera objekt nära sensorn och du kommer att se avståndsmätningen:

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

    Avståndsmätaren sitter på baksidan av sensorn, så se till att använda rätt sida när du mäter avstånd.

    Avståndsmätaren på baksidan av Time of Flight-sensorn pekar på en banan

💁 Du kan hitta denna kod i mappen code-proximity/pi.

😀 Ditt program för närhetssensorn blev en framgång!


Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, bör du vara medveten om att automatiserade översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess ursprungliga språk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.