สารบัญ:

ตรวจจับสิ่งกีดขวางแบบอะซิงโครนัสด้วยอัลตราซาวด์: 4 ขั้นตอน
ตรวจจับสิ่งกีดขวางแบบอะซิงโครนัสด้วยอัลตราซาวด์: 4 ขั้นตอน

วีดีโอ: ตรวจจับสิ่งกีดขวางแบบอะซิงโครนัสด้วยอัลตราซาวด์: 4 ขั้นตอน

วีดีโอ: ตรวจจับสิ่งกีดขวางแบบอะซิงโครนัสด้วยอัลตราซาวด์: 4 ขั้นตอน
วีดีโอ: ฆาตกรที่ยังไม่บรรลุนิติภาวะ ที่กำลังหัวเราะต่อหน้า ครอบครัวของเหยื่อ ผู้พิพากษาให้คำตัดสินเกินคาด 2024, พฤศจิกายน
Anonim
ตรวจจับสิ่งกีดขวางแบบอะซิงโครนัสด้วยอัลตราซาวด์
ตรวจจับสิ่งกีดขวางแบบอะซิงโครนัสด้วยอัลตราซาวด์

ฉันกำลังสร้างหุ่นยนต์เพื่อความสนุกสนาน ซึ่งฉันต้องการย้ายเข้าไปอยู่ในบ้านอย่างอิสระ

เป็นงานที่ยาวนานและฉันกำลังทำทีละขั้นตอน

โฟกัสที่สอนได้นี้ในการตรวจจับสิ่งกีดขวางด้วย Arduino Mega

เซ็นเซอร์อัลตราโซนิก HC-SR04 เทียบกับ HY-SRF05 มีราคาถูกและใช้งานง่าย แต่อาจเป็นเรื่องยากที่จะรวมเข้ากับไมโครคอนโทรลเลอร์ลูปในหุ่นยนต์ที่ซับซ้อน ฉันต้องการเรียกใช้การตรวจจับสิ่งกีดขวางในแบบอะซิงโครนัส

_

ฉันได้เผยแพร่ 3 คำแนะนำเกี่ยวกับคุณสมบัติของหุ่นยนต์นี้:

  • ทำเครื่องเข้ารหัสล้อของคุณ
  • สร้างเกตเวย์ WIFI ของคุณ
  • ใช้หน่วยโมดูลเฉื่อย

และเอกสารเกี่ยวกับการรวมปัญญาประดิษฐ์และอัลตราซาวนด์เพื่อกำหนดตำแหน่งหุ่นยนต์

ขั้นตอนที่ 1: ความแม่นยำของเซ็นเซอร์อัลตราโซนิกและไมโครคอนโทรลเลอร์คืออะไร

อะไรคือปัญหาของ Ultrasonic Sensors และ Microcontrollers ?
อะไรคือปัญหาของ Ultrasonic Sensors และ Microcontrollers ?
อะไรคือปัญหาของ Ultrasonic Sensors และ Microcontrollers ?
อะไรคือปัญหาของ Ultrasonic Sensors และ Microcontrollers ?

การรอแบบซิงโครนัสและข้อจำกัดของ Arduino

โค้ดไมโครคอนโทรลเลอร์ทำงานแบบวนซ้ำและไม่รองรับมัลติเธรด เซ็นเซอร์อัลตราโซนิกขึ้นอยู่กับระยะเวลาของสัญญาณ ระยะเวลานี้นานถึง 30 m s ซึ่งนานมากในการรอภายในลูปเมื่อไมโครคอนโทรลเลอร์ต้องจัดการกับมอเตอร์และเซ็นเซอร์หลายตัว (เช่น เซอร์โวและมอเตอร์ DC ที่มีตัวเข้ารหัสล้อ)

ดังนั้นฉันจึงต้องการพัฒนาวัตถุที่ทำงานแบบอะซิงโครนัส

ขั้นตอนที่ 2: มันทำงานอย่างไร ?

มันทำงานอย่างไร ?
มันทำงานอย่างไร ?

ได้รับการออกแบบมาสำหรับ Atmega สำหรับการตรวจจับสิ่งกีดขวาง รองรับเซ็นเซอร์อัลตราโซนิกได้ถึง 4 ตัว

ด้วยการหยุดชะงักของเวลาเป็นระยะ ระบบสามารถตรวจสอบเซ็นเซอร์อัลตราโซนิกได้ถึง 4 ตัว รหัสหลักมีเพียงกำหนดว่าเซ็นเซอร์ใดที่จะเปิดใช้งานด้วยเงื่อนไขและเกณฑ์ หลักจะถูกขัดจังหวะเฉพาะในกรณีที่ (เงื่อนไข, ขีด จำกัด) ปรากฏขึ้น

หน้าที่หลักคือ:

  • การแจ้งเตือนเป็นการตรวจจับสิ่งกีดขวางพื้นฐานและให้สัญญาณขัดจังหวะหากเซ็นเซอร์อย่างน้อย 1 ใน 4 ตัวตรวจพบระยะห่างภายใต้เกณฑ์นั้น
  • จอภาพเป็นฟังก์ชันขยายที่ให้การขัดจังหวะบนการรวมกันของเงื่อนไขระยะห่างของเซ็นเซอร์สูงสุด 4 ตัว เงื่อนไขที่เป็นไปได้สูงกว่า ต่ำกว่า เท่ากับหรือไม่เท่ากับเกณฑ์

ขั้นตอนที่ 3: รายละเอียดทางเทคนิค

ใช้ timer4 พิน 6 7 8 ไม่สามารถใช้เป็น PWM ได้

สำหรับเซ็นเซอร์แต่ละตัว วัตถุต้องมี PIN ทริกเกอร์และ PIN ขัดจังหวะ

ที่ด้านบนของเซ็นเซอร์ขัดจังหวะ PIN วัตถุต้องการ PIN ขัดจังหวะอื่นสำหรับการใช้งานซอฟต์แวร์

ขั้นตอนที่ 4: วิธีการดำเนินการ ?

วิธีการดำเนินการ ?
วิธีการดำเนินการ ?

เชื่อมต่อเซ็นเซอร์ตามด้านบน

ดาวน์โหลดจากที่เก็บ GitHub นี้

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • ตัวอย่างEchoObstacleDetection.ino

สร้างไดเร็กทอรี EchoObstacleDetection ภายในไลบรารี IDE ของคุณและย้าย.cpp และ.h

ทดสอบมัน

เปิด ExampleEchoObstacleDetection.ino

นี่คือตัวอย่างการตรวจจับสิ่งกีดขวางอย่างง่ายที่ใช้เซ็นเซอร์อัลตราโซนิก 2 ตัว

เอาต์พุตถูกกำกับบนจอภาพแบบอนุกรม ตอนแรกจะพิมพ์ระยะทางที่ตรวจพบโดยเซ็นเซอร์ 2 ตัว จากนั้นพิมพ์การแจ้งเตือนตามระยะทางภายใต้เกณฑ์

แนะนำ: