สารบัญ:
- ขั้นตอนที่ 1: เชื่อมต่อ TFmini กับ Teensy 3.5 (คล้ายกับ Arduino Mega)
- ขั้นตอนที่ 2: รหัสเพื่อเรียกใช้
- ขั้นตอนที่ 3: การใช้ Arduino IDE ดูผลลัพธ์ใน Serial Plotter
วีดีโอ: Benewake TFmini - LiDAR ราคาไม่แพงพร้อม Teensy 3.5: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
หน่วย Benewake TFmini LiDAR เป็นเซ็นเซอร์ LiDAR ขนาดเล็กและน้ำหนักเบามากในราคาประมาณ 50 เหรียญแคนาดา เอกสารก็ดีแต่ไม่ครบ มันให้รายละเอียดเกี่ยวกับการรับข้อมูลจากเซ็นเซอร์ แต่ลืมพูดถึงสัญญาณที่จำเป็นในการทำให้เซ็นเซอร์เข้าสู่โหมดเริ่มต้นเพื่อให้ส่งข้อมูลได้จริง โชคดีที่อยู่ในเอกสารการดีบัก
นี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน และเป็นอุปกรณ์ที่ใช้งานง่ายจริงๆ
ฉันเลือกใช้ Teensy 3.5 เนื่องจากมีพอร์ต HW Serial หลายพอร์ต มันเร็วเกินพอที่จะรับข้อมูลและประมวลผลโดยไม่ปล่อยให้ข้อมูลกองพะเนินเทินทึก เพื่อความสนุกสนานฉันใช้ไลบรารี Teensy Threading เพื่อแยกการรับข้อมูลจากโค้ดที่เหลือ
ขั้นตอนที่ 1: เชื่อมต่อ TFmini กับ Teensy 3.5 (คล้ายกับ Arduino Mega)
ตัวอย่างนี้ต้องการการเชื่อมต่อแบบอนุกรมสองแบบ: แบบหนึ่งไปยัง TFmini และอีกแบบหนึ่งเพื่อแสดงผลลัพธ์บนคอมพิวเตอร์ของคุณ ด้วยเหตุผลนี้ และเท่าที่ฉันสามารถบอกได้ เหตุผลนี้เท่านั้น ตัวอย่างนี้ใช้ไม่ได้กับสิ่งใด ๆ ที่ต่ำกว่า Arduino Mega หรือ Teensy 3.x
ดังที่กล่าวไว้ สำหรับแอปพลิเคชันที่ไม่ต้องการเอาต์พุตแบบอนุกรมในการพิมพ์ไปยังหน้าจอคอมพิวเตอร์ โปรเจ็กต์เดียวกันควรปรับเปลี่ยนได้
ใช้สายรัดที่ให้มา:
1) เชื่อมต่อสายสีดำกับ Teensy GND (หากใช้แหล่ง VDC ต่างกัน ให้กราวด์ไปที่ GND บน Teensy ด้วย)
2) เชื่อมต่อสายสีแดงกับ Teensy Vin (หรือแหล่ง 5VDC)
3) เชื่อมต่อสายสีขาว (TFmini RX) กับพิน 1 บน Teensy (Serial1 TX)
4) เชื่อมต่อสายสีเขียว (TFmini TX) เพื่อพิน 0 บน Teensy (Serial RX)
สายรัดที่ให้มานั้นเล็กเกินไปสำหรับฉันที่จะใช้งานบนบอร์ดขนมปัง ดังนั้นฉันจึงตัดปลายด้านตรงข้าม TFmini และบัดกรีสายไฟเข้ากับเขียงหั่นขนม เพิ่มตัวเชื่อมต่อ JST เข้ากับเบรกบอร์ด และทำ JST กับจัมเปอร์ตัวผู้ สายรัด.
ขั้นตอนที่ 2: รหัสเพื่อเรียกใช้
ใช้รหัสต่อไปนี้ (สำหรับ Teensy 3.5) หรือดาวน์โหลดไฟล์แนบ:
สำหรับ Arduino Mega เธรดน่าจะใช้งานไม่ได้ ย้ายโค้ดจากฟังก์ชัน readLiDAR ไปยังลูปหลัก และลบสิ่งที่เกี่ยวข้องกับเธรด
#include #include "TeensyThreads.h"
// ใช้สายเคเบิลที่ให้มา:
// - สีดำ = GND (เชื่อมต่อกับ GND) // - สีแดง = 5V (4.5 - 6.0V) (เชื่อมต่อกับ Vin บน Teensy 3.5 หรือ 5V บน Arduino) // - สีขาว = TFmini RX (หรือที่รู้จักว่าเชื่อมต่อกับไมโครคอนโทรลเลอร์ TX, pin1 บน Teensy 3.5) // - Green = TFmini TX (หรือที่รู้จักว่าเชื่อมต่อกับไมโครคอนโทรลเลอร์ RX, pin0 บน Teensy 3.5) // หมายเหตุ: สำหรับภาพร่างนี้ คุณต้องมีไมโครคอนโทรลเลอร์ที่มีพอร์ตอนุกรมเพิ่มเติมนอกเหนือจากพอร์ตที่เชื่อมต่อกับสาย USB / / รวมถึง Arduino MEGA (ใช้ Serial1), Teensy (3.x) (ใช้การเชื่อมต่อ HW Serial ที่มีอยู่อย่างใดอย่างหนึ่ง)
liDARval int ผันผวน = 0;
เป็นโมฆะ readLiDAR (){
// รูปแบบข้อมูลสำหรับ Benewake TFmini // ============================== // 9 ไบต์ทั้งหมดต่อข้อความ: // 1) 0x59 // 2) 0x59 // 3) Dist_L (ต่ำ 8 บิต) // 4) Dist_H (สูง 8 บิต) // 5) Strength_L (ต่ำ 8 บิต) // 6) Strength_H (สูง 8 บิต) // 7) ไบต์ที่สงวนไว้ // 8) ระดับคุณภาพสัญญาณดั้งเดิม // 9) Checksum parity bit (ต่ำ 8 บิต), Checksum = Byte1 + Byte2 +…+Byte8 นี่เป็นเพียง 8 บิตที่ต่ำแม้ว่าในขณะที่(1){ // ทำต่อไปชั่วขณะ (Serial1.available()>=9) // เมื่อมีข้อมูลอย่างน้อย 9 ไบต์ (จำนวนไบต์ที่คาดไว้สำหรับ 1 สัญญาณ) ดังนั้น อ่าน { ถ้า ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // ไบต์ 1 และไบต์ 2 { unsigned int t1 = Serial1.read (); // ไบต์ 3 = Dist_L int ที่ไม่ได้ลงนาม t2 = Serial1.read (); // ไบต์ 4 = Dist_H t2 <<= 8; t2 += t1; liDARval = t2; t1 = Serial1.read(); // ไบต์ 5 = Strength_L t2 = Serial1.read(); // ไบต์ 6 = Strength_H t2 <<= 8; t2 += t1; สำหรับ(int i=0; i<3; i++)Serial1.read(); // ไบต์ 7, 8, 9 ถูกละเว้น } } } }
การตั้งค่าเป็นโมฆะ ()
{ Serial1.begin (115200); // HW Serial สำหรับ TFmini Serial.begin (115200); // เอาต์พุตแบบอนุกรมผ่าน USB ไปยังคอมพิวเตอร์ล่าช้า (100); // ให้เวลาเล็กน้อยสำหรับการเริ่มต้น // ตั้งค่าเป็นโหมดเอาต์พุตมาตรฐาน Serial1.write(0x42); Serial1.write(0x57); Serial1.write(0x02); Serial1.write(0x00); Serial1.write(0x00); Serial1.write(0x00); Serial1.write(0x01); Serial1.write(0x06); // ตั้งค่าเธรดสำหรับอ่านอินพุตแบบอนุกรมจาก TFmini threads.addThread (readLiDAR); }
วงเป็นโมฆะ ()
{ ล่าช้า(10); // ไม่ต้องการอ่านบ่อยเกินไปเหมือน TFmini ตัวอย่างที่ 100Hz Serial.println(liDARval); }
ขั้นตอนที่ 3: การใช้ Arduino IDE ดูผลลัพธ์ใน Serial Plotter
คุณสามารถใช้วิธีใดก็ได้ที่คุณต้องการ แต่ IDE ของ Arduino จะพล็อตผลลัพธ์อย่างดี
เชื่อมต่อกับ Teensy และเปิด Serial Monitor ตรวจสอบให้แน่ใจว่าตั้งค่า Baudrate เป็น 115200
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
ระบบไฟคลับด้วย MadMapper & Teensy 3.2: 14 ขั้นตอน
ระบบไฟคลับด้วย MadMapper & Teensy 3.2: ในปี 2018 ฉันได้สร้างระบบไฟคลับราคาประหยัดรุ่นแรกสำหรับงานเลี้ยงส่งท้ายปีเก่าในเมืองรามัลเลาะห์ปาเลสไตน์พร้อมกับกลุ่มของฉัน The UNION ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องราวและส่วนรวมในตอนท้าย บทความ. ระบบนี้ใช้ WS2812
Arduino-Teensy4 สำหรับ Teensy 4.0 - การประกอบแบบเต็ม: 10 ขั้นตอน
Arduino-Teensy4 สำหรับ Teensy 4.0 - การประกอบแบบเต็ม: คำแนะนำนี้จะแนะนำคุณเกี่ยวกับการประกอบบอร์ดขยาย Arduino-Teensy4 สำหรับ Teensy 4.0 คุณสามารถซื้อได้จากร้าน Tindie ของฉันที่นี่: https://www.tindie.com/products/ cburgess129/arduin…คุณสามารถสั่ง Teensy 4 ไปพร้อมกับโบ
วิธีใช้ Teensy เพื่อพิมพ์รูปภาพบน Splatoon 2 โดยใช้เครื่องพิมพ์ SplatPost: 10 ขั้นตอน
วิธีใช้ Teensy เพื่อพิมพ์รูปภาพบน Splatoon 2 โดยใช้เครื่องพิมพ์ SplatPost: ในคำแนะนำนี้ ฉันจะแสดงวิธีใช้เครื่องพิมพ์ SplatPost โดย ShinyQuagsire หากไม่มีคำแนะนำที่ชัดเจน คนที่ไม่เคยมีประสบการณ์กับบรรทัดคำสั่งจะมีปัญหาเล็กน้อย เป้าหมายของฉันคือลดความซับซ้อนของขั้นตอนลงไปที่จุด
Photo Booth Big Red Button: Teensy LC: 3 ขั้นตอน (พร้อมรูปภาพ)
Photo Booth Big Red Button: Teensy LC: หลายปีก่อน ฉันสร้างบูธภาพถ่าย DIY แบบเปิดโล่งสำหรับงานแต่งงานของเพื่อน ฉันใช้ "บูธ" หลายครั้งสำหรับเหตุการณ์ต่างๆ แต่ต้องการเปลี่ยนแปลงการตั้งค่าเพื่อให้การกำหนดค่าง่ายขึ้น โดยทั่วไป กล้อง dSLR บนขาตั้งกล้อง และแล