สารบัญ:
- ขั้นตอนที่ 1: มันทำงานอย่างไร
- ขั้นตอนที่ 2: วิธีกำหนดค่าสถานีเซ็นเซอร์สามสถานีและวัตถุ
- ขั้นตอนที่ 3: วิธีกำหนดค่าสถานีมาสเตอร์
- ขั้นตอนที่ 4: รายการวัสดุ
วีดีโอ: ระบบกำหนดตำแหน่งตาม Ultrasonics: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
เรดาร์อัลตราโซนิกทุกรุ่นที่ฉันพบสำหรับอุปกรณ์ Arduino (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) เป็นเรดาร์ที่ดีมาก แต่ทั้งหมดนั้น "ตาบอด" ฉันหมายถึงเรดาร์ตรวจจับบางสิ่งบางอย่าง แต่สิ่งที่ตรวจจับได้?
ดังนั้นฉันจึงเสนอตัวเองให้พัฒนาระบบที่สามารถตรวจจับวัตถุและระบุวัตถุได้ กล่าวอีกนัยหนึ่งคือระบบกำหนดตำแหน่งโดยไม่ต้องใช้อุปกรณ์ GPS แต่เป็นเครื่องตรวจจับอัลตราโซนิก
นี่คือผลลัพธ์ที่ฉันหวังว่าคุณจะชอบ
ขั้นตอนที่ 1: มันทำงานอย่างไร
ระบบกำหนดตำแหน่งถูกสร้างขึ้นโดยสถานีเซ็นเซอร์สามแห่งที่มีเครื่องตรวจจับอัลตราโซนิกและ id_node 1, 2 และ 3 ก่อรูปสี่เหลี่ยมผืนผ้าหรือสี่เหลี่ยมจัตุรัสที่กวาดมุม 90º และระยะห่างระหว่างสถานีเหล่านี้เรียกว่าดังแสดงในภาพที่ 1
const ระยะลอยตัวระหว่าง 1 และ 2 = 60.0;
ระยะทางลอยตัว const ระหว่าง 2 และ 3 = 75.0;
เซ็นเซอร์เหล่านี้วัดระยะทางและมุมของวัตถุอื่นๆ ด้วย id_node มากกว่า 3 ซึ่งมีตัวตรวจจับอัลตราโซนิกที่กวาดมุม 170°
ทั้งหมดส่งระยะทาง มุมที่วัด และ id_node ไปยังสถานีมาสเตอร์อื่นโดยใช้การสื่อสารไร้สายเพื่อวิเคราะห์ คำนวณตำแหน่งของวัตถุโดยใช้การคำนวณตรีโกณมิติและระบุวัตถุ
เพื่อหลีกเลี่ยงการรบกวน สถานีหลักจะซิงโครไนซ์เครื่องตรวจจับอัลตราโซนิกทั้งหมดในลักษณะที่เครื่องตรวจจับอัลตราโซนิกเพียงตัวเดียวทำการวัดในแต่ละช่วงเวลา
หลังจากนั้น และใช้การสื่อสารแบบอนุกรม สถานีหลักจะส่งข้อมูล (มุม ระยะทาง id_object) ไปยังร่างการประมวลผลเพื่อวางแผนผลลัพธ์
ขั้นตอนที่ 2: วิธีกำหนดค่าสถานีเซ็นเซอร์สามสถานีและวัตถุ
หน้าที่เดียวของแต่ละสถานีเซ็นเซอร์คือการตรวจจับวัตถุและส่งรายการระยะทาง มุม และโหนด ID ที่วัดไปยังสถานีหลัก
ดังนั้นคุณต้องอัปเดตระยะการตรวจจับสูงสุด ("valid_max_distance ") ที่อนุญาตและระยะต่ำสุด ("valid_min_distance ") (เซนติเมตร) เพื่อปรับปรุงการตรวจจับและจำกัดโซนการตรวจจับ:
int valid_max_distance = 80;
int valid_min_distance = 1;
id node ของสถานีเซ็นเซอร์เหล่านี้ (“this_node” ในโค้ดด้านล่าง) คือ 1, 2 และ 3 และ id node ของสถานีมาสเตอร์คือ 0
const uint16_t this_node = 01; // ที่อยู่ของโหนดของเราในรูปแบบ Octal (Node01, Node02, Node03)
const uint16_t other_node = 00; //ที่อยู่ของโหนดหลัก (Node00) ในรูปแบบเลขฐานแปด
แต่ละสถานีเซ็นเซอร์กวาดและมุม100º ("max_angle" ในโค้ดด้านล่าง)
#define min_angle 0
#define max_angle 100
เหนือสิ่งอื่นใด ฟังก์ชันเดียวของวัตถุคือการตรวจจับวัตถุ และส่งรายการระยะทาง มุม และวัตถุที่วัดได้ไปยังสถานีหลัก id ของหนึ่งอ็อบเจ็กต์ ("this_node" ในโค้ดด้านล่าง) ต้องมากกว่า 3
แต่ละวัตถุกวาดและมุม170º และดังกล่าวข้างต้น เป็นไปได้ที่จะปรับปรุงระยะการตรวจจับสูงสุดและต่ำสุด
const uint16_t this_node = 04; // ที่อยู่ของโหนดของเราในรูปแบบ Octal (Node04, Node05, …)
const uint16_t other_node = 00; // ที่อยู่ของโหนดหลัก (Node00) ในรูปแบบ Octal int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170
ขั้นตอนที่ 3: วิธีกำหนดค่าสถานีมาสเตอร์
หน้าที่ของสถานีมาสเตอร์คือการรับการส่งสัญญาณของสถานีเซ็นเซอร์และวัตถุ และส่งผลโดยใช้พอร์ตอนุกรมไปยังร่างการประมวลผลเพื่อลงจุด นอกจากนี้ ยังซิงโครไนซ์วัตถุทั้งหมดและสถานีเซ็นเซอร์สามสถานีในลักษณะที่มีเพียงหนึ่งในนั้นเท่านั้นที่ทำการวัดในแต่ละครั้งเพื่อหลีกเลี่ยงการรบกวน
ก่อนอื่นคุณต้องอัปเดตระยะทาง (เซนติเมตร) ระหว่างเซ็นเซอร์ 1 และ 2 และระยะห่างระหว่าง 2 ถึง 3
const ระยะลอยตัวระหว่าง 1 และ 2 = 60.0;
const ระยะลอยตัวระหว่าง 2 และ 3 = 70.0;
แบบร่างคำนวณตำแหน่งของวัตถุด้วยวิธีต่อไปนี้:
- สำหรับการส่งสัญญาณทั้งหมดของวัตถุ (id_node มากกว่า 3) ให้มองหาระยะทางที่เท่ากันในการส่งแต่ละครั้งของเซ็นเซอร์อัลตราโซนิก (id_node 1, 2 หรือ 3)
- จุดเหล่านี้ทั้งหมดเป็นรายชื่อ "ผู้สมัคร" (ระยะทาง มุม id_node) ที่จะเป็นตำแหน่งของวัตถุหนึ่งชิ้น ("process_pointobject_with_pointssensor" ในแบบร่าง)
- สำหรับ “ผู้สมัคร” แต่ละคนในรายการก่อนหน้า ฟังก์ชัน “candidate_selected_between_sensor2and3” จะคำนวณจากมุมมองของเซ็นเซอร์อัลตราโซนิก 2 และ 3 ซึ่งตรงกับเงื่อนไขตรีโกณมิติต่อไปนี้ (ดูรูปที่ 2 และ 3)
float distancefroms2 = บาป (เรเดียน (มุม)) * ระยะทาง;
float distancefroms3 = cos(เรเดียน(angle_candidate)) * distance_candidate; // เงื่อนไขตรีโกณมิติ 1 abs(distancefroms2 + distancefroms3 - distancebetween2and3) <= float(max_diference_distance)
ดังที่กล่าวมาแล้ว สำหรับ "ผู้สมัคร" แต่ละรายการในรายการก่อนหน้า ฟังก์ชัน "candidate_selected_between_sensor1and2" จะคำนวณจากมุมมองของเซ็นเซอร์อัลตราโซนิก 1 และ 2 ซึ่งตรงกับความสัมพันธ์ตรีโกณมิติต่อไปนี้ (ดูรูปที่ 2 และ 3)
float distancefroms1 = sin(เรเดียน(มุม)) * ระยะทาง;float distancefroms2 = cos(เรเดียน(angle_candidate)) * distance_candidate; // เงื่อนไขตรีโกณมิติ 2 abs(distancefroms1 + distancefroms2 - distancebetween1and2) <= float(max_diference_distance)
เฉพาะตัวเลือก (ระยะทาง มุม id_node) ที่ตรงกับเงื่อนไขตรีโกณมิติ 1 และ 2 เท่านั้นที่จะระบุวัตถุที่ตรวจพบโดยสถานีเซ็นเซอร์ 1, 2 และ 3
หลังจากนั้นผลลัพธ์จะถูกส่งโดยสถานีหลักไปยังร่างการประมวลผลเพื่อลงจุด
ขั้นตอนที่ 4: รายการวัสดุ
รายการวัสดุที่จำเป็นสำหรับสถานีเซ็นเซอร์หนึ่งสถานีหรือหนึ่งวัตถุมีดังต่อไปนี้:
- นาโนบอร์ด
- เซ็นเซอร์อัลตราโซนิก
- ไมโครเซอร์โวมอเตอร์
- โมดูลไร้สาย NRF24L01
- อะแดปเตอร์ NRF24L01
และรายการวัสดุสำหรับสถานีหลักมีดังต่อไปนี้:
- นาโนบอร์ด
- โมดูลไร้สาย NRF24L01
- อะแดปเตอร์ NRF24L01
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
Ultrasonics Sensor: 3 ขั้นตอน
Ultrasonics Sensor: ในบทช่วยสอนนี้ ฉันจะวัดระยะทางด้วยเซ็นเซอร์อัลตราโซนิก
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-