สารบัญ:
- ขั้นตอนที่ 1: เราต้องสร้างสิ่งนี้อย่างไร…
- ขั้นตอนที่ 2: ซอฟต์แวร์…
- ขั้นตอนที่ 3: รูปภาพเพิ่มเติมและขอบคุณสำหรับการอ่าน….
วีดีโอ: TFMini Lidar Display - Like Radar Only With Light!:-): 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
มีหลายสิ่งที่มารวมกันเพื่อทำให้งานนี้สำเร็จ แต่สิ่งที่ยิ่งใหญ่ที่สุด (และแรงบันดาลใจให้ฉันทำ) คือ "โครงการเรดาร์ของ Arduino" ที่พบใน howtomechatronics.com โดย Dejan Nedelkovski (ไม่ทราบวันที่)
ฉันทำโปรเจ็กต์นี้เมื่อไม่กี่เดือนก่อน (10-18-2018) ด้วยความคิดที่จะเผยแพร่ผลงานของฉัน แต่ก็ไม่ได้ไปไหนเลย วันนี้ดูเหมือนเป็นวันที่ดีที่จะได้ติดตามบางโปรเจ็กต์ที่ฉันต้องการจัดทำเป็นเอกสาร
มีการเปลี่ยนแปลงหลายอย่างในด้าน Arduino เพื่อให้ใช้งานได้
อัลตราโซนิกถูกแทนที่ด้วยหน่วย TF Mini Lidar https://www.sparkfun.com/products/14588 (หน่วยนี้เป็นอุปกรณ์อนุกรมซึ่งทำให้ใช้งานได้ง่าย)
ใช้บอร์ด PCA9685 PWM/Servo เนื่องจากไลบรารีเซอร์โวทำให้เกิดปัญหาเมื่อใช้ไลบรารีซอฟต์แวร์ซีเรียล
การเปลี่ยนแปลงเล็กๆ น้อยๆ อีกอย่างคือเมาท์ที่ฉันใช้ ซึ่งจริงๆ แล้วเป็นเรื่องเล็กน้อย - ฉันใช้เมาท์ PAN/Tilt ราคาถูก และเซอร์โวสองสามตัว - ความคิดดั้งเดิมคือการขยายสิ่งนี้ให้มากขึ้น และมีตัวเลือกความสูง (ให้มากกว่านั้น) ของรูปลักษณ์ 3 มิติ) ฉันใช้แนวคิดนี้ไปสองสามช่วงตึก และไม่เคยกลับไปคิดอีกเลย ความจริงก็คือคุณต้องการเซอร์โวเพียงตัวเดียวเท่านั้น (ฉันมีสองตัว)
ส่วนของรหัส Arduino ขึ้นอยู่กับ Juan Jose Luna Espinosa TFMini และรหัส ESP32
ไลบรารีเดียวที่จำเป็นคือ Adafruit PWM Servo Driver Library
ขั้นตอนที่ 1: เราต้องสร้างสิ่งนี้อย่างไร…
ฉันบอกใบ้ให้มากที่สุดแล้ว…..
เราต้องการ TFMini Lidar, 2 เซอร์โว, แพน/เอียง, บอร์ด PCA9685 และ Arduino UNO/ หรือโคลน
นอกจากนี้เรายังต้องการแหล่งพลังงาน 5v เพิ่มเติมสำหรับบอร์ดเซอร์โว (สามารถดูบทแนะนำที่ดีสำหรับบอร์ด PCA9685 ได้ที่นี่
การเดินสายค่อนข้างง่ายสำหรับสิ่งนี้ จาก Arduino คุณจะต้องเชื่อมต่อ 5v กับทั้ง VCC บนบอร์ด PCA9685 และหน่วย TFMINI lidar รวมถึงกราวด์ทั้งสอง PCA9685 เป็นอุปกรณ์ I2C ดังนั้น SCL จึงเชื่อมต่อกับ A5 และ SDA เพื่อตรึง A4
จาก TFMini คุณจะเชื่อมต่อพิน TX กับ PIN 8 บน Arduino
บน PCA9685 คุณจะเชื่อมต่อเซอร์โวหนึ่งตัวกับส่วนหัว 0 และเซอร์โวหนึ่งตัวกับส่วนหัว 1 (อย่าลืมเชื่อมต่ออย่างถูกต้อง สายกราวด์ (สีน้ำตาล) ควรอยู่ที่ด้านล่างหรือขอบด้านนอก) ส่วนหัว 0 จะใช้สำหรับ เซอร์โว PAN (หรืออันที่เราจะใช้) - เซอร์โวแบบเอียงเชื่อมต่อกับส่วนหัว 1 (โค้ดจะขยับเล็กน้อยเพื่อให้อยู่ในตำแหน่งตรง)
นั่นคือสำหรับฮาร์ดแวร์ในด้านซอฟต์แวร์เราจะต้องติดตั้ง Arduino IDE (ในขณะที่เขียนนี้ฉันใช้ 1.8.5 แต่ล่าสุดก็ควรใช้งานได้เช่นกัน) และฉันไม่ได้ ทดสอบหรือใช้เครื่องมือแก้ไขออนไลน์ (ดังนั้นฉันจึงไม่รู้ว่าจะใช้ได้หรือไม่)
คุณจะต้องปฏิบัติตามคำแนะนำในการติดตั้งสำหรับระบบปฏิบัติการของคุณ ซึ่งอยู่ที่นี่:
คุณจะต้องอัปเดตบอร์ดและไลบรารีตามต้องการด้วย (ใช้ไลบรารีที่เสถียร อย่าใช้เบต้าใดๆ พวกมันมีปัญหา)
นอกจากนี้เรายังต้องติดตั้งการประมวลผล - สำหรับผู้ที่ไม่ทราบว่าการประมวลผลคืออะไร - เป็นสมุดร่างซอฟต์แวร์และภาษาที่ยืดหยุ่นสำหรับการเรียนรู้วิธีการเขียนโค้ดภายในบริบทของทัศนศิลป์
กล่าวอีกนัยหนึ่งทำให้ง่ายต่อการแสดงและแสดงข้อมูล
processing.org/download/
ในที่สุด คุณจะต้องคว้ารหัสจากที่เก็บ github ของฉัน
github.com/kd8bxp/Lidar-Display
ขั้นตอนที่ 2: ซอฟต์แวร์…
จากที่เก็บคุณจะพบโค้ดทดสอบสำหรับ Arduino โหลดสิ่งนี้บน UNO และเปิดคอนโซลซีเรียล และหากทั้งหมดทำงานอย่างถูกต้อง คุณควรเริ่มเห็นระยะห่างจาก TF MINI ของคุณ - รหัสนี้อ้างอิงจาก ผลงานของ Juan Jose Luna Espinosa (2018) TFMini และ ESP32
github.com/yomboprime/TFMiniArduinoTest
เมื่อคุณตรวจสอบว่า lidar ทำงาน คุณก็พร้อมที่จะโหลดรหัส lidar_radar_with_processing2 บน UNO
ตอนนี้เราต้องโหลดรหัสการประมวลผล เราต้องเปลี่ยนพอร์ตอนุกรม - อยู่ที่บรรทัดที่ 42
แบบร่างมีพอร์ตอนุกรมที่ UNO ของฉันใช้อยู่ ซึ่งใน Linux และหากคุณใช้ linux มันควรจะเป็นอะไรที่คล้ายกัน (อาจเป็นอย่าง /dev/ttyUSB0) สำหรับเครื่อง Windows มันจะเป็น COM#
ไม่ว่าจะด้วยวิธีใด นี่ควรเป็นพอร์ตอนุกรมเดียวกันกับที่ Arduino IDE ของคุณใช้อยู่ - คุณจะต้องปิดคอนโซล Arduino Serial และเรียกใช้ร่างการประมวลผล
ถ้าทุกอย่างเป็นไปด้วยดี คุณควรเริ่มเห็นหน้าจอ "เรดาร์"
คุณอาจสังเกตเห็นว่าจอแสดงผลของฉันดูไม่เหมือนโปรเจ็กต์ที่เป็นแรงบันดาลใจเลย -
ฉันทำการเปลี่ยนแปลงเล็กน้อยกับร่างการประมวลผล - เนื่องจาก TFMini Lidar สามารถแสดงได้ระหว่าง 12 นิ้วถึง 36 ฟุต - ฉันเปลี่ยนช่วง - ฉันไม่ชอบที่ภาพร่างต้นฉบับสร้างเส้นสีแดงด้วย ดังนั้นฉันจึงเปลี่ยนมันเป็นเพียง จุดสีแดง (BTW ที่การเปลี่ยนแปลงอยู่ในร่างการประมวลผลที่บรรทัด 115 และบรรทัด 116 หากคุณต้องการเปลี่ยนกลับ) ช่วงนั้นถูกแมปกับค่า 1 ถึง 39 ในภาพร่าง Arduino
* หมายเหตุ: บรรทัดที่ 39 ให้คุณเปลี่ยนความละเอียด คุณอาจจำเป็นต้องปรับค่านี้หรือไม่ก็ได้ หากคุณไม่เห็นสิ่งที่ดูเหมือนภาพด้านบน คุณอาจต้องปรับบรรทัดที่ 39
** หมายเหตุ 2: - คุณอาจได้รับข้อผิดพลาดเกี่ยวกับพอร์ตอนุกรม ฉันลืมลำดับของอุปกรณ์ - ฉันคิดว่าคุณเริ่ม Arduino ก่อน แล้วจึงเริ่มร่างการประมวลผล - แต่ฉันอาจมีย้อนหลัง - ดังนั้น คุณอาจเริ่ม ร่างการประมวลผลแล้วเสียบ Arduino…. วิธีหนึ่งทำให้เกิดข้อผิดพลาดในกระบวนการและอีกวิธีหนึ่งได้ผล
ขั้นตอนที่ 3: รูปภาพเพิ่มเติมและขอบคุณสำหรับการอ่าน….
ฉันหวังว่าฉันได้ดำเนินการตามความยุติธรรมของโครงการดั้งเดิมแล้ว และฉันหวังว่าคุณจะสนุกกับสิ่งที่ฉันทำกับมัน
* ฉันรู้สึกว่าฉันอธิบายเรื่องนี้ไม่ค่อยดี….. บางทีฉันควรบันทึกโครงการของฉันให้เร็วกว่านี้อีก 3 เดือน*