Mục lục:
- Bước 1: Thu thập tài liệu
- Bước 2: Triển khai dựa trên PC bằng ứng dụng Benewake
- Bước 3: Triển khai dựa trên PC bằng Python (PySerial)
- Bước 4: Triển khai dựa trên Raspberry Pi
- Bước 5: Giới thiệu về mã
Video: Benewake LiDAR TFmini (Hướng dẫn đầy đủ): 5 bước (kèm hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Sự miêu tả
Mô-đun Benewake TFMINI Micro LIDAR có thiết kế quang học, cấu trúc và điện tử độc đáo. Sản phẩm sở hữu ba ưu điểm chính: giá thành rẻ, khối lượng siêu nhỏ và tiêu thụ điện năng thấp.
Thuật toán tích hợp được điều chỉnh phù hợp với môi trường trong nhà và ngoài trời có thể đảm bảo một hiệu suất đa dạng tuyệt vời với chi phí thấp và khối lượng nhỏ, giúp mở rộng đáng kể các lĩnh vực và kịch bản ứng dụng của LiDAR và đặt nền tảng vững chắc cho các “mắt” thông minh trong tương lai kỷ nguyên.
Thông số kỹ thuật
- Điện áp đầu vào: 5v
- Công suất trung bình: 0,12W
- Giao thức truyền thông: UART (Tốc độ truyền: 115200)
- Nhiệt độ hoạt động: -20 ℃ ~ 60 ℃
- FOV: 2.3 °
Kích thước
- Kích thước: 42mmx15mmx16mm
- Trọng lượng: 6.1g
Hạn chế
Phạm vi "mù" 0cm-30cm
Nơi để mua
- RobotShop
- Amazon
Hướng dẫn này yêu cầu bạn phải nắm rõ những điều sau:
- Điện tử cơ bản
- Dụng cụ cầm tay như máy cắt dây và máy thoát y
- Đọc sơ đồ và sơ đồ kết nối
- Lập trình C / C ++ cho Arduino (tùy chọn)
- Lập trình Python cho Raspberry Pi (tùy chọn)
Bước 1: Thu thập tài liệu
Tài liệu hướng dẫn này sẽ hướng dẫn bạn các cách triển khai TFmini LiDAR khác nhau bằng cách sử dụng Windows PC và Raspberry Pi. Mỗi phương pháp có các yêu cầu của nó và có thể khác nhau tùy theo nhu cầu của bạn.
** Bạn sẽ cần Benewake TFmini LiDAR cho từng trường hợp (tất nhiên) **
Đối với triển khai dựa trên PC:
- Hệ điều hành: Windows
- Bộ chuyển đổi USB-TTL
- Dây nhảy
Để triển khai dựa trên Raspberry Pi:
- Raspberry Pi
- Dây nhảy
- Đèn LED (tùy chọn)
- Bộ chuyển đổi USB-TTL (tùy chọn)
- Breadboard (tùy chọn)
- Điện trở (giữa 100-1k Ohm) (tùy chọn)
Bước 2: Triển khai dựa trên PC bằng ứng dụng Benewake
-
Kết nối TFmini LiDAR với bộ chuyển đổi USB-TTL bằng dây nhảy (đực-cái) theo sơ đồ được hiển thị
- Dây đỏ 5V
- Dây đen GND
- Dây trắng / xanh lam Tx
- Dây màu xanh lá cây Rx
- Cắm USB-TTL vào máy tính của bạn
- Đi tới Trình quản lý Thiết bị (Win + X) và tìm "Cổng kết nối USB-to-Serial sung mãn" trong Cổng (COM & LPT). Đảm bảo rằng Windows nhận ra thiết bị
- Tải xuống và giải nén.rar WINCC_TF
- Chạy WINCC_TFMini.exe từ các tệp được giải nén
- Chọn cổng COM tương ứng từ menu thả xuống trong Ứng dụng Benewake dưới tiêu đề Cổng nối tiếp
- Nhấp vào KẾT NỐI
Bước 3: Triển khai dựa trên PC bằng Python (PySerial)
- Kết nối TFmini LiDAR với PC bằng bộ chuyển đổi USB-TTL
- Tải xuống và mở PC_Benewake_TFmini_LiDAR.py bằng Python IDLE (đảm bảo bạn đã cài đặt PySerial và Python trên PC của mình)
- Chỉnh sửa cổng COM trong mã để khớp với cổng COM của bộ chuyển đổi USB-TTL trên PC của bạn (xem hình ảnh)
- Nhấp vào Run tab
- Nhấp vào Chạy mô-đun
** Tham khảo Bước-5 để biết giải thích về mã
Bước 4: Triển khai dựa trên Raspberry Pi
- Kết nối TFmini LiDAR với RPi bằng bộ chuyển đổi USB-TTL hoặc cổng UART bằng GPIO
- Tải xuống và mở Pi_benewake_LiDAR.py bằng Python IDLE
- Nếu bạn đang sử dụng bộ chuyển đổi USB-TTL với RPi, hãy mở Arduino IDE. Nhấp vào Công cụ -> Cổng nối tiếp và chỉnh sửa mã cho phù hợp. Nếu bạn đang sử dụng cổng UART GPIO, hãy ghi / dev / ttyAMA0
- Chạy mã
** Mã có thể được sử dụng để in khoảng cách, nhưng vì RPi không có nhiều năng lượng xử lý, nên thắp sáng đèn LED nếu khoảng cách được ghi dưới một phạm vi nhất định (sơ đồ cho đèn LED có gắn RPi)
Q. Tại sao sử dụng bộ chuyển đổi USB-TTL với RPi?
RPi chỉ có một cổng UART và đôi khi bạn cần đặt một vài mô-đun yêu cầu giao tiếp UART. USB-TTL cung cấp một cổng UART bổ sung cho RPi, tạo cơ hội cho chúng tôi kết nối nhiều thiết bị UART (như hai hoặc nhiều TFmini LiDAR) với RPi.
Bước 5: Giới thiệu về mã
Mã có thể được chia thành ba phần:
- Thiết lập kết nối
- Ghi dữ liệu
- Đọc dữ liệu
Thiết lập kết nối:
Sau khi nhập các tệp tiêu đề cần thiết, chúng tôi thiết lập kết nối với TFmini LiDAR của chúng tôi bằng cách nêu rõ cổng COM, tốc độ truyền và thời gian chờ kết nối
ser = serial. Serial ('COM7', 115200, timeout = 1) #PC
ser = serial. Serial ('/ dev / ttyUSB1', 115200, timeout = 1) #Raspberry Pi
Ghi dữ liệu:
Mã có thể được chia thành hai phần, viết và nhận. Để nhận dữ liệu, bạn cần chuyển một lệnh nhất định tới TFmini LiDAR (một phần của quá trình khởi tạo). Trong trường hợp này, tôi đã chọn 4257020000000106. Mặc dù RPi chạy cùng một phiên bản Python nhưng có một chút thay đổi về cú pháp vì RPi không chấp nhận dữ liệu khác ngoài hệ nhị phân.
ser.write (0x42)
ser.write (0x57) ser.write (0x02) ser.write (0x00) ser.write (0x00) ser.write (0x00) ser.write (0x01) ser.write (0x06)
Đọc dữ liệu:
Biểu đồ được cung cấp trong bảng dữ liệu cung cấp cho chúng ta 'phân tích' của thông điệp 9 Byte UART. Hai byte đầu tiên là tiêu đề khung có giá trị là hex 0x59 (ký tự 'Y'). Chúng có thể được đọc và sử dụng để xác định thời điểm bắt đầu của thông điệp UART.
if (('Y' == ser.read ()) và ('Y' == ser.read ())):
Khi khung tiêu đề được đọc, hai byte tiếp theo, mang dữ liệu khoảng cách, có thể được đọc. Dữ liệu khoảng cách được chia thành hai gói 8 bit, Dist_L (Byte3) - 8 bit thấp hơn và Dist_H (Byte4) - 8 bit cao hơn.
Dist_L = ser.read () # Byte3Dist_H = ser.read () # Byte4
Bằng cách nhân Dist_H với 256, dữ liệu nhị phân được dịch sang trái bằng 8 (tương đương với "<< 8"). Bây giờ, dữ liệu khoảng cách 8 bit thấp hơn, Dist_L, có thể được thêm vào một cách đơn giản dẫn đến dữ liệu 16 bit của Dist_Total.
Dist_Total = (ord (Dist_H) * 256) + (ord (Dist_L))
Vì chúng ta có giá trị khoảng cách 'đã giải mã' với mình, nên có thể bỏ qua năm byte tiếp theo. Lưu ý rằng dữ liệu đã đọc không được lưu trữ ở bất kỳ đâu.
cho tôi trong phạm vi (0, 5): ser.read ()
** Ở một số nơi khác, bạn có thể thấy 'delay' (time.sleep trong Python) được kết hợp trước khi kết thúc vòng lặp vì lý do TFmini LiDAR có tần số hoạt động 100Hz. Sự chậm trễ này 'trì hoãn chương trình' và sẽ dẫn đến việc dữ liệu được CẬP NHẬT sau một thời gian trễ. Tôi tin rằng vì chúng tôi đã chờ dữ liệu chồng chất lên đến 9-byte, nên sẽ không có bất kỳ sự chậm trễ nào khác
# time.sleep (0,0005) # Độ trễ được nhận xét là đã xảy ra
while (ser.in_waiting> = 9):
Đề xuất:
Màn hình TFMini Nắp đậy - Giống như Radar Chỉ với Ánh sáng! :-): 3 bước
Màn hình TFMini Lidar - Giống như Radar Chỉ Với Ánh sáng! :-): Có một số thứ kết hợp với nhau để làm nên công việc này, nhưng điều lớn nhất (và điều đã truyền cảm hứng cho tôi làm điều đó) là " Dự án Arduino Radar " được tìm thấy trên howtomechatronics.com bởi Dejan Nedelkovski (không rõ ngày tháng). https: // howtomechatronics
Cách tạo bảng mạch in chuyên nghiệp: Hướng dẫn đầy đủ: 10 bước (kèm hình ảnh)
Cách tạo bảng mạch in chuyên nghiệp: Hướng dẫn hoàn chỉnh: Xin chào mọi người, hôm nay tôi sẽ hướng dẫn các bạn cách tạo bảng mạch in chuyên nghiệp để cải thiện các dự án điện tử của bạn. Hãy bắt đầu
2 đô la Arduino. ATMEGA328 Là một độc lập. Dễ dàng, rẻ và rất nhỏ. Hướng dẫn đầy đủ: 6 bước (có hình ảnh)
2 đô la Arduino. ATMEGA328 Là một độc lập. Dễ dàng, rẻ và rất nhỏ. Hướng dẫn đầy đủ: Trong tài liệu hướng dẫn này, bạn sẽ học cách sử dụng chip vi điều khiển Arduino ATMEGA328 như một vi điều khiển độc lập. Chúng chỉ có giá 2 đô la, có thể hoạt động tương tự như Arduino của bạn và làm cho các dự án của bạn cực kỳ nhỏ
Benewake TFmini - LiDAR không tốn kém với Teensy 3,5: 3 bước
Benewake TFmini - LiDAR không đắt với Teensy 3.5: Đơn vị Benewake TFmini LiDAR là một cảm biến LiDAR nhỏ, trọng lượng rất nhẹ với giá khoảng 50 đô la Canada. Tài liệu tốt, nhưng không đầy đủ. Nó cung cấp thông tin chi tiết về việc nhận dữ liệu từ cảm biến, nhưng quên đề cập đến tín hiệu cần thiết để đặt cảm biến
Bộ đếm xem hướng dẫn + Hướng dẫn ESP8266: 6 bước (có hình ảnh)
Bộ đếm lượt xem hướng dẫn + Hướng dẫn ESP8266: Bộ đếm số người đăng ký cho Youtube và Facebook khá phổ biến, nhưng tại sao không tạo một cái gì đó tương tự cho Bộ đếm hướng dẫn? Đó chính xác là những gì chúng ta sẽ làm: trong hướng dẫn này, chúng tôi sẽ tạo bộ đếm lượt xem Người hướng dẫn! lượt xem sẽ phải được captu