Агуулгын хүснэгт:

Benewake LiDAR TFmini (Бүрэн гарын авлага): 5 алхам (зурагтай)
Benewake LiDAR TFmini (Бүрэн гарын авлага): 5 алхам (зурагтай)

Видео: Benewake LiDAR TFmini (Бүрэн гарын авлага): 5 алхам (зурагтай)

Видео: Benewake LiDAR TFmini (Бүрэн гарын авлага): 5 алхам (зурагтай)
Видео: Benewake TFmini-S — лазерный дальномер на 12 метров для Arduino и Raspberry. Железки Амперки 2024, Арваннэгдүгээр
Anonim
Benewake LiDAR TFmini (Бүрэн гарын авлага)
Benewake LiDAR TFmini (Бүрэн гарын авлага)
Benewake LiDAR TFmini (Бүрэн гарын авлага)
Benewake LiDAR TFmini (Бүрэн гарын авлага)

Тодорхойлолт

Benewake TFMINI Micro LIDAR модуль нь өвөрмөц оптик, бүтэц, электрон загвартай. Бүтээгдэхүүн нь гурван үндсэн давуу талтай: бага өртөг, бага оврын хэмжээ, бага эрчим хүчний хэрэглээ.

Дотор болон гадна орчинд дасан зохицсон алгоритм нь LiDAR-ийн хэрэглээний талбар, сценарийг маш өргөжүүлж, ухаалаг хүний ирээдүйн "нүд" -ний бат бөх суурийг тавьж өгдөг. эрин үе.

Үзүүлэлтүүд

  • Оролтын хүчдэл: 5v
  • Дундаж хүч: 0.12W
  • Харилцааны протокол: UART (Baud rate: 115200)
  • Ашиглалтын температур: -20 ℃ ~ 60 ℃
  • FOV: 2.3 °

Хэмжээ

  • Хэмжээ: 42mmx15mmx16mm
  • Жин: 6.1 гр

Хязгаарлалт

0см-30см "сохор" хүрээ

Хаанаас худалдаж авах вэ

  • RobotShop
  • Амазон

Энэхүү зааварчилгаа нь дараахь зүйлийг мэддэг байхыг шаарддаг.

  • Үндсэн электроник
  • Утас таслагч, хуулагч гэх мэт гар багаж
  • Схем ба холболтын схемийг унших
  • Arduino -д зориулсан C/C ++ програмчлал (заавал биш)
  • Raspberry Pi -д зориулсан Python програмчлал (заавал биш)

Алхам 1: Материалыг цуглуулах

Цуглуулах материал
Цуглуулах материал
Цуглуулах материал
Цуглуулах материал
Цуглуулах материал
Цуглуулах материал

Энэхүү зааварчилгаа нь Windows PC болон Raspberry Pi ашиглан TFmini LiDAR -ийг байршуулах янз бүрийн арга замыг танд өгөх болно. Арга тус бүр өөрийн гэсэн шаардлага тавьдаг бөгөөд таны шаардлагаас хамааран өөр өөр байж болно.

** Танд тохиолдол бүрт Benewake TFmini LiDAR хэрэгтэй болно (мэдээж) **

Компьютер дээр суурилсан хэрэгжилтийн хувьд:

  • OS: Windows
  • USB-TTL хөрвүүлэгч
  • Холбогч утас

Raspberry Pi дээр суурилсан хэрэгжилтийн хувьд:

  • Raspberry Pi
  • Холбогч утас
  • LED (заавал биш)
  • USB-TTL хөрвүүлэгч (заавал биш)
  • Breadboard (заавал биш)
  • Эсэргүүцэл (100-1k Ом хооронд) (заавал биш)

Алхам 2: Benewake програм ашиглан компьютер дээр суурилсан хэрэгжилт

Benewake програмыг ашиглан компьютер дээр суурилсан хэрэгжилт
Benewake програмыг ашиглан компьютер дээр суурилсан хэрэгжилт
Benewake програмыг ашиглан компьютер дээр суурилсан хэрэгжилт
Benewake програмыг ашиглан компьютер дээр суурилсан хэрэгжилт
  1. TFmini LiDAR-ийг USB-TTL хөрвүүлэгч рүү холбогч (эрэгтэй-эмэгтэй) утсыг ашиглан үзүүлсэн схемийн дагуу холбоно уу.

    • Улаан утас 5V
    • Хар утас GND
    • Цагаан/Цэнхэр утас Tx
    • Ногоон утас Rx
  2. USB-TTL-ийг компьютерт холбоно уу
  3. Төхөөрөмжийн менежер (Win + X) руу очоод портуудын (COM & LPT) доор "USB-ээс цуваа дамжуулах дамжуулах порт" -ыг олоорой. Windows төхөөрөмжийг таньж байгаа эсэхийг шалгаарай
  4. WINCC_TF.rar татаж аваад задлах
  5. Олж авсан файлуудаас WINCC_TFMini.exe -ийг ажиллуулна уу
  6. Benewake App-ийн Цуваа порт гарчгийн гарч ирэх цэснээс харгалзах COM портыг сонгоно уу
  7. CONNECT дарна уу

Алхам 3: Python (PySerial) ашиглан компьютер дээр суурилсан хэрэгжилт

Python (PySerial) ашиглан компьютерт суурилсан хэрэгжилт
Python (PySerial) ашиглан компьютерт суурилсан хэрэгжилт
  1. USB-TTL хөрвүүлэгч ашиглан TFmini LiDAR-ийг компьютерт холбоно уу
  2. Python IDLE ашиглан PC_Benewake_TFmini_LiDAR.py татаж аваад нээнэ үү (таны компьютер дээр PySerial болон Python суулгасан эсэхийг шалгаарай)
  3. Компьютер дээрх USB-TTL хөрвүүлэгчийн COM порттой нийцэхийн тулд COM портыг кодоор засаарай (зургийг үзнэ үү)
  4. Run tab дээр дарна уу
  5. Run Module дээр дарна уу

** Кодын тайлбарыг 5-р алхамаас үзнэ үү

Алхам 4: Raspberry Pi дээр суурилсан хэрэгжилт

Raspberry Pi дээр суурилсан хэрэгжилт
Raspberry Pi дээр суурилсан хэрэгжилт
Raspberry Pi дээр суурилсан хэрэгжилт
Raspberry Pi дээр суурилсан хэрэгжилт
Raspberry Pi дээр суурилсан хэрэгжилт
Raspberry Pi дээр суурилсан хэрэгжилт
Raspberry Pi дээр суурилсан хэрэгжилт
Raspberry Pi дээр суурилсан хэрэгжилт
  1. USB-TTL хөрвүүлэгч эсвэл GPIO ашиглан UART порт ашиглан TFmini LiDAR-ийг RPi руу холбоно уу
  2. Python IDLE ашиглан Pi_benewake_LiDAR.py програмыг татаж аваад нээнэ үү
  3. Хэрэв та RPi бүхий USB-TTL хөрвүүлэгч ашиглаж байгаа бол Arduino IDE-ийг нээнэ үү. Багаж хэрэгсэл -> Цуваа порт дээр дарж кодыг зохих ёсоор засварлана уу. Хэрэв та UART GPIO порт ашиглаж байгаа бол /dev /ttyAMA0 гэж бичнэ үү
  4. Кодыг ажиллуулна уу

** Энэ кодыг зайг хэвлэхэд ашиглаж болох боловч RPi нь боловсруулах хүчин чадал багатай тул бүртгэсэн зай нь тодорхой хязгаараас доогуур байвал LED асаахыг зөвлөж байна (RPi бүхий LED схемийг хавсаргасан болно)

Q. Яагаад USB-TTL хөрвүүлэгчийг RPi-тай ашиглах ёстой вэ?

