
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12


ในโปรเจ็กต์เล็กๆ นี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถสร้างเรดาร์แบบง่ายๆ ที่บ้านด้วย Arduino ได้อย่างไร มีโครงการที่คล้ายกันมากมายบนอินเทอร์เน็ต แต่พวกเขาทั้งหมดใช้เซ็นเซอร์อัลตราโซนิกเพื่อวัดระยะทาง ในโครงการนี้ ฉันใช้เซ็นเซอร์อินฟราเรดในการวัดระยะทาง
เป้าหมายของฉันคือการสร้างระบบ LIDAR ที่เรียบง่ายและราคาถูก และใช้อุปกรณ์ทำแผนที่
เสบียง
- Arduino (ฉันใช้ Maple Mini)
- เซ็นเซอร์วัดระยะที่คมชัด (ฉันใช้ Sharp GP2Y0A02YK0F)
- ไมโครเซอร์โว (9g)
- เขียงหั่นขนม, สายไฟ
- อุปกรณ์เสริม: ตัวต้านทาน 4.7k, ตัวเก็บประจุ 100nF
ขั้นตอนที่ 1: Ultrasonic VS Infrared Sensor

ความแตกต่างที่สำคัญระหว่างเซ็นเซอร์ระยะอัลตราโซนิกและอินฟราเรดคือ เซ็นเซอร์อัลตราโซนิกวัดระยะทางในช่วงกว้างขึ้น ดังนั้นจึงไม่สามารถระบุตำแหน่งของสิ่งกีดขวางได้อย่างแม่นยำ หมายความว่ามันวัดระยะทางของวัตถุที่ใกล้ที่สุดซึ่งอยู่ภายในช่วงมุม ~ +-30°
แน่นอนว่าไม่ได้หมายความว่าเซ็นเซอร์ Sharp จะดีกว่า บางครั้งคุณสมบัตินี้อาจมีประโยชน์มาก (เช่น ใช้โดยโดรนเพื่อวัดความสูงจากพื้นดิน) ทางเลือกที่เหมาะสมขึ้นอยู่กับความต้องการของโครงการของคุณโดยสิ้นเชิง
ขั้นตอนที่ 2: แผนผัง


การเชื่อมต่อระหว่างส่วนต่างๆ ทำได้ง่ายมาก เลือกเอาต์พุต PWM และอินพุตแบบอะนาล็อกบนบอร์ด Arduino ของคุณและเชื่อมต่อเซ็นเซอร์ระยะเซอร์โวและชาร์ปกับพินเหล่านั้น ฉันใช้หมุดต่อไปนี้เพื่อจุดประสงค์นี้:
- PA0: อินพุตแบบอะนาล็อกสำหรับเซ็นเซอร์วัดระยะที่คมชัด
- PA9: เอาต์พุต PWM สำหรับเซอร์โว
ในบางครั้ง Sharp IR Sensor อาจมีสัญญาณรบกวน ดังนั้นคุณต้องใส่ Low Pass Filter แบบธรรมดาลงไป ฉันใช้ตัวต้านทาน 4.7k และตัวเก็บประจุ 100nF เพื่อลดสัญญาณรบกวนบนพินอะนาล็อก นอกจากนั้น ฉันยังกรองค่าที่วัดได้ในโค้ดโดยอ่านหลายครั้งและคำนวณค่าเฉลี่ย
ขั้นตอนที่ 3: ลักษณะเซนเซอร์


น่าเสียดายที่เซ็นเซอร์ระยะอินฟราเรดที่ใช้มีลักษณะไม่เป็นเชิงเส้น หมายความว่าเพื่อให้ได้ระยะทาง ไม่เพียงพอที่จะคูณค่า ADC ที่วัดได้กับค่าคงที่และเพิ่มค่าคงที่อื่นเข้าไป
แม้ว่าแผ่นข้อมูลของเซ็นเซอร์จะให้คุณสมบัตินี้ แต่ฉันชอบที่จะวัดด้วยตัวเองในโครงการเฉพาะ (อาจขึ้นอยู่กับแรงดันไฟฟ้าที่ใช้) สำหรับสิ่งนี้ ฉันสร้างคู่จากค่า ADC ที่วัดได้และระยะทางทุกๆ 10 ซม. (เซ็นเซอร์ของฉันสามารถวัดระยะทางที่ถูกต้องจาก 12 ซม.)
ฉันใช้คู่เหล่านี้ในโค้ดเพื่อให้ได้ระยะทางที่ถูกต้องด้วย Linear Interpolation
คุณจะพบโค้ด Arduino อย่างง่ายที่ท้ายเอกสาร เพื่อวัดค่า ADC ระหว่างการวัดลักษณะเฉพาะ
ขั้นตอนที่ 4: การสื่อสารแบบอนุกรม

ฉันใช้การสื่อสารแบบอนุกรมเพื่อส่งค่ามุม-ระยะทางที่วัดได้ไปยังพีซี เนื่องจากฉันต้องส่งหลายไบต์และข้อความประเภทต่างๆ ฉันจึงออกแบบโปรโตคอลการสื่อสารอย่างง่าย
โปรโตคอลนี้ทำให้สามารถกำหนดข้อความประเภทต่างๆ ในลักษณะทั่วไปได้ ในโครงการนี้ ฉันใช้ข้อความ 2 ประเภท:
- พารามิเตอร์: ใช้สำหรับส่งพารามิเตอร์ไปยัง PC Application ซึ่งกำหนดบน Arduino เช่นระยะทางสูงสุดและจำนวนสิ่งกีดขวางในรอบ
- อุปสรรค: ใช้เพื่อส่งสิ่งกีดขวางที่ตรวจพบ มันถูกระบุโดยมุมของเซอร์โวและระยะทางที่วัดได้ ตำแหน่ง xy จะถูกคำนวณโดยแอปพลิเคชันพีซี
ขั้นตอนที่ 5: แอปพลิเคชัน Qt

เพื่อสื่อสารกับ Arduino และวาดจุดที่วัดได้เหมือนเรดาร์ ฉันสร้างแอปพลิเคชันพีซีใน Qt (C++) ได้รับพารามิเตอร์บางอย่าง (กำหนดไว้ใน Arduino) และจุดระยะทางที่วัดได้
คุณสามารถดาวน์โหลดแอปพลิเคชันและซอร์สโค้ดของมันได้เช่นกัน
ขั้นตอนที่ 6: รหัสที่มา Arduino
คุณสามารถปรับแต่ง paremeters บางส่วนที่ด้านบนของโค้ดด้วยมาโคร
โปรดทราบว่าหากคุณเปลี่ยนคุณสมบัติของเซ็นเซอร์วัดระยะ Sharp คุณต้องแก้ไขค่าอาร์เรย์ distAdcMap!
- InfraRadar.c: รหัสของเรดาร์ คัดลอกและวางลงในโครงการ Arduino ของคุณ
- InfraRadarMeasurement.c: รหัสสำหรับการวัดลักษณะเฉพาะ คัดลอกและวางลงในโครงการ Arduino ของคุณ ใช้ Serial Console เพื่อตรวจสอบค่า ADC
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน

การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน

การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน

วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน

การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)

Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino