สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
คำแนะนำนี้จะอธิบายวิธีระบุตำแหน่งของวัตถุโดยใช้ Arduino เซ็นเซอร์อัลตราโซนิกสองตัวและสูตรของรูปสามเหลี่ยมของนกกระสา ไม่มีชิ้นส่วนที่เคลื่อนไหว
สูตรของนกกระสาช่วยให้คุณคำนวณพื้นที่ของสามเหลี่ยมใด ๆ ที่รู้จักทุกด้าน เมื่อคุณทราบพื้นที่ของสามเหลี่ยมแล้ว คุณจะสามารถคำนวณตำแหน่งของวัตถุชิ้นเดียว (เทียบกับเส้นฐานที่ทราบ) โดยใช้ตรีโกณมิติและพีทาโกรัส
ความแม่นยำเป็นเลิศ พื้นที่การตรวจจับขนาดใหญ่สามารถทำได้โดยใช้เซ็นเซอร์อัลตราโซนิก HC-SR04 หรือ HY-SRF05 ที่มีจำหน่ายทั่วไป
การก่อสร้างนั้นเรียบง่าย … สิ่งที่คุณต้องมีคือมีดคม สว่านสองดอก หัวแร้ง และเลื่อยไม้
รูปภาพ
- คลิปวิดีโอแสดงเครื่องกำลังทำงาน
- ภาพที่ 1 แสดง "ตัวระบุตำแหน่งเสียงสะท้อน" ที่ประกอบเข้าด้วยกัน
- ภาพที่ 2 แสดงหน้าจอทั่วไป วัตถุเป็นจุดสีแดง (กะพริบ)
- ภาพที่ 3 แสดงการตั้งค่าการทดสอบวิดีโอ จำเป็นต้องวางตำแหน่งเซ็นเซอร์อัลตราโซนิก HY-SRF05 สองตัวที่ต่ำกว่าเส้นฐาน 50 ซม. เพื่อ "ส่องสว่าง" พื้นที่การตรวจจับด้วยเสียงโดยสมบูรณ์
ขั้นตอนที่ 1: แผนภาพการเดินสายไฟ
ภาพที่ 1 แสดงแผนภาพการเดินสายไฟสำหรับ "ตัวระบุตำแหน่งสะท้อนของเซ็นเซอร์คู่"
เซนเซอร์ B แสดงผลเป็น "แฝง" โดยวางเทปกาวหลายชั้นไว้เหนือทรานสดิวเซอร์ (T) ทรานสดิวเซอร์ เทปนี้บล็อกเสียงอัลตราโซนิกที่อาจถูกปล่อยออกมา
ขั้นตอนที่ 2: รายการชิ้นส่วน
ดังแสดงในภาพที่ 1 จำเป็นต้องมีส่วนน้อยมากในการทำโปรเจ็กต์นี้:
ส่วนต่อไปนี้ได้มาจาก https://www.aliexpress.com/:
- 1 เพียง Arduino Uno R3 พร้อมสาย USB
- 2 เท่านั้น HY-SRF05 หรือ HC-SR04 ทรานสดิวเซอร์ล้ำเสียง
ได้รับชิ้นส่วนต่อไปนี้ในท้องถิ่น:
- 1 แถบส่วนหัวของ arduino ตัวผู้เท่านั้น
- 2 แถบส่วนหัวของ Arduino ตัวเมียเท่านั้น
- เศษอลูมิเนียม 2 ชิ้นเท่านั้น
- ไม้เล็กๆ 2 ชิ้นเท่านั้น
- 2 สกรูขนาดเล็กเท่านั้น
- เคเบิ้ลไทร์ 3 เส้นเท่านั้น
- ลวดเคลือบพลาสติกความยาวเพียง 4 เส้น (คละสี) [1]
บันทึก
[1]
ความยาวรวมของลวดแต่ละเส้นควรเท่ากับระยะห่างที่ต้องการระหว่างเซ็นเซอร์บวกกับบัดกรีเล็กน้อย ลวดจะถูกบิดเข้าด้วยกันเพื่อสร้างสายเคเบิล
ขั้นตอนที่ 3: ทฤษฎี
รูปแบบลำแสง
ภาพที่ 1 แสดงรูปแบบลำแสงที่ทับซ้อนกันสำหรับทรานสดิวเซอร์ A และทรานสดิวเซอร์ B
เซ็นเซอร์ A จะได้รับเสียงสะท้อนจากวัตถุใดๆ ใน “พื้นที่สีแดง”
เซ็นเซอร์ B จะได้รับเสียงสะท้อนก็ต่อเมื่อวัตถุอยู่ใน "พื้นที่สีม่วง" นอกพื้นที่นี้ไม่สามารถกำหนดพิกัดของวัตถุได้ [1]
พื้นที่การตรวจจับ "สีม่วง" ขนาดใหญ่เป็นไปได้หากเซ็นเซอร์มีระยะห่างกันมาก
การคำนวณ
โดยอ้างอิงจากภาพที่ 2:
พื้นที่ของสามเหลี่ยมใดๆ อาจคำนวณได้จากสูตร:
พื้นที่=ฐาน*สูง/2 ……………………………………………………………………. (1)
การจัดเรียงสมการ (1) ให้ความสูง (พิกัด Y):
ความสูง=พื้นที่*2/ฐาน ……………………………………………………………………. (2)
จนถึงตอนนี้ดีมาก … แต่เราจะคำนวณพื้นที่ได้อย่างไร?
คำตอบคือให้เว้นระยะห่างระหว่างตัวแปลงสัญญาณอัลตราโซนิกสองตัวในระยะห่างที่ทราบ (เส้นฐาน) และวัดระยะทางที่เซ็นเซอร์แต่ละตัวอยู่ห่างจากวัตถุโดยใช้อัลตราซาวนด์
ภาพที่ 2 แสดงให้เห็นว่าเป็นไปได้อย่างไร
ทรานสดิวเซอร์ A ส่งชีพจรที่กระเด้งออกจากวัตถุในทุกทิศทาง ทั้งทรานสดิวเซอร์ A และทรานสดิวเซอร์ B ได้ยินพัลส์นี้ ไม่มีการส่งพัลส์จากทรานสดิวเซอร์ B … เพียงฟังเท่านั้น
เส้นทางกลับไปยังทรานสดิวเซอร์ A จะแสดงเป็นสีแดง เมื่อหารด้วยสองและคูณความเร็วของเสียงแล้ว เราสามารถคำนวณระยะทาง “d1” จากสูตร: [2]
d1 (ซม.) = เวลา (ไมโครวินาที)/59 ………………………………………………(3)
เส้นทางไปยังตัวแปลงสัญญาณ B จะแสดงเป็นสีน้ำเงิน ถ้าเราลบระยะทาง "d1" จากความยาวเส้นทางนี้ เราจะได้ระยะทาง "d2" สูตรคำนวณ “d2” คือ [3]
d2 (ซม.) = เวลา (ไมโครวินาที/29.5 – d1 …………………………………….. (4)
ตอนนี้เราได้ความยาวของทั้งสามด้านของสามเหลี่ยม ABC แล้ว … ใส่ “Heron”
สูตรนกกระสา
สูตรของนกกระสาใช้สิ่งที่เรียกว่า “กึ่งปริมณฑล” โดยที่คุณเพิ่มแต่ละด้านทั้งสามด้านของสามเหลี่ยมแล้วหารผลลัพธ์ด้วยสอง:
s=(a+b+c)/2 ……………………………………………………………………………. (5)
พื้นที่สามารถคำนวณได้โดยใช้สูตรต่อไปนี้:
พื้นที่=sqrt(s*(s-a)*(s-b)*(s-c)) ………………………………………………………………. (6)
เมื่อเราทราบพื้นที่แล้ว เราก็สามารถคำนวณความสูง (พิกัด Y) จากสมการ (2) ด้านบนได้
พีทาโกรัส
พิกัด X ในตอนนี้สามารถคำนวณได้โดยการวางแนวตั้งฉากจากจุดยอดสามเหลี่ยมไปยังเส้นฐานเพื่อสร้างสามเหลี่ยมมุมฉาก พิกัด X สามารถคำนวณได้โดยใช้พีทาโกรัส:
c1 = sqrt(b2 - h2) …………………………………………………………………….. (7)
หมายเหตุ
[1]
พื้นที่เป้าหมายสามารถ "ส่องสว่าง" ด้วยเสียงโดยการวางตำแหน่งเซ็นเซอร์ไว้ใต้เส้นฐาน
[2]
ค่า 59 สำหรับค่าคงที่ได้มาดังนี้:
ความเร็วของเสียงอยู่ที่ประมาณ 340 เมตร/วินาที ซึ่งเท่ากับ 0.034 ซม./uS (เซนติเมตร/ไมโครเซียน)
ส่วนกลับของ 0.034 ซม./uS คือ 29.412uS/ซม. ซึ่งเมื่อคูณด้วย 2 เพื่อให้ได้เส้นทางกลับ จะเท่ากับ 58.824 หรือ 59 เมื่อปัดเศษ
ค่านี้สามารถปรับขึ้น/ลงได้ตามอุณหภูมิ ความชื้น และความดันของอากาศ
[3]
ค่า 29.5 สำหรับค่าคงที่ได้มาดังนี้:
ไม่มีเส้นทางกลับ ดังนั้นเราจึงใช้ 29.5 ซึ่งเป็นครึ่งหนึ่งของค่าที่ใช้ใน [2] ด้านบน
ขั้นตอนที่ 4: การก่อสร้าง
ขายึด
ขายึดสองอันทำจากแผ่นอลูมิเนียม 20 เกจโดยใช้วิธีการที่อธิบายไว้ในคำแนะนำของฉัน
ขนาดสำหรับวงเล็บของฉันแสดงในภาพที่ 1
รูสองรูที่มีเครื่องหมาย "เส้นฐาน" ใช้สำหรับติดสายเข้ากับเซ็นเซอร์แต่ละตัว เพียงผูกเชือกที่ระยะห่างที่ต้องการเพื่อให้ติดตั้งง่าย
ซ็อกเก็ตเซนเซอร์
ซ็อกเก็ตเซ็นเซอร์ (ภาพที่ 2) ได้รับการออกแบบมาจากซ็อกเก็ตส่วนหัว Arduino มาตรฐาน
หมุดที่ไม่ต้องการทั้งหมดถูกดึงออกมาและเจาะรู 3 มม. ผ่านพลาสติก
เมื่อทำการบัดกรีการเชื่อมต่อ ระวังอย่าให้สายไฟสั้นเข้ากับโครงอะลูมิเนียม
บรรเทาความเครียด
ท่อหดความร้อนชิ้นเล็ก ๆ ที่ปลายแต่ละด้านของสายเคเบิลช่วยป้องกันไม่ให้สายไฟหลุด
สายรัดถูกนำมาใช้เพื่อป้องกันการเคลื่อนตัวของสายเคเบิลที่ไม่ต้องการ
ขั้นตอนที่ 5: การติดตั้งซอฟต์แวร์
ติดตั้งรหัสต่อไปนี้ตามลำดับนี้:
Arduino IDE
ดาวน์โหลดและติดตั้ง Arduino IDE (สภาพแวดล้อมการพัฒนาแบบบูรณาการ) จาก https://www.arduino.cc/en/main/software หากยังไม่ได้ติดตั้ง
กำลังดำเนินการ 3
ดาวน์โหลดและติดตั้งการประมวลผล 3 จาก
Arduino Sketch
คัดลอกเนื้อหาของไฟล์ที่แนบมา “dual_sensor _echo_locator.ino” ลงใน Arduino “sketch” บันทึกแล้วอัปโหลดไปยัง Arduino Uno R3 ของคุณ
ปิด Ardino IDE แต่ปล่อยให้สาย USB เชื่อมต่ออยู่
ร่างการประมวลผล
คัดลอกเนื้อหาของไฟล์ที่แนบมา “dual_sensor_echo_locator.pde” ลงในการประมวลผล “Sketch”
ตอนนี้คลิกปุ่ม "เรียกใช้" ด้านบนซ้าย … หน้าจอกราฟิกควรปรากฏบนหน้าจอของคุณ
ขั้นตอนที่ 6: การทดสอบ
เชื่อมต่อสายเคเบิล Arduino USB เข้ากับพีซีของคุณ
เรียกใช้ “dual_sensor_echo_locator.pde” โดยคลิกปุ่มเรียกใช้ “บนซ้าย” บน Processing 3 IDE ของคุณ (สภาพแวดล้อมการพัฒนาแบบรวม)
ตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคควรเริ่มสตรีมลงหน้าจอของคุณดังแสดงในภาพที่ 1
ข้อความแสดงข้อผิดพลาดเมื่อเริ่มต้น
คุณอาจได้รับข้อความแสดงข้อผิดพลาดเมื่อเริ่มต้น
หากเป็นเช่นนั้นให้เปลี่ยน [0] ในบรรทัดที่ 88 ของรูปภาพ 1 เพื่อให้ตรงกับหมายเลขที่เกี่ยวข้องกับพอร์ต "COM" ของคุณ
อาจมีรายการพอร์ต “COM” หลายพอร์ต ทั้งนี้ขึ้นอยู่กับระบบของคุณ ตัวเลขตัวใดตัวหนึ่งจะทำงาน
ในรูปที่ 1 หมายเลข [0] เชื่อมโยงกับ “COM4” ของฉัน
การจัดตำแหน่งเซ็นเซอร์ของคุณ
เว้นระยะเซ็นเซอร์ของคุณห่างกัน 100 ซม. โดยให้วัตถุอยู่ด้านหน้า 100 ซม.
หมุนเซ็นเซอร์ทั้งสองอย่างช้าๆ ไปทางมุมตรงข้ามแนวทแยงมุมของสี่เหลี่ยมจตุรัสขนาด 1 เมตรในจินตนาการ
ขณะที่คุณหมุนเซ็นเซอร์ คุณจะพบตำแหน่งที่มีจุดสีแดงกะพริบปรากฏขึ้นบนหน้าจอกราฟิก
ข้อมูลเพิ่มเติมจะปรากฏขึ้น (ภาพที่ 2) เมื่อเซ็นเซอร์พบวัตถุของคุณแล้ว:
- ระยะทาง1
- ระยะทาง2
- พื้นฐาน
- offset
- กึ่งปริมณฑล
- พื้นที่
- X พิกัด
- พิกัด Y
ขั้นตอนที่ 7: แสดง
จอแสดงผลถูกเขียนโดยใช้การประมวลผล 3 … แสดงเส้นฐาน 100 ซม.
การเปลี่ยนแปลงพื้นฐาน
มาเปลี่ยนเส้นฐานของเราจาก 100 ซม. เป็น 200 ซม.:
เปลี่ยน “float Baseline = 100;” ในส่วนหัวการประมวลผลเพื่ออ่าน "float Baseline = 200;"
เปลี่ยนป้ายกำกับ “50” และ “100” ในรูทีนการประมวลผล “draw_grid()” เป็น “100” และ “200”
เปลี่ยนออฟเซ็ต
อาจมีการตรวจสอบพื้นที่เป้าหมายที่ใหญ่ขึ้นหากเราวางตำแหน่งเซ็นเซอร์ไว้ใต้เส้นฐาน
ตัวแปร “ออฟเซ็ต” ในส่วนหัวของการประมวลผลจะต้องเปลี่ยนแปลงหากคุณเลือกที่จะทำเช่นนี้
คลิกที่นี่เพื่อดูคำแนะนำอื่น ๆ ของฉัน
แนะนำ:
Echo & Reverb Box: 10 ขั้นตอน (พร้อมรูปภาพ)
Echo & Reverb Box: งานสร้างนี้มีพื้นฐานมาจากโมดูล Reverb ขนาดเล็กที่คุณสามารถหาซื้อได้บน eBay ในราคาต่ำกว่า 5 ดอลลาร์ ตอนนี้ฉันใช้มันแล้วในสองโครงการ (รายการด้านล่าง) แต่คราวนี้ฉันต้องการยืนเคียงข้างกล่องเอฟเฟกต์เสียงสะท้อนและก้อง คุณสามารถใช้สิ่งนี้ได้ทั้งหมด
Amazon Echo เวอร์ชันของตัวเอง: 8 ขั้นตอน (พร้อมรูปภาพ)
Amazon Echo เวอร์ชันของตัวเอง: สวัสดีทุกคน ฉันคิดว่าทุกคนรู้เกี่ยวกับผลิตภัณฑ์ล่าสุดของ Amazon Amazon Echo ซึ่งเป็นอุปกรณ์ควบคุมด้วยเสียง นั่นคือ เราสามารถควบคุมอุปกรณ์ด้วยเสียงของเรา และสามารถพูดคุยกับเราได้ แรงบันดาลใจจากความคิดนี้ ฉันจึงสร้างเวอร์ชันของตัวเองขึ้นมา ซึ่งสามารถ
รีโมท IR ที่ควบคุมโดย Amazon Echo: 11 ขั้นตอน (พร้อมรูปภาพ)
รีโมท IR ที่ควบคุมโดย Amazon Echo: ระบบ Amazon Echo สามารถควบคุมหลาย ๆ ด้านของบ้านอัจฉริยะ แต่เต้ารับอัจฉริยะสามารถปิดและเปิดได้เท่านั้น อุปกรณ์จำนวนมากไม่ได้เปิดขึ้นทันทีโดยเสียบปลั๊กง่ายๆ และต้องการขั้นตอนเพิ่มเติม เช่น การกดปุ่มบนรีโมทหรือ
Pocket Metal Locator - Arduino: 8 ขั้นตอน (พร้อมรูปภาพ)
Pocket Metal Locator - Arduino: Pocket Metal Locator ตัวเล็กสุดเจ๋งนี้มีความละเอียดอ่อนพอที่จะระบุตะปูและตะปูขนาดเล็กในไม้และกะทัดรัดพอที่จะใส่ลงในช่องว่างที่น่าอึดอัดใจทำให้สะดวกในการพกพาและใช้สำหรับการค้นหาโลหะ หน่วยนี้มีสี่คอยล์ค้นหาอิสระและ
Arduino Geocache Locator: 14 ขั้นตอน (พร้อมรูปภาพ)
Arduino Geocache Locator: Arduino Geocache Locator เป็นอุปกรณ์ขนาดเล็กที่ให้คุณตั้งโปรแกรมในตำแหน่ง GPS จากนั้นคุณสามารถใช้ LED ที่ด้านบนเป็นเครื่องมือนำทางเพื่อไปยังตำแหน่งของคุณ ฉันชอบทำของขวัญให้สมาชิกในครอบครัวในวันคริสต์มาส โดยเฉพาะอย่างยิ่งสำหรับ