Mục lục:
- Bước 1: Kết nối TFmini với Teensy 3.5 (tương tự cho Arduino Mega)
- Bước 2: Mã để chạy nó
- Bước 3: Sử dụng Arduino IDE Xem kết quả trong Máy vẽ nối tiếp
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Đơ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 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 để đưa cảm biến vào chế độ mặc định để nó thực sự gửi dữ liệu. May mắn thay, đó là trong tài liệu gỡ lỗi.
Vì vậy, đây là những gì đã làm việc cho tôi và nó thực sự là một thiết bị dễ sử dụng.
Tôi đã chọn sử dụng Teensy 3.5 vì nó có nhiều cổng HW Serial, nó đủ nhanh để nhận dữ liệu và xử lý mà không để dữ liệu chồng chất. Để giải trí, tôi đã sử dụng thư viện Teensy Threading để tách việc lấy dữ liệu khỏi phần còn lại của mã.
Bước 1: Kết nối TFmini với Teensy 3.5 (tương tự cho Arduino Mega)
Ví dụ này yêu cầu hai kết nối nối tiếp: một với TFmini và một để hiển thị kết quả trên máy tính của bạn. Vì lý do này, và theo như tôi có thể nói, chỉ vì lý do này, ví dụ cụ thể này sẽ không hoạt động trên bất kỳ thứ gì bên dưới Arduino Mega hoặc Teensy 3.x.
Điều đó đang được nói, đối với các ứng dụng không yêu cầu đầu ra nối tiếp để in ra màn hình máy tính, cùng một dự án nên có thể thích ứng được.
Sử dụng dây nịt bao gồm:
1) kết nối dây đen với Teensy GND (nếu sử dụng nguồn VDC khác nhau, đảm bảo nối đất cũng đi đến GND trên Teensy)
2) kết nối dây màu đỏ với Teensy Vin (hoặc nguồn 5VDC)
3) kết nối dây trắng (TFmini RX) với chân 1 trên Teensy (Serial1 TX)
4) kết nối dây màu xanh lá cây (TFmini TX) với chân 0 trên Teensy (Serial RX)
Dây nịt đi kèm quá nhỏ để tôi làm việc với bảng mạch bánh mì, vì vậy tôi đã cắt đầu đối diện với TFmini và hàn dây vào bảng mạch bánh mì, thêm đầu nối JST vào bảng ngắt và tạo JST cho cầu nhảy nam dây nịt.
Bước 2: Mã để chạy nó
Sử dụng mã sau (cho Teensy 3.5) hoặc tải xuống tệp đính kèm:
Đối với Arduino Mega, khả năng phân luồng sẽ không hoạt động. Di chuyển mã từ hàm readLiDAR sang vòng lặp chính và xóa bất kỳ thứ gì liên quan đến luồng.
#include #include "TeensyThreads.h"
// Sử dụng cáp đi kèm:
// - Black = GND (kết nối với GND) // - Red = 5V (4.5 - 6.0V) (kết nối với Vin trên Teensy 3.5 hoặc 5V trên Arduino) // - White = TFmini RX (hay còn gọi là kết nối với vi điều khiển TX, pin1 trên Teensy 3.5) // - Green = TFmini TX (còn gọi là. kết nối với vi điều khiển RX, pin0 trên Teensy 3.5) // LƯU Ý: đối với bản phác thảo này, bạn cần một bộ vi điều khiển với các cổng nối tiếp bổ sung ngoài cổng kết nối với cáp USB / / Điều này bao gồm Arduino MEGA (sử dụng Serial1), Teensy (3.x) (sử dụng một trong các kết nối HW Serial có sẵn)
dễ bay hơi int liDARval = 0;
void readLiDAR () {
// Định dạng dữ liệu cho Benewake TFmini // =============================== // Tổng số 9 byte cho mỗi tin nhắn: // 1) 0x59 // 2) 0x59 // 3) Dist_L (8bit thấp) // 4) Dist_H (8bit cao) // 5) Strength_L (8bit thấp) // 6) Strength_H (8bit cao) // 7) Các byte dành riêng // 8) Mức chất lượng tín hiệu gốc // 9) Bit chẵn lẻ Checksum (8bit thấp), Checksum = Byte1 + Byte2 +… + Byte8. Đây chỉ là 8 bit thấp mặc dù while (1) {// Tiếp tục hoạt động mãi mãi trong khi (Serial1.available ()> = 9) // Khi có ít nhất 9 byte dữ liệu (số byte dự kiến cho 1 tín hiệu), thì read {if ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // byte 1 và byte 2 {unsigned int t1 = Serial1.read (); // byte 3 = Dist_L unsigned int t2 = Serial1.read (); // byte 4 = Dist_H t2 << = 8; t2 + = t1; liDARval = t2; t1 = Serial1.read (); // byte 5 = Strength_L t2 = Serial1.read (); // byte 6 = Strength_H t2 << = 8; t2 + = t1; for (int i = 0; i <3; i ++) Serial1.read (); // byte 7, 8, 9 bị bỏ qua}}}}
void setup ()
{Serial1.begin (115200); // HW Serial cho TFmini Serial.begin (115200); // Đầu ra nối tiếp qua USB đến máy tính delay (100); // Cho một chút thời gian để mọi thứ bắt đầu // Đặt ở chế độ Đầu ra chuẩn Serial1.write (0x42); Serial1.write (0x57); Serial1.write (0x02); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x01); Serial1.write (0x06); // Thiết lập luồng để đọc đầu vào nối tiếp từ TFmini thread.addThread (readLiDAR); }
void loop ()
{trì hoãn (10); // Không muốn đọc quá thường xuyên như các mẫu TFmini ở 100Hz Serial.println (liDARval); }
Bước 3: Sử dụng Arduino IDE Xem kết quả trong Máy vẽ nối tiếp
Bạn có thể sử dụng bất kỳ phương pháp nào bạn muốn, nhưng IDE của Arduino sẽ vẽ các kết quả một cách độc đáo.
Kết nối với Teensy và mở Serial Monitor. Đảm bảo Baudrate được đặt thành 115200.
Đề xuất:
Máy ép phô mai đơn giản và không tốn kém: 6 bước (có hình ảnh)
Máy ép phô mai đơn giản và không tốn kém: Làm phô mai là một thuật giả kim tuyệt vời giúp biến sữa thành một hỗn hợp có nhiều kết cấu và hương vị khác nhau. Lối vào đối với tôi là ricotta, một loại pho mát dễ chế biến và dễ tha thứ mà không cần thiết bị hay vật tư cầu kỳ. Mozzarella đến tiếp theo, als
Bluetooth RC Car với STM32F103C và L293D - Không tốn kém: 5 bước
Ô tô Bluetooth RC với STM32F103C và L293D - Không tốn kém: Tôi đã tạo một ô tô Bluetooth Arduino giống như mô tả ở đây, bởi Ardumotive_com. Vấn đề tôi gặp phải là pin và trọng lượng cũng như chi phí của chúng. Kể từ đó, các bộ sạc dự phòng giá rẻ cho điện thoại di động đã trở nên rất phải chăng. Tất cả những gì tôi cần
Tăng cường NCVT không tốn kém này: 6 bước (có hình ảnh)
Nâng cao NCVT không tốn kém này: NCVT là thiết bị kiểm tra điện áp không tiếp xúc. Chúng có thể rất tiện dụng, mặc dù không phải là một chỉ báo đáng tin cậy khi không có điện áp đường dây. Phụ thuộc nhiều vào độ nhạy của người kiểm tra và kỹ thuật của người sử dụng. Phương pháp được khuyến nghị là kiểm tra trình thử nghiệm
Độ bền cao hoặc đôi Robot song song 5R, 5 trục (DOF) Không tốn kém, Khó, Điều khiển chuyển động: 3 bước (có Hình ảnh)
Tensegrity hoặc Double 5R Robot song song, 5 trục (DOF) Không tốn kém, dai, điều khiển chuyển động: Tôi hy vọng bạn sẽ nghĩ đây là ý tưởng LỚN cho ngày của bạn! Đây là một bài dự thi trong cuộc thi Người máy học hướng dẫn kết thúc vào ngày 2 tháng 12 năm 2019. Dự án đã lọt vào vòng đánh giá cuối cùng và tôi không có thời gian để thực hiện các cập nhật mà tôi muốn! Tôi có
Vui nhộn Micro: Robot bit - DỄ DÀNG và Không tốn kém !: 17 Bước (kèm Hình ảnh)
Fun Micro: bit Robot - DỄ DÀNG và Không tốn kém !: BBC micro: bit thật tuyệt vời! Chúng rất dễ lập trình, được tích hợp các tính năng như Bluetooth và cảm biến gia tốc và chúng không đắt. Dự án này được lấy cảm hứng từ