5.0 KiB
Tunnista läheisyys - Raspberry Pi
Tässä osassa oppituntia lisäät läheisyyssensorin Raspberry Pi:hin ja luet etäisyyden siitä.
Laitteisto
Raspberry Pi tarvitsee läheisyyssensorin.
Käytettävä sensori on Grove Time of Flight -etäisyyssensori. Tämä sensori käyttää lasermittaustekniikkaa etäisyyden havaitsemiseen. Sensorin mittausalue on 10mm - 2000mm (1cm - 2m), ja se raportoi arvot tällä alueella melko tarkasti. Etäisyydet yli 1000mm raportoidaan arvolla 8109mm.
Laseretäisyysmittari sijaitsee sensorin takapuolella, vastakkaisella puolella Grove-liitintä.
Tämä on I²C-sensori.
Yhdistä Time of Flight -sensori
Grove Time of Flight -sensori voidaan liittää Raspberry Pi:hin.
Tehtävä - yhdistä Time of Flight -sensori
Yhdistä Time of Flight -sensori.
-
Työnnä Grove-kaapelin toinen pää Time of Flight -sensorin liittimeen. Se menee sisään vain yhdellä tavalla.
-
Kun Raspberry Pi on sammutettu, yhdistä Grove-kaapelin toinen pää yhteen I²C-liittimistä, jotka on merkitty I²C Grove Base -hatissa, joka on kiinnitetty Pi:hin. Nämä liittimet sijaitsevat alarivissä, vastakkaisessa päässä GPIO-pinneistä ja kamerakaapelin liittimen vieressä.
Ohjelmoi Time of Flight -sensori
Raspberry Pi voidaan nyt ohjelmoida käyttämään liitettyä Time of Flight -sensoria.
Tehtävä - ohjelmoi Time of Flight -sensori
Ohjelmoi laite.
-
Käynnistä Pi ja odota, että se käynnistyy.
-
Avaa
fruit-quality-detector
-koodi VS Codessa joko suoraan Pi:llä tai yhdistä Remote SSH -laajennuksen kautta. -
Asenna rpi-vl53l0x Pip-paketti, Python-paketti, joka kommunikoi VL53L0X Time of Flight -etäisyyssensorin kanssa. Asenna se käyttämällä tätä pip-komentoa:
pip install rpi-vl53l0x
-
Luo uusi tiedosto tähän projektiin nimeltä
distance-sensor.py
.💁 Helppo tapa simuloida useita IoT-laitteita on tehdä jokainen eri Python-tiedostossa ja ajaa ne samanaikaisesti.
-
Lisää seuraava koodi tähän tiedostoon:
import time from grove.i2c import Bus from rpi_vl53l0x.vl53l0x import VL53L0X
Tämä tuo käyttöön Grove I²C-väyläkirjaston ja sensorikirjaston, joka on rakennettu Grove Time of Flight -sensorin ydinlaitteistolle.
-
Tämän alle lisää seuraava koodi sensorin käyttämiseksi:
distance_sensor = VL53L0X(bus = Bus().bus) distance_sensor.begin()
Tämä koodi määrittää etäisyyssensorin käyttämällä Grove I²C-väylää ja käynnistää sensorin.
-
Lopuksi lisää ääretön silmukka etäisyyksien lukemiseen:
while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1)
Tämä koodi odottaa, että sensorista on saatavilla arvo, ja tulostaa sen konsoliin.
-
Aja tämä koodi.
💁 Muista, että tämä tiedosto on nimeltään
distance-sensor.py
! Varmista, että ajat sen Pythonilla, etapp.py
:llä. -
Näet etäisyysmittaukset konsolissa. Aseta esineitä sensorin lähelle ja näet etäisyysmittauksen:
pi@raspberrypi:~/fruit-quality-detector $ python3 distance_sensor.py Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
Etäisyysmittari sijaitsee sensorin takapuolella, joten varmista, että käytät oikeaa puolta etäisyyden mittaamiseen.
💁 Löydät tämän koodin code-proximity/pi -kansiosta.
😀 Läheisyyssensorin ohjelmointi onnistui!
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.