İçindekiler:

Benewake LiDAR TFmini (Tam Kılavuz): 5 Adım (Resimlerle)
Benewake LiDAR TFmini (Tam Kılavuz): 5 Adım (Resimlerle)

Video: Benewake LiDAR TFmini (Tam Kılavuz): 5 Adım (Resimlerle)

Video: Benewake LiDAR TFmini (Tam Kılavuz): 5 Adım (Resimlerle)
Video: Откройте для себя сокровища внутри [замка джиннов] 🔞 Охота за сокровищами металлоискателя ❌ 2024, Kasım
Anonim
Benewake LiDAR TFmini (Tam Kılavuz)
Benewake LiDAR TFmini (Tam Kılavuz)
Benewake LiDAR TFmini (Tam Kılavuz)
Benewake LiDAR TFmini (Tam Kılavuz)

Açıklama

Benewake TFMINI Mikro LIDAR Modülü benzersiz optik, yapısal ve elektronik tasarımlara sahiptir. Ürünün üç ana avantajı vardır: düşük maliyet, küçük hacim ve düşük güç tüketimi.

İç ve dış ortamlara uyarlanmış yerleşik algoritma, LiDAR'ın uygulama alanlarını ve senaryolarını büyük ölçüde genişleten ve akıllı cihazlarda geleceğin “gözleri” için sağlam bir temel oluşturan, düşük bir maliyetle ve küçük bir hacimde mükemmel bir menzil performansı garanti edebilir. dönem.

Özellikler

  • Giriş Voltajı: 5v
  • Ortalama Güç: 0.12W
  • İletişim Protokolü: UART (Baud hızı: 115200)
  • Çalışma Sıcaklığı: -20℃~60℃
  • FOV: 2,3°

Boyutlar

  • Boyut: 42mmx15mmx16mm
  • Ağırlık: 6.1g

sınırlamalar

0cm-30cm "kör" aralık

Nereden Alınır

  • RobotShop
  • Amazon

Bu talimat, aşağıdakilere aşina olmanızı gerektirir:

  • Temel elektronik
  • Tel kesiciler ve sıyırıcılar gibi el aletleri
  • Şemaları ve bağlantı şemalarını okuma
  • Arduino için C/C++ programlama (isteğe bağlı)
  • Raspberry Pi için Python programlama (isteğe bağlı)

Adım 1: Malzeme Toplama

Toplama Malzemesi
Toplama Malzemesi
Toplama Malzemesi
Toplama Malzemesi
Toplama Malzemesi
Toplama Malzemesi

Bu talimat, sizi Windows PC'nizi ve Raspberry Pi'nizi kullanarak TFmini LiDAR'ı dağıtmanın farklı yollarına götürecektir. Her yöntemin kendi gereksinimleri vardır ve ihtiyaçlarınıza göre değişebilir.

**Her durum için Benewake TFmini LiDAR'a ihtiyacınız olacak (elbette)**

PC Tabanlı uygulama için:

  • İşletim Sistemi: Windows
  • USB-TTL dönüştürücü
  • Jumper Telleri

Raspberry Pi Tabanlı uygulama için:

  • Ahududu Pi
  • Jumper Telleri
  • LED'ler (isteğe bağlı)
  • USB-TTL dönüştürücü (isteğe bağlı)
  • Breadboard (isteğe bağlı)
  • Direnç (100-1k Ohm arası) (opsiyonel)

Adım 2: Benewake Uygulamasını Kullanarak Bilgisayar Tabanlı Uygulama

Benewake Uygulamasını Kullanan PC Tabanlı Uygulama
Benewake Uygulamasını Kullanan PC Tabanlı Uygulama
Benewake Uygulamasını Kullanan PC Tabanlı Uygulama
Benewake Uygulamasını Kullanan PC Tabanlı Uygulama
  1. TFmini LiDAR'ı gösterilen şemaya göre jumper (erkek-dişi) kabloları kullanarak USB-TTL dönüştürücüye bağlayın

    • Kırmızı Tel 5V
    • Siyah Tel GND
    • Beyaz/Mavi Tel Tx
    • Yeşil Tel Rx
  2. USB-TTL'yi bilgisayarınıza takın
  3. Aygıt Yöneticisi'ne (Win + X) gidin ve Bağlantı Noktaları (COM & LPT) altında " Üretken USB-Seri İletişim Bağlantı Noktası" öğesini bulun. Windows'un cihazı tanıdığından emin olun
  4. WINCC_TF.rar'ı İndirin ve Çıkarın
  5. Ayıklanan dosyalardan WINCC_TFMini.exe dosyasını çalıştırın
  6. Benewake Uygulamasında Seri Bağlantı Noktası başlığı altındaki açılır menüden ilgili COM bağlantı noktasını seçin
  7. BAĞLAN'ı tıklayın

Adım 3: Python Kullanarak Bilgisayar Tabanlı Uygulama (PySerial)

Python Kullanarak Bilgisayar Tabanlı Uygulama (PySerial)
Python Kullanarak Bilgisayar Tabanlı Uygulama (PySerial)
  1. TFmini LiDAR'ı USB-TTL dönüştürücü kullanarak PC'ye bağlayın
  2. Python IDLE kullanarak PC_Benewake_TFmini_LiDAR.py'yi indirin ve açın (PC'nizde PySerial ve Python'un kurulu olduğundan emin olun)
  3. PC'nizdeki USB-TTL dönüştürücünün COM bağlantı noktasıyla eşleşmesi için koddaki COM bağlantı noktasını düzenleyin (resme bakın)
  4. Çalıştır sekmesine tıklayın
  5. Modülü Çalıştır'a tıklayın