RPi нь зөвхөн нэг UART порттой бөгөөд заримдаа UART холболт шаарддаг цөөн хэдэн модулийг оруулах шаардлагатай болдог. USB-TTL нь RPi-д нэмэлт UART порт өгдөг бөгөөд бидэнд нэгээс олон UART төхөөрөмжийг (хоёр ба түүнээс дээш TFmini LiDAR гэх мэт) RPi руу холбох боломжийг олгодог.

Алхам 5: Кодын тухай

Кодын тухай
Кодын тухай

Кодыг гурван хэсэгт хувааж болно.

  • Холбоо тогтоож байна
  • Өгөгдөл бичих
  • Өгөгдөл уншиж байна

Холболт үүсгэж байна:

Шаардлагатай толгой файлуудыг импортлосны дараа бид TFmini LiDAR-тай COM порт, Baud-ийн хурд, холболтын завсарлага зэргийг зааж өгч холболт тогтоодог.

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

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

Өгөгдөл бичих:

Кодыг бичих, хүлээн авах гэсэн хоёр хэсэгт хувааж болно. Өгөгдөл хүлээн авахын тулд та тодорхой тушаалыг TFmini LiDAR руу шилжүүлэх хэрэгтэй (эхлүүлэх процессын нэг хэсэг). Энэ тохиолдолд би 4257020000000106 -г сонгосон. Хэдийгээр RPi нь Python -ийн ижил хувилбарыг ажиллуулдаг боловч RPi нь хоёртын файлаас бусад өгөгдлийг хүлээн авдаггүй тул синтакс дээр бага зэрэг өөрчлөлт орсон байдаг.

ser.write (0x42)

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

Өгөгдлийг унших:

Мэдээллийн хүснэгтэд өгсөн диаграм нь 9 байтын UART мессежийн "задаргаа" -г бидэнд өгдөг. Эхний хоёр байт нь 0x59 ("Y" тэмдэгт) утгатай хүрээний толгой юм. UART мессежийн эхлэлийг тодорхойлохын тулд тэдгээрийг уншиж, ашиглаж болно.

хэрэв (('Y' == ser.read ()) ба ('Y' == ser.read ())):

Толгойн хүрээг уншсаны дараа зайны өгөгдлийг агуулсан дараагийн хоёр байтыг уншиж болно. Зайны өгөгдлийг 8 битийн хоёр пакет болгон хуваадаг: Dist_L (Byte3) - Lower 8bits ба Dist_H (Byte4) - Higher 8bits.

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

Dist_H -ийг 256 -аар үржүүлснээр хоёртын өгөгдлийг 8 -р зүүн тийш шилжүүлнэ ("<< 8" -той тэнцүү). Одоо 8 битийн зайны хамгийн бага өгөгдөл болох Dist_L-ийг нэмж оруулснаар Dist_Total-ийн 16 битийн өгөгдөл гарна.

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

Бидэнд "тайлсан" зайны утга байгаа тул дараагийн таван байтыг үл тоомсорлож болно. Уншсан өгөгдлийг хаана ч хадгалахгүй гэдгийг анхаарна уу.

i -ийн хувьд (0, 5): ser.read ()

** Өөр газарт та TFmini LiDAR нь 100 Гц давтамжтай байдаг тул давталт дуусахаас өмнө "саатал" (Python дахь унтах хугацаа) -ыг олж болно. Энэхүү саатал нь "програмын саатал" бөгөөд хэсэг хугацааны дараа өгөгдлийг ШИНЭЧЛЭХ болно. Бид өгөгдлийг 9 байт хүртэл овоолохыг хүлээж байгаа тул өөр ямар ч саатал гарах ёсгүй гэж би бодож байна.

#time.sleep (0.0005) #Хойшлогдсоныг тайлбарласан болно

байхад (ser.in_waiting> = 9):

Зөвлөмж болгож буй: