Innholdsfortegnelse:
- Trinn 1: Samle materiale
- Trinn 2: PC -basert implementering ved hjelp av Benewake -appen
- Trinn 3: PC -basert implementering ved hjelp av Python (PySerial)
- Trinn 4: Raspberry Pi -basert implementering
- Trinn 5: Om koden
Video: Benewake LiDAR TFmini (komplett guide): 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Beskrivelse
Benewake TFMINI Micro LIDAR -modulen har sine unike optiske, strukturelle og elektroniske design. Produktet har tre store fordeler: lav pris, lite volum og lavt strømforbruk.
Den innebygde algoritmen tilpasset innendørs og utendørs miljøer kan garantere en utmerket ytelse til en lav kostnad og i et lite volum, noe som utvider applikasjonsfeltene og scenariene til LiDAR sterkt og legger et solid grunnlag for fremtidige "øyne" i smart æra.
Spesifikasjoner
- Inngangsspenning: 5v
- Gjennomsnittlig effekt: 0,12W
- Kommunikasjonsprotokoll: UART (Baud rate: 115200)
- Driftstemperatur: -20 ℃ ~ 60 ℃
- FOV: 2,3 °
Dimensjoner
- Størrelse: 42mmx15mmx16mm
- Vekt: 6,1 g
Begrensninger
0cm-30cm "blind" rekkevidde
Hvor kan man kjøpe
- RobotShop
- Amazon
Denne instruksen krever at du er kjent med følgende:
- Grunnleggende elektronikk
- Håndverktøy som wire cutters og strippere
- Lese skjemaer og tilkoblingsdiagrammer
- C/C ++ programmering for Arduino (valgfritt)
- Python -programmering for Raspberry Pi (valgfritt)
Trinn 1: Samle materiale
Denne instruksen tar deg gjennom forskjellige måter å distribuere TFmini LiDAR ved hjelp av Windows PC og Raspberry Pi. Hver metode har sine krav og kan variere basert på dine behov.
** Du trenger Benewake TFmini LiDAR for hvert tilfelle (selvfølgelig) **
For PC -basert implementering:
- OS: Windows
- USB-TTL-omformer
- Jumper Wires
For Raspberry Pi -basert implementering:
- Bringebær Pi
- Jumper Wires
- LED (valgfritt)
- USB-TTL-omformer (valgfritt)
- Brødbrett (valgfritt)
- Motstand (mellom 100-1k Ohm) (valgfritt)
Trinn 2: PC -basert implementering ved hjelp av Benewake -appen
-
Koble TFmini LiDAR til USB-TTL-omformer ved hjelp av jumper (hann-hunn) ledninger i henhold til skjematisk vist
- Red Wire 5V
- Black Wire GND
- Hvit/blå Wire Tx
- Green Wire Rx
- Koble USB-TTL til datamaskinen
- Gå til Enhetsbehandling (Win + X) og finn "Prolific USB-to-Serial Comm Port" under Ports (COM & LPT). Sørg for at Windows gjenkjenner enheten
- Last ned og trekk ut WINCC_TF.rar
- Kjør WINCC_TFMini.exe fra de utpakkede filene
- Velg den tilhørende COM-porten fra rullegardinmenyen i Benewake App under overskriften Seriell port
- Klikk på KOBLE
Trinn 3: PC -basert implementering ved hjelp av Python (PySerial)
- Koble TFmini LiDAR til PC ved hjelp av USB-TTL-omformer
- Last ned og åpne PC_Benewake_TFmini_LiDAR.py ved hjelp av Python IDLE (sørg for at du har PySerial og Python installert på PCen)
- Rediger COM-porten i koden for å matche COM-porten på USB-TTL-omformeren på din PC (se bilde)
- Klikk på Kjør -fanen
- Klikk på Kjør modul
** Se trinn 5 for forklaring av koden
Trinn 4: Raspberry Pi -basert implementering
- Koble TFmini LiDAR til RPi ved hjelp av USB-TTL-omformer eller UART-port ved bruk av GPIO
- Last ned og åpne Pi_benewake_LiDAR.py ved hjelp av Python IDLE
- Hvis du bruker en USB-TTL-omformer med RPi, åpner du Arduino IDE. Klikk på Verktøy -> Seriell port, og rediger koden deretter. Hvis du bruker UART GPIO -port, skriver du /dev /ttyAMA0
- Kjør koden
** Koden kan brukes til å skrive ut avstanden, men siden RPi ikke har mye prosessorkraft, anbefales det å tenne en LED hvis avstanden som er registrert er under et bestemt område (skjematisk for LED med RPi er vedlagt)
Sp. Hvorfor bruke USB-TTL-omformer med RPi?
RPi har bare en UART -port, og noen ganger må du sette noen få moduler som krever UART -kommunikasjon. USB-TTL gir en ekstra UART-port til RPi, noe som gir oss en mulighet til å koble mer enn én UART-enhet (som to eller flere TFmini LiDAR) til RPi.
Trinn 5: Om koden
Koden kan deles inn i tre deler:
- Etablere forbindelse
- Skrive data
- Lese data
Etablere tilkobling:
Etter å ha importert nødvendige overskriftsfiler, etablerer vi tilkoblingen til vår TFmini LiDAR ved å angi COM-porten, Baud-rate og tilkoblingstidsavbrudd
ser = serial. Serial ('COM7', 115200, timeout = 1) #PC
ser = serial. Serial ('/dev/ttyUSB1', 115200, timeout = 1) #Raspberry Pi
Skrive data:
Koden kan deles inn i to deler, skriving og mottak. For å motta data må du videresende den bestemte kommandoen til TFmini LiDAR (del av initialiseringsprosessen). I dette tilfellet har jeg valgt 4257020000000106. Selv om RPi kjører den samme versjonen av Python, men det er en liten endring i syntaks, ettersom RPi ikke godtar andre data enn binær.
ser.write (0x42)
ser.write (0x57) ser.write (0x02) ser.write (0x00) ser.write (0x00) ser.write (0x00) ser.write (0x01) ser.write (0x06)
Lese data:
Diagrammet i databladet gir oss en "sammenbrudd" av 9-Byte UART-meldingen. De to første byttene er rammeoverskrift med en verdi på hex 0x59 (tegn 'Y'). De kan leses og brukes til å identifisere starten på UART -meldingen.
hvis (('Y' == ser.read ()) og ('Y' == ser.read ())):
Når overskriftsrammen er lest, kan de neste to byte, som bærer avstandsdata, leses. Avstandsdata er delt inn i to 8 -biters pakker, Dist_L (Byte3) - Lavere 8bits og Dist_H (Byte4) - Høyere 8bits.
Dist_L = ser.read () #Byte3Dist_H = ser.read () #Byte4
Ved å multiplisere Dist_H med 256 flyttes de binære dataene med 8 til venstre (tilsvarer "<< 8"). Nå kan de nedre 8-biters avstandsdataene, Dist_L, ganske enkelt legges til, noe som resulterer i 16-biters data for Dist_Total.
Dist_Total = (ord (Dist_H) * 256) + (ord (Dist_L))
Siden vi har den "dekrypterte" avstandsverdien med oss, kan de neste fem byte ignoreres. Vær oppmerksom på at de avleste dataene ikke lagres noe sted.
for i i området (0, 5): ser.read ()
** Et annet sted kan du finne 'forsinkelse' (time.sleep in Python) innarbeidet før slutten av sløyfen av den grunn at TFmini LiDAR har 100Hz driftsfrekvens. Denne forsinkelsen 'programforsinkelse' og vil resultere i at data blir OPPDATERT etter en viss forsinkelse. Jeg tror at siden vi allerede venter på at dataene skal ha seg opp til 9-Bytes, bør det ikke være noen annen forsinkelse
#time.sleep (0,0005) #Forsinkelsen kommenteres
mens (ser.in_waiting> = 9):
Anbefalt:
Emergency Mobile Charger Using Solar Panel [Komplett guide]: 4 trinn
Emergency Mobile Charger Using Solar Panel [Komplett guide]: Leter du etter en måte å lade telefonen på når du er helt tom for alternativer? Lag deg en nødlader med et bærbart solcellepanel som kan være nyttig, spesielt når du reiser eller på camping utendørs. Dette er et hobbyprosjekt med
TFMini Lidar Display - Som radar bare med lys! :-): 3 trinn
TFMini Lidar Display - Like Radar Only With Light! :-): Det er en rekke ting som gikk sammen for å få dette til å fungere, men det største (og det som inspirerte meg til å gjøre det) er " Arduino Radar Project " funnet på howtomechatronics.com av Dejan Nedelkovski (dato ukjent). https: // howtomechatronics
$ 2 Arduino. ATMEGA328 som frittstående. Enkelt, billig og veldig lite. en komplett guide.: 6 trinn (med bilder)
$ 2 Arduino. ATMEGA328 som frittstående. Enkelt, billig og veldig lite. en komplett guide.: I denne instruksjonsboken lærer du hvordan du bruker Arduino ATMEGA328 mikrokontrollerbrikke som en frittstående mikrokontroller. De koster bare 2 dollar, kan gjøre det samme som din Arduino og gjøre prosjektene dine ekstremt små. Vi dekker pin -layouten
Benewake TFmini - Billig LiDAR Med Teensy 3.5: 3 trinn
Benewake TFmini - Billig LiDAR Med Teensy 3.5: Benewake TFmini LiDAR -enheten er en liten, veldig lett LiDAR -sensor for ca $ 50 kanadisk. Dokumentasjonen var god, men ufullstendig. Den ga detaljer om mottak av data fra sensoren, men glemte å nevne signalet som trengs for å sette sensoen
Komplett guide til fengselbrutt iPod: 7 trinn
Komplett guide til fengselbruddet iPod: Denne instruksen viser deg hvordan du tilpasser iPhone eller iPod touch med programvare som er ødelagt fengsel. *** Ansvarsfraskrivelse *** Fengsel ved bremsing av iPhone eller iPod touch deaktiverer garantien på den, så hvis den går i stykker, får du ikke en annen