Talaan ng mga Nilalaman:

Benewake LiDAR TFmini (Kumpletong Gabay): 5 Hakbang (na may Mga Larawan)
Benewake LiDAR TFmini (Kumpletong Gabay): 5 Hakbang (na may Mga Larawan)

Video: Benewake LiDAR TFmini (Kumpletong Gabay): 5 Hakbang (na may Mga Larawan)

Video: Benewake LiDAR TFmini (Kumpletong Gabay): 5 Hakbang (na may Mga Larawan)
Video: Benewake TFmini-S — лазерный дальномер на 12 метров для Arduino и Raspberry. Железки Амперки 2024, Nobyembre
Anonim
Benewake LiDAR TFmini (Kumpletong Gabay)
Benewake LiDAR TFmini (Kumpletong Gabay)
Benewake LiDAR TFmini (Kumpletong Gabay)
Benewake LiDAR TFmini (Kumpletong Gabay)

Paglalarawan

Ang Benewake TFMINI Micro LIDAR Module ay may natatanging mga optikal, istruktura, at elektronikong disenyo. Nagtataglay ang produkto ng tatlong pangunahing bentahe: mababang gastos, maliit na dami at mababang paggamit ng kuryente.

Ang built-in na algorithm na inangkop sa panloob at panlabas na mga kapaligiran ay maaaring magagarantiyahan ang isang mahusay na sumasaklaw sa pagganap sa isang mababang gastos at sa isang maliit na dami, na lubos na nagpapalawak ng mga patlang ng aplikasyon at mga sitwasyon ng LiDAR at naglalagay ng isang matatag na pundasyon para sa "mga mata" sa hinaharap panahon

Mga pagtutukoy

  • Input Boltahe: 5v
  • Average na Lakas: 0.12W
  • Protokol ng Komunikasyon: UART (Baud rate: 115200)
  • Temperatura sa Pagpapatakbo: -20 ℃ ~ 60 ℃
  • FOV: 2.3 °

Mga Dimensyon

  • Laki: 42mmx15mmx16mm
  • Timbang: 6.1g

Mga limitasyon

0cm-30cm na "bulag" na saklaw

Saan bibili

  • RobotShop
  • Amazon

Ang itinuturo na ito ay nangangailangan na pamilyar ka sa mga sumusunod:

  • Pangunahing electronics
  • Mga tool sa kamay tulad ng mga wire cutter at striper
  • Pagbasa ng mga iskematika at mga diagram ng koneksyon
  • C / C ++ programa para sa Arduino (opsyonal)
  • Pagprogram ng Python para sa Raspberry Pi (opsyonal)

Hakbang 1: Materyal ng Pangangalap

Pangangalap na Materyal
Pangangalap na Materyal
Pangangalap na Materyal
Pangangalap na Materyal
Pangangalap na Materyal
Pangangalap na Materyal

Ang tagubilin na ito ay magdadala sa iyo sa iba't ibang mga paraan ng pag-deploy ng TFmini LiDAR gamit ang iyong Windows PC at Raspberry Pi. Ang bawat pamamaraan ay may mga kinakailangan at maaaring mag-iba batay sa iyong mga pangangailangan.

** Kakailanganin mo ang Benewake TFmini LiDAR para sa bawat kaso (syempre) **

Para sa pagpapatupad na Batay sa PC:

  • OS: Windows
  • Converter ng USB-TTL
  • Jumper Wires

Para sa pagpapatupad ng Raspberry Pi Batay:

  • Raspberry Pi
  • Jumper Wires
  • Mga LED (opsyonal)
  • USB-TTL converter (opsyonal)
  • Breadboard (opsyonal)
  • Resistor (sa pagitan ng 100-1k Ohm) (opsyonal)

Hakbang 2: Pagpapatupad na Batay sa PC Gamit ang Benewake App

Pagpapatupad na Batay sa PC Gamit ang Benewake App
Pagpapatupad na Batay sa PC Gamit ang Benewake App
Pagpapatupad na Batay sa PC Gamit ang Benewake App
Pagpapatupad na Batay sa PC Gamit ang Benewake App
  1. Ikonekta ang TFmini LiDAR sa USB-TTL converter gamit ang jumper (male-female) na mga wire alinsunod sa ipinakitang eskematiko

    • Red Wire 5V
    • Black Wire GND
    • Puti / Asul na Wire Tx
    • Green Wire Rx
  2. Plug-in USB-TTL sa iyong computer
  3. Pumunta sa Device Manager (Win + X) at hanapin ang "Prolific USB-to-Serial Comm Port" sa ilalim ng Ports (COM & LPT). Tiyaking nakikilala ng Windows ang aparato
  4. Mag-download at Mag-extract ng WINCC_TF.rar
  5. Patakbuhin ang WINCC_TFMini.exe mula sa mga nahuling file
  6. Piliin ang kaukulang COM port mula sa drop-down na menu sa Benewake App sa ilalim ng heading na Serial Port
  7. I-click ang CONNECT

Hakbang 3: Pagpapatupad na Batay sa PC Gamit ang Python (PySerial)

Pagpapatupad na Batay sa PC Gamit ang Python (PySerial)
Pagpapatupad na Batay sa PC Gamit ang Python (PySerial)
  1. Ikonekta ang TFmini LiDAR sa PC gamit ang USB-TTL converter
  2. I-download at buksan ang PC_Benewake_TFmini_LiDAR.py gamit ang Python IDLE (tiyaking mayroon kang naka-install na PySerial at Python sa iyong PC)
  3. I-edit ang COM port sa code upang tumugma sa COM port ng USB-TTL converter sa iyong PC (tingnan ang imahe)
  4. I-click ang tab na Run
  5. I-click ang Run Module

** Sumangguni sa Hakbang-5 para sa paliwanag ng code

Hakbang 4: Pagpapatupad ng Batay sa Raspberry Pi

Pagpapatupad ng Batay sa Raspberry Pi
Pagpapatupad ng Batay sa Raspberry Pi
Pagpapatupad ng Batay sa Raspberry Pi
Pagpapatupad ng Batay sa Raspberry Pi
Pagpapatupad ng Batay sa Raspberry Pi
Pagpapatupad ng Batay sa Raspberry Pi
Pagpapatupad ng Batay sa Raspberry Pi
Pagpapatupad ng Batay sa Raspberry Pi
  1. Ikonekta ang TFmini LiDAR sa RPi gamit ang USB-TTL converter o UART port gamit ang GPIO
  2. I-download at buksan ang Pi_benewake_LiDAR.py gamit ang Python IDLE
  3. Kung gumagamit ka ng isang USB-TTL converter na may RPi, Buksan ang Arduino IDE. Mag-click sa Mga Tool -> Serial Port, at i-edit ang code nang naaayon. Kung gumagamit ka ng UART GPIO port, pagkatapos ay isulat / dev / ttyAMA0
  4. Patakbuhin ang code

** Ang code ay maaaring magamit upang mai-print ang distansya, ngunit dahil ang RPi ay walang maraming kapangyarihan sa pagpoproseso, pinapayuhan na mag-ilaw ng isang LED kung ang distansya na naitala ay nasa ibaba ng isang tiyak na saklaw (nakakabit ang eskematiko para sa LED na may RPi)

Q. Bakit gumagamit ng USB-TTL converter gamit ang RPi?

Ang RPi ay mayroon lamang isang UART port, at kung minsan kailangan mong maglagay ng ilang mga module na hinihingi ang komunikasyon sa UART. Nagbibigay ang USB-TTL ng isang karagdagang port ng UART sa RPi na nagbibigay sa amin ng isang pagkakataon upang ikonekta ang higit sa isang aparato ng UART (tulad ng dalawa o higit pang TFmini LiDAR) sa RPi.

Hakbang 5: Tungkol sa Code

Tungkol sa Code
Tungkol sa Code

Ang code ay maaaring nahahati sa tatlong bahagi:

  • Ang pagtaguyod ng koneksyon
  • Pagsulat ng data
  • Pagbasa ng data

Ang pagtaguyod ng koneksyon:

Matapos ang pag-import ng mga kinakailangang file ng header, itinatakda namin ang koneksyon sa aming TFmini LiDAR sa pamamagitan ng pagsasabi ng COM port, Baud-rate at timeout ng koneksyon

ser = serial. Serial ('COM7', 115200, timeout = 1) #PC

ser = serial. Serial ('/ dev / ttyUSB1', 115200, timeout = 1) #Raspberry Pi

Pagsulat ng data:

Ang code ay maaaring nahahati sa dalawang bahagi, pagsulat at pagtanggap. Upang makatanggap ng data, kailangan mong malaman ang tiyak na utos sa TFmini LiDAR (bahagi ng proseso ng pagsisimula). Sa kasong ito, pinili ko ang 4257020000000106. Kahit na nagpapatakbo ang RPi ng parehong bersyon ng Python ngunit mayroong isang bahagyang pagbabago sa syntax dahil ang RPi ay hindi tumatanggap ng data maliban sa binary.

ser.write (0x42)

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

Pagbasa ng data:

Ang tsart na ibinigay sa data-sheet ay nagbibigay sa amin ng 'pagkasira' ng 9-Byte UART na mensahe. Ang unang dalawang Byte ay ang header ng frame na may halaga na hex 0x59 (character na 'Y'). Maaari silang mabasa at magamit upang makilala ang simula ng mensahe ng UART.

kung (('Y' == ser.read ()) at ('Y' == ser.read ())):

Kapag nabasa na ang header frame, maaaring mabasa ang susunod na dalawang byte, na nagdadala ng data ng distansya. Ang data ng distansya ay nahahati sa dalawang 8-bit na packet, Dist_L (Byte3) - Mas Mababang 8bits at Dist_H (Byte4) - Mas Mataas na 8bits.

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

Sa pamamagitan ng pag-multiply ng Dist_H ng 256, ang binary data ay inilipat ng 8 sa kaliwa (katumbas ng "<< 8"). Ngayon ang mas mababang 8-bit na data ng distansya, ang Dist_L, ay maaaring maidagdag na nagreresulta sa 16-bit na data ng Dist_Total.

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

Dahil mayroon kaming 'deciphered' na halaga ng distansya sa amin, ang susunod na limang byte ay maaaring balewalain. Tandaan na ang nabasang data ay hindi naiimbak kahit saan.

para sa ako sa saklaw (0, 5): ser.read ()

** Sa ilang ibang lugar, maaari kang makahanap ng 'pagkaantala' (oras. Pagtulog sa Python) na isinasama bago ang pagtatapos ng loop para sa kadahilanang ang TFmini LiDAR ay may 100Hz dalas ng pagpapatakbo. Ang pagkaantala na 'pagkaantala ng programa' at magreresulta sa pag-UPDATE ng data pagkatapos ng ilang pagkaantala. Naniniwala ako na dahil naghihintay na kami para sa data na mag-ipon ng hanggang sa 9-Bytes, hindi dapat magkaroon ng anumang pagkaantala

# time.s Sleep (0,0005) #Ang pagkaantala ay na-comment

habang (ser.in_waiting> = 9):

Inirerekumendang: