Mündəricat:

Benewake LiDAR TFmini (Tam bələdçi): 5 addım (şəkillərlə)
Benewake LiDAR TFmini (Tam bələdçi): 5 addım (şəkillərlə)

Video: Benewake LiDAR TFmini (Tam bələdçi): 5 addım (şəkillərlə)

Video: Benewake LiDAR TFmini (Tam bələdçi): 5 addım (şəkillərlə)
Video: LiDAR-TF02 Drone Altitude Holding 2024, Iyul
Anonim
Benewake LiDAR TFmini (Tam Bələdçi)
Benewake LiDAR TFmini (Tam Bələdçi)
Benewake LiDAR TFmini (Tam Bələdçi)
Benewake LiDAR TFmini (Tam Bələdçi)

Təsvir

Benewake TFMINI Micro LIDAR Modulu özünəməxsus optik, struktur və elektron dizaynlara malikdir. Məhsulun üç əsas üstünlüyü var: aşağı qiymət, kiçik həcm və aşağı enerji istehlakı.

Daxili və açıq mühitə uyğunlaşdırılmış daxili alqoritm, LiDAR-ın tətbiq sahələrini və ssenarilərini çox genişləndirən və ağıllıların gələcək "gözləri" üçün möhkəm bir təməl qoyan, aşağı qiymət və kiçik həcmdə mükəmməl bir sıra performans təmin edə bilər. dövr.

Xüsusiyyətlər

  • Giriş gərginliyi: 5v
  • Orta Güc: 0.12W
  • Rabitə Protokolu: UART (Baud dərəcəsi: 115200)
  • İşləmə temperaturu: -20 ℃ ~ 60 ℃
  • FOV: 2.3 °

Ölçülər

  • Ölçülər: 42mmx15mmx16mm
  • Çəkisi: 6.1g

Məhdudiyyətlər

0cm-30cm "kor" aralığı

Haradan Alınır

  • Robot Mağazası
  • Amazon

Bu təlimat aşağıdakıları bilməyinizi tələb edir:

  • Əsas elektronika
  • Tel kəsicilər və soyucu kimi əl alətləri
  • Sxemləri və əlaqə diaqramlarını oxumaq
  • Arduino üçün C/C ++ proqramlaşdırması (isteğe bağlı)
  • Raspberry Pi üçün Python proqramlaşdırması (isteğe bağlı)

Addım 1: Material toplayın

Toplama materialı
Toplama materialı
Toplama materialı
Toplama materialı
Toplama materialı
Toplama materialı

Bu təlimat, Windows PC və Raspberry Pi -dən istifadə edərək TFmini LiDAR -ı yerləşdirməyin müxtəlif yollarından keçəcəkdir. Hər bir metodun öz tələbləri var və ehtiyaclarınıza görə dəyişə bilər.

** Hər bir iş üçün Benewake TFmini LiDAR -a ehtiyacınız olacaq (əlbəttə) **

PC əsaslı tətbiq üçün:

  • Əməliyyat sistemi: Windows
  • USB-TTL çeviricisi
  • Jumper telləri

Raspberry Pi əsaslı tətbiq üçün:

  • Moruq Pi
  • Jumper telləri
  • LEDlər (isteğe bağlı)
  • USB-TTL çeviricisi (isteğe bağlı)
  • Çörək paneli (isteğe bağlı)
  • Rezistor (100-1k Ohm arasında) (isteğe bağlı)

Addım 2: Benewake tətbiqindən istifadə edərək kompüter əsaslı tətbiq

Benewake tətbiqindən istifadə edərək kompüter əsaslı tətbiq
Benewake tətbiqindən istifadə edərək kompüter əsaslı tətbiq
Benewake tətbiqindən istifadə edərək kompüter əsaslı tətbiq
Benewake tətbiqindən istifadə edərək kompüter əsaslı tətbiq
  1. TFmini LiDAR-ı göstərilən sxemə uyğun olaraq tullanan (kişi-qadın) tellərdən istifadə edərək USB-TTL çeviriciyə qoşun

    • Qırmızı tel 5V
    • Qara tel GND
    • Ağ/Mavi Tel Tx
    • Yaşıl tel Rx
  2. USB-TTL-ni kompüterinizə qoşun
  3. Cihaz Menecerinə (Win + X) gedin və Limanlar (COM və LPT) altında "Prolific USB-Serial Comm Port" u tapın. Windows -un cihazı tanıdığından əmin olun
  4. WINCC_TF.rar yükləyin və çıxarın
  5. Çıxarılan fayllardan WINCC_TFMini.exe işlədin
  6. Benewake Tətbiqində Serial Port başlığı altında açılan menyudan uyğun COM portunu seçin
  7. BAĞLAMA düyməsini basın

Addım 3: Python (PySerial) istifadə edərək PC əsaslı tətbiq

Python (PySerial) istifadə edərək PC əsaslı tətbiq
Python (PySerial) istifadə edərək PC əsaslı tətbiq
  1. USB-TTL çeviricisini istifadə edərək TFmini LiDAR-ı PC-yə qoşun
  2. Python IDLE istifadə edərək PC_Benewake_TFmini_LiDAR.py faylını yükləyin və açın (kompüterinizdə PySerial və Python quraşdırıldığından əmin olun)
  3. Kompüterinizdəki USB-TTL çeviricisinin COM portuna uyğun olaraq koddakı COM portunu düzəldin (şəklə baxın)
  4. Çalıştır sekmesini basın
  5. Çalıştırma Moduluna basın

** Kodun izahı üçün Addım-5-ə baxın

Addım 4: Raspberry Pi əsaslı tətbiq

Raspberry Pi əsaslı tətbiq
Raspberry Pi əsaslı tətbiq
Raspberry Pi əsaslı tətbiq
Raspberry Pi əsaslı tətbiq
Raspberry Pi əsaslı tətbiq
Raspberry Pi əsaslı tətbiq
Raspberry Pi əsaslı tətbiq
Raspberry Pi əsaslı tətbiq
  1. USB-TTL çeviricisini və ya GPIO istifadə edərək UART portunu istifadə edərək TFmini LiDAR-ı RPi-yə qoşun
  2. Python IDLE istifadə edərək Pi_benewake_LiDAR.py faylını yükləyin və açın
  3. RPi ilə bir USB-TTL çeviricisi istifadə edirsinizsə, Arduino IDE açın. Alətlər -> Serial Portu vurun və kodu buna uyğun olaraq düzəldin. UART GPIO portundan istifadə edirsinizsə, /dev /ttyAMA0 yazın
  4. Kodu işə salın

** Kod məsafəni çap etmək üçün istifadə edilə bilər, lakin RPi -nin çox işləmə gücünə malik olmadığı üçün, qeyd olunan məsafə müəyyən bir diapazondan aşağı olarsa bir LED yandırmaq məsləhət görülür (RPi olan LED üçün sxem əlavə olunur)

S. Niyə RPi ilə USB-TTL çeviricisini istifadə etməlisiniz?

RPi -nin yalnız bir UART portu var və bəzən UART əlaqəsi tələb edən bir neçə modul qoymalısınız. USB-TTL, birdən çox UART cihazını (iki və ya daha çox TFmini LiDAR kimi) RPi-yə bağlamaq imkanı verən RPi-yə əlavə bir UART portu təqdim edir.

Addım 5: Kod haqqında

Kod haqqında
Kod haqqında

Kodu üç hissəyə bölmək olar:

  • Əlaqə qurmaq
  • Məlumatların yazılması
  • Məlumatların oxunması

Əlaqə qurulur:

Lazımi başlıq fayllarını idxal etdikdən sonra, COM portunu, Baud dərəcəsini və əlaqə vaxtını bildirərək TFmini LiDAR-a bağlantı qururuq.

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

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

Məlumat yazmaq:

Kodu iki hissəyə bölmək olar - yazmaq və qəbul etmək. Məlumat almaq üçün müəyyən əmri TFmini LiDAR -a göndərmək lazımdır (başlanğıc prosesinin bir hissəsi). Bu vəziyyətdə 4257020000000106 seçmişəm. RPi Python -un eyni versiyasını işləsə də RPi ikili məlumatlardan başqa məlumatları qəbul etmədiyi üçün sintaksisdə bir qədər dəyiş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)

Məlumatların oxunması:

Məlumat vərəqində təqdim olunan cədvəl bizə 9 baytlıq UART mesajının 'dağılımını' verir. İlk iki bayt, hex 0x59 ('Y' işarəsi) dəyərinə malik çərçivə başlığıdır. UART mesajının başlanğıcını təyin etmək üçün oxunub istifadə edilə bilər.

əgər (('Y' == ser.read ()) və ('Y' == ser.read ())):

Başlıq çərçivəsi oxunduqdan sonra, məsafə məlumatlarını daşıyan növbəti iki bayt oxuna bilər. Məsafə məlumatları iki 8 bitlik paketə bölünür, Dist_L (Byte3) - Aşağı 8bit və Dist_H (Byte4) - Yüksək 8 bit.

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

Dist_H -ni 256 -a vuraraq, ikili məlumatlar 8 -ə sola köçürülür ("<< 8" -ə bərabərdir). İndi aşağı 8 bitlik məsafə məlumatları olan Dist_L, sadəcə Dist_Totalın 16 bitlik məlumatları ilə nəticələnə bilər.

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

Özümüzlə 'deşifr edilmiş' məsafə dəyərinə sahib olduğumuz üçün, sonrakı beş bayt göz ardı edilə bilər. Qeyd edək ki, oxunan məlumatlar heç bir yerdə saxlanılmır.

i üçün (0, 5): ser.read ()

** Başqa bir yerdə, TFmini LiDAR -ın 100Hz işləmə tezliyinə malik olması səbəbiylə döngənin sonuna qədər daxil edilmiş 'gecikmə' (Pythonda yuxu) tapa bilərsiniz. Bu gecikmə 'proqram gecikməsi' və bəzi gecikmələrdən sonra məlumatların YENİLƏNMƏSİ ilə nəticələnəcək. İnanıram ki, artıq 9 baytlıq məlumatların yığılmasını gözləyirik, başqa heç bir gecikmə olmamalıdır.

#vaxt.yuxu (0.0005) #Gecikmə şərh olunur

isə (ser.in_waiting> = 9):

Tövsiyə: