5.0 KiB
Kugundua ukaribu - Raspberry Pi
Katika sehemu hii ya somo, utaongeza kihisi cha ukaribu kwenye Raspberry Pi yako, na kusoma umbali kutoka kwake.
Vifaa
Raspberry Pi inahitaji kihisi cha ukaribu.
Kihisi utakachotumia ni Grove Time of Flight distance sensor. Kihisi hiki kinatumia moduli ya kupima umbali kwa laser kugundua umbali. Kihisi hiki kina uwezo wa kupima kati ya 10mm hadi 2000mm (1cm - 2m), na kitaripoti thamani kwa usahihi katika kiwango hicho, huku umbali zaidi ya 1000mm ukiripotiwa kama 8109mm.
Kipima umbali cha laser kiko nyuma ya kihisi, upande wa pili wa soketi ya Grove.
Hiki ni kihisi cha I²C.
Unganisha kihisi cha Time of Flight
Kihisi cha Grove Time of Flight kinaweza kuunganishwa na Raspberry Pi.
Kazi - Unganisha kihisi cha Time of Flight
Unganisha kihisi cha Time of Flight.
-
Ingiza mwisho mmoja wa kebo ya Grove kwenye soketi ya kihisi cha Time of Flight. Itaingia kwa njia moja tu.
-
Ukiwa na Raspberry Pi imezimwa, unganisha mwisho mwingine wa kebo ya Grove kwenye moja ya soketi za I²C zilizowekwa alama I²C kwenye Grove Base hat iliyounganishwa na Pi. Soketi hizi ziko kwenye safu ya chini, upande wa pili wa pini za GPIO na karibu na nafasi ya kebo ya kamera.
Programu ya kihisi cha Time of Flight
Sasa Raspberry Pi inaweza kupangwa kutumia kihisi cha Time of Flight kilichounganishwa.
Kazi - Programu ya kihisi cha Time of Flight
Programu kifaa.
-
Washa Pi na subiri ianze.
-
Fungua msimbo wa
fruit-quality-detector
kwenye VS Code, ama moja kwa moja kwenye Pi, au unganisha kupitia kiendelezi cha Remote SSH. -
Sakinisha kifurushi cha rpi-vl53l0x cha Pip, kifurushi cha Python kinachoshirikiana na kihisi cha umbali cha VL53L0X Time of Flight. Sakinisha kwa kutumia amri hii ya pip:
pip install rpi-vl53l0x
-
Unda faili mpya kwenye mradi huu inayoitwa
distance-sensor.py
.💁 Njia rahisi ya kuiga vifaa vingi vya IoT ni kufanya kila moja katika faili tofauti ya Python, kisha kuviendesha kwa wakati mmoja.
-
Ongeza msimbo ufuatao kwenye faili hii:
import time from grove.i2c import Bus from rpi_vl53l0x.vl53l0x import VL53L0X
Hii inaingiza maktaba ya Grove I²C bus, na maktaba ya kihisi kwa vifaa vya msingi vilivyojengwa ndani ya kihisi cha Grove Time of Flight.
-
Chini ya hii, ongeza msimbo ufuatao wa kufikia kihisi:
distance_sensor = VL53L0X(bus = Bus().bus) distance_sensor.begin()
Msimbo huu unatangaza kihisi cha umbali kwa kutumia Grove I²C bus, kisha kinaanza kihisi.
-
Hatimaye, ongeza kitanzi kisicho na mwisho cha kusoma umbali:
while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1)
Msimbo huu unasubiri thamani iwe tayari kusomwa kutoka kwa kihisi, kisha inaichapisha kwenye koni.
-
Endesha msimbo huu.
💁 Usisahau faili hii inaitwa
distance-sensor.py
! Hakikisha unaendesha hii kupitia Python, siapp.py
. -
Utaona vipimo vya umbali vikionekana kwenye koni. Weka vitu karibu na kihisi na utaona kipimo cha umbali:
pi@raspberrypi:~/fruit-quality-detector $ python3 distance_sensor.py Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
Kipima umbali kiko nyuma ya kihisi, kwa hivyo hakikisha unatumia upande sahihi unapopima umbali.
💁 Unaweza kupata msimbo huu kwenye folda ya code-proximity/pi.
😀 Programu yako ya kihisi cha ukaribu imefanikiwa!
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.