**Kodun açıklaması için Adım-5'e bakın

Adım 4: Raspberry Pi Tabanlı Uygulama

Raspberry Pi Tabanlı Uygulama
Raspberry Pi Tabanlı Uygulama
Raspberry Pi Tabanlı Uygulama
Raspberry Pi Tabanlı Uygulama
Raspberry Pi Tabanlı Uygulama
Raspberry Pi Tabanlı Uygulama
Raspberry Pi Tabanlı Uygulama
Raspberry Pi Tabanlı Uygulama
  1. TFmini LiDAR'ı USB-TTL dönüştürücü veya GPIO kullanarak UART bağlantı noktası kullanarak RPI'ye bağlayın
  2. Python IDLE kullanarak Pi_benewake_LiDAR.py'yi indirin ve açın
  3. RPI ile bir USB-TTL dönüştürücü kullanıyorsanız, Arduino IDE'yi açın. Araçlar ->Seri Bağlantı Noktası'na tıklayın ve kodu buna göre düzenleyin. UART GPIO bağlantı noktasını kullanıyorsanız, /dev/ttyAMA0 yazın
  4. kodu çalıştır

**Kod, mesafeyi yazdırmak için kullanılabilir, ancak RPi'nin çok fazla işlem gücü olmadığından, kaydedilen mesafe belirli bir aralığın altındaysa bir LED yakılması önerilir (RPi'li LED için şema ektedir)

S. Neden RPi ile USB-TTL dönüştürücü kullanıyorsunuz?

RPi'nin yalnızca bir UART bağlantı noktası vardır ve bazen UART iletişimi gerektiren birkaç modül koymanız gerekir. USB-TTL, RPi'ye birden fazla UART cihazını (iki veya daha fazla TFmini LiDAR gibi) RPi'ye bağlama fırsatı veren ek bir UART bağlantı noktası sağlar.

Adım 5: Kod Hakkında

Kod Hakkında
Kod Hakkında

Kod üç bölüme ayrılabilir:

  • Bağlantı kuruluyor
  • Veri yazma
  • Veri okuma

Bağlantı kuruluyor:

Gerekli başlık dosyalarını içe aktardıktan sonra, COM portunu, Baud hızını ve bağlantı zaman aşımını belirterek TFmini LiDAR'ımıza bağlantı kurarız.

ser = seri. Serial('COM7', 115200, zaman aşımı = 1) #PC

ser = serial. Serial('/dev/ttyUSB1', 115200, zaman aşımı = 1) #Raspberry Pi

Veri yazma:

Kod, yazma ve alma olmak üzere iki kısma ayrılabilir. Veri almak için, belirli komutu TFmini LiDAR'a iletmeniz gerekir (başlatma işleminin bir parçası). Bu durumda 4257020000000106'yı seçtim. RPi, Python'un aynı sürümünü çalıştırmasına rağmen, RPi ikili dışındaki verileri kabul etmediği için sözdiziminde küçük bir değişiklik var.

ser.write(0x42)

ser.write(0x57) ser.write(0x02) ser.write(0x00) ser.write(0x00) ser.write(0x00) ser.write(0x01) ser.write(0x06)

Veri okuma:

Veri sayfasında sağlanan çizelge bize 9-Byte UART mesajının 'dökümünü' verir. İlk iki Bayt, onaltılık 0x59 değerine sahip çerçeve başlığıdır ('Y' karakteri). UART mesajının başlangıcını belirlemek için okunabilir ve kullanılabilirler.

if(('Y' == ser.read()) ve ('Y' == ser.read())):

Başlık çerçevesi okunduktan sonra, mesafe verilerini taşıyan sonraki iki bayt okunabilir. Mesafe verileri, Dist_L (Byte3) - Daha düşük 8 bit ve Dist_H (Byte4) - Daha yüksek 8 bit olmak üzere iki 8 bitlik pakete bölünmüştür.

Dist_L = ser.read() #Byte3Dist_H = ser.read() #Byte4

Dist_H 256 ile çarpıldığında, ikili veri 8 ile sola kaydırılır ("<< 8"e eşdeğer). Şimdi, daha düşük 8 bitlik mesafe verisi, Dist_L, basitçe eklenebilir ve bu da Dist_Total'ın 16 bitlik verisi ile sonuçlanır.

Dist_Total = (ord(Dist_H) * 256) + (ord(Dist_L))

Yanımızda 'deşifre edilmiş' mesafe değerine sahip olduğumuz için sonraki beş bayt göz ardı edilebilir. Okunan verilerin hiçbir yerde saklanmadığını unutmayın.

i aralığında (0, 5):ser.read()

**Başka bir yerde, TFmini LiDAR'ın 100Hz çalışma frekansına sahip olması nedeniyle döngünün bitiminden önce dahil edilmiş 'gecikme' (Python'da time.sleep) bulabilirsiniz. Bu gecikme 'program gecikmesi' ve bazı gecikmelerden sonra verilerin GÜNCELLENMESİ ile sonuçlanacaktır. Verilerin zaten 9 bayta kadar yığılmasını beklediğimizden, başka bir gecikme olmaması gerektiğine inanıyorum.

#time.sleep(0.0005) #Gecikme yorumlandı

while(ser.in_waiting >= 9):

Önerilen: