5.2 KiB
Yakınlık Algılama - Raspberry Pi
Bu dersin bu bölümünde, Raspberry Pi'ye bir yakınlık sensörü ekleyecek ve ondan mesafe okuyacaksınız.
Donanım
Raspberry Pi'nin bir yakınlık sensörüne ihtiyacı var.
Kullanacağınız sensör, bir Grove Time of Flight mesafe sensörü. Bu sensör, mesafeyi algılamak için bir lazer ölçüm modülü kullanır. Sensör, 10mm ile 2000mm (1cm - 2m) arasında bir aralığa sahiptir ve bu aralıktaki değerleri oldukça doğru bir şekilde raporlar. 1000mm'nin üzerindeki mesafeler 8109mm olarak rapor edilir.
Lazer mesafe ölçer, sensörün arka tarafında, Grove soketinin karşı tarafında yer alır.
Bu bir I²C sensörüdür.
Time of Flight Sensörünü Bağlama
Grove time of flight sensörü Raspberry Pi'ye bağlanabilir.
Görev - Time of Flight Sensörünü Bağlayın
Time of flight sensörünü bağlayın.
-
Grove kablosunun bir ucunu time of flight sensöründeki sokete takın. Kablo yalnızca tek bir yönde takılabilir.
-
Raspberry Pi kapalıyken, Grove kablosunun diğer ucunu, Pi'ye bağlı Grove Base şapkasındaki I²C olarak işaretlenmiş soketlerden birine bağlayın. Bu soketler, GPIO pinlerinin karşı ucunda, alt sırada ve kamera kablosu yuvasının yanındadır.
Time of Flight Sensörünü Programlama
Artık Raspberry Pi, bağlı time of flight sensörünü kullanacak şekilde programlanabilir.
Görev - Time of Flight Sensörünü Programlayın
Cihazı programlayın.
-
Pi'yi açın ve başlatılmasını bekleyin.
-
fruit-quality-detector
kodunu VS Code'da açın. Bunu doğrudan Pi üzerinde yapabilir veya Remote SSH uzantısı aracılığıyla bağlanabilirsiniz. -
VL53L0X time-of-flight mesafe sensörüyle etkileşim kuran bir Python paketi olan rpi-vl53l0x Pip paketini yükleyin. Aşağıdaki pip komutunu kullanarak yükleyin:
pip install rpi-vl53l0x
-
Bu projede
distance-sensor.py
adında yeni bir dosya oluşturun.💁 Birden fazla IoT cihazını simüle etmenin kolay bir yolu, her birini farklı bir Python dosyasında yapmak ve ardından aynı anda çalıştırmaktır.
-
Bu dosyaya aşağıdaki kodu ekleyin:
import time from grove.i2c import Bus from rpi_vl53l0x.vl53l0x import VL53L0X
Bu kod, Grove I²C bus kütüphanesini ve Grove time of flight sensöründe yerleşik olan temel sensör donanımı için bir sensör kütüphanesini içe aktarır.
-
Bunun altına, sensöre erişmek için aşağıdaki kodu ekleyin:
distance_sensor = VL53L0X(bus = Bus().bus) distance_sensor.begin()
Bu kod, Grove I²C bus kullanarak bir mesafe sensörü tanımlar ve ardından sensörü başlatır.
-
Son olarak, mesafeleri okumak için sonsuz bir döngü ekleyin:
while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1)
Bu kod, sensörden bir değer okumaya hazır olmasını bekler ve ardından konsola yazdırır.
-
Bu kodu çalıştırın.
💁 Bu dosyanın adı
distance-sensor.py
!app.py
yerine Python ile çalıştırmayı unutmayın. -
Konsolda mesafe ölçümleri görünecektir. Sensöre yakın nesneler yerleştirin ve mesafe ölçümünü göreceksiniz:
pi@raspberrypi:~/fruit-quality-detector $ python3 distance_sensor.py Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
Mesafe ölçer, sensörün arka tarafındadır, bu yüzden mesafeyi ölçerken doğru tarafı kullandığınızdan emin olun.
💁 Bu kodu code-proximity/pi klasöründe bulabilirsiniz.
😀 Yakınlık sensörü programınız başarıyla çalıştı!
Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.