Turinys:

„Benewake LiDAR TFmini“(visas vadovas): 5 žingsniai (su paveikslėliais)
„Benewake LiDAR TFmini“(visas vadovas): 5 žingsniai (su paveikslėliais)

Video: „Benewake LiDAR TFmini“(visas vadovas): 5 žingsniai (su paveikslėliais)

Video: „Benewake LiDAR TFmini“(visas vadovas): 5 žingsniai (su paveikslėliais)
Video: Лидар на Ардуино! DIY 2024, Liepa
Anonim
„Benewake LiDAR TFmini“(visas vadovas)
„Benewake LiDAR TFmini“(visas vadovas)
„Benewake LiDAR TFmini“(visas vadovas)
„Benewake LiDAR TFmini“(visas vadovas)

apibūdinimas

„Benewake TFMINI Micro LIDAR“modulis turi unikalų optinį, struktūrinį ir elektroninį dizainą. Produktas turi tris pagrindinius privalumus: mažą kainą, mažą tūrį ir mažas energijos sąnaudas.

Integruotas algoritmas, pritaikytas vidaus ir lauko aplinkai, gali garantuoti puikų diapazono našumą už mažą kainą ir nedidelį tūrį, o tai labai išplečia „LiDAR“taikymo sritis ir scenarijus bei sudaro tvirtą pagrindą būsimoms „išmaniųjų“akims eros.

Specifikacijos

  • Įėjimo įtampa: 5v
  • Vidutinė galia: 0,12W
  • Ryšio protokolas: UART (perdavimo dažnis: 115200)
  • Darbinė temperatūra: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Matmenys

  • Dydis: 42mmx15mmx16mm
  • Svoris: 6,1 g

Apribojimai

0–30 cm „aklas“diapazonas

Kur nusipirkti

  • „RobotShop“
  • „Amazon“

Ši instrukcija reikalauja, kad būtumėte susipažinęs su šiais dalykais:

  • Pagrindinė elektronika
  • Rankiniai įrankiai, tokie kaip vielos pjaustytuvai ir nuėmikliai
  • Skaitykite schemas ir prijungimo schemas
  • C/C ++ programavimas „Arduino“(neprivaloma)
  • „Python“programavimas „Raspberry Pi“(neprivaloma)

1 žingsnis: Surinkite medžiagą

Surinkimo medžiaga
Surinkimo medžiaga
Surinkimo medžiaga
Surinkimo medžiaga
Surinkimo medžiaga
Surinkimo medžiaga

Ši instrukcija padės jums įvairiais būdais įdiegti „TFmini LiDAR“naudojant „Windows“kompiuterį ir „Raspberry Pi“. Kiekvienas metodas turi savo reikalavimus ir gali skirtis priklausomai nuo jūsų poreikių.

** Kiekvienu atveju jums reikės „Benewake TFmini LiDAR“(žinoma) **

Diegimui kompiuteriu:

  • OS: „Windows“
  • USB-TTL keitiklis
  • Trumpieji laidai

„Raspberry Pi“diegimui:

  • Raspberry Pi
  • Trumpieji laidai
  • Šviesos diodai (neprivaloma)
  • USB-TTL keitiklis (neprivaloma)
  • Duonos lenta (neprivaloma)
  • Rezistorius (nuo 100-1k omų) (neprivaloma)

2 veiksmas: įdiegimas kompiuteriu naudojant „Benewake“programą

Įdiegimas kompiuteriu naudojant „Benewake“programą
Įdiegimas kompiuteriu naudojant „Benewake“programą
Įdiegimas kompiuteriu naudojant „Benewake“programą
Įdiegimas kompiuteriu naudojant „Benewake“programą
  1. Prijunkite TFmini LiDAR prie USB-TTL keitiklio, naudodami trumpiklius (vyriškus ir moteriškus) laidus pagal pateiktą schemą

    • Raudona viela 5V
    • Juoda viela GND
    • Balta/mėlyna viela Tx
    • Žalioji viela Rx
  2. Prijunkite USB-TTL prie kompiuterio
  3. Eikite į įrenginių tvarkytuvę („Win + X“) ir prievaduose (COM ir LPT) raskite „Prolific USB-to-Serial Comm Port“. Įsitikinkite, kad „Windows“atpažįsta įrenginį
  4. Atsisiųskite ir ištraukite WINCC_TF.rar
  5. Paleiskite WINCC_TFMini.exe iš išgautų failų
  6. „Benewake“programos išskleidžiamajame meniu, esančiame antraštėje „Serial Port“, pasirinkite atitinkamą COM prievadą
  7. Spustelėkite CONNECT

3 veiksmas: įdiegimas kompiuteriu naudojant „Python“(„PySerial“)

Įdiegimas kompiuteriu naudojant „Python“(„PySerial“)
Įdiegimas kompiuteriu naudojant „Python“(„PySerial“)
  1. Prijunkite TFmini LiDAR prie kompiuterio naudodami USB-TTL keitiklį
  2. Atsisiųskite ir atidarykite PC_Benewake_TFmini_LiDAR.py naudodami „Python IDLE“(įsitikinkite, kad kompiuteryje įdiegta „PySerial“ir „Python“)
  3. Redaguokite kodo COM prievadą, kad jis atitiktų jūsų kompiuterio USB-TTL keitiklio COM prievadą (žr. Paveikslėlį)
  4. Spustelėkite skirtuką Vykdyti
  5. Spustelėkite Vykdyti modulį

** Norėdami paaiškinti kodą, žr. 5 veiksmą

4 žingsnis: „Raspberry Pi“diegimas

„Raspberry Pi“diegimas
„Raspberry Pi“diegimas
„Raspberry Pi“diegimas
„Raspberry Pi“diegimas
„Raspberry Pi“diegimas
„Raspberry Pi“diegimas
„Raspberry Pi“diegimas
„Raspberry Pi“diegimas
  1. Prijunkite TFmini LiDAR prie RPi naudodami USB-TTL keitiklį arba UART prievadą, naudodami GPIO
  2. Atsisiųskite ir atidarykite „Pi_benewake_LiDAR.py“naudodami „Python IDLE“
  3. Jei naudojate USB-TTL keitiklį su RPi, atidarykite „Arduino IDE“. Spustelėkite Įrankiai -> Serijinis prievadas ir atitinkamai redaguokite kodą. Jei naudojate UART GPIO prievadą, rašykite /dev /ttyAMA0
  4. Paleiskite kodą

** Kodas gali būti naudojamas atstumui spausdinti, tačiau kadangi RPi neturi daug apdorojimo galios, patariama uždegti šviesos diodą, jei užfiksuotas atstumas yra mažesnis už tam tikrą diapazoną (pridedama šviesos diodo su RPi schema)

K. Kodėl verta naudoti USB-TTL keitiklį su RPi?

RPi turi tik vieną UART prievadą, o kartais reikia įdėti keletą modulių, kuriems reikalingas UART ryšys. USB-TTL suteikia RPi papildomą UART prievadą, suteikiantį galimybę prie RPi prijungti daugiau nei vieną UART įrenginį (pvz., Du ar daugiau TFmini LiDAR).

5 veiksmas: apie kodą

Apie kodeksą
Apie kodeksą

Kodą galima suskirstyti į tris dalis:

  • Ryšio užmezgimas
  • Duomenų rašymas
  • Duomenų skaitymas

Ryšio užmezgimas:

Importavę reikiamus antraštės failus, užmezgame ryšį su savo TFmini LiDAR, nurodydami jo COM prievadą, Baud greitį ir ryšio skirtąjį laiką

ser = serijinis. Serijinis ('COM7', 115200, skirtasis laikas = 1) #PC

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

Rašomi duomenys:

Kodą galima suskirstyti į dvi dalis - rašymą ir gavimą. Norėdami gauti duomenis, turite perduoti tam tikrą komandą TFmini LiDAR (inicializavimo proceso dalis). Šiuo atveju pasirinkau 4257020000000106. Nors RPi naudoja tą pačią „Python“versiją, tačiau šiek tiek pasikeičia sintaksė, nes RPi nepriima kitų duomenų, išskyrus dvejetainius.

ser.write (0x42)

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

Duomenų skaitymas:

Duomenų lape pateikta diagrama pateikia mums 9 baitų UART pranešimo „suskirstymą“. Pirmieji du baitai yra kadro antraštė, kurios reikšmė yra 0x59 (simbolis „Y“). Jie gali būti skaitomi ir naudojami UART pranešimo pradžiai nustatyti.

jei (('Y' == ser.read ()) ir ('Y' == ser.read ())):

Perskaičius antraštės rėmelį, būtų galima perskaityti kitus du baitus, kuriuose yra atstumo duomenys. Atstumo duomenys yra suskirstyti į du 8 bitų paketus, Dist_L (baitas3) - apatiniai 8 bitai ir dist_H (baitas4) - aukštesni 8 bitai.

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

Padauginus Dist_H iš 256, dvejetainiai duomenys pasislenka 8 į kairę (atitinka „<< 8“). Dabar galima tiesiog pridėti apatinius 8 bitų atstumo duomenis, Dist_L, ir gauti 16 bitų Dist_Total duomenis.

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

Kadangi su savimi turime „iššifruotą“atstumo vertę, į kitus penkis baitus galima nekreipti dėmesio. Atminkite, kad nuskaityti duomenys niekur nėra saugomi.

i diapazone (0, 5): ser.read ()

** Kitoje vietoje „ciklo pabaiga“(„time.sleep in Python“) gali būti įtraukta prieš ciklo pabaigą, nes „TFmini LiDAR“veikia 100 Hz dažniu. Šis uždelsimas „programos uždelsimas“ir dėl to po tam tikro laiko duomenys bus atnaujinami. Manau, kad kadangi mes jau laukiame, kol duomenys kaupsis iki 9 baitų, neturėtų būti jokio kito delsimo

#time.sleep (0.0005) #Delsimas komentuojamas

o (ser.in_waiting> = 9):

Rekomenduojamas: