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

ฉันกำลังสร้างหุ่นยนต์เพื่อความสนุกสนาน ซึ่งฉันต้องการย้ายเข้าไปอยู่ในบ้านอย่างอิสระ
เป็นงานที่ยาวนานและฉันกำลังทำทีละขั้นตอน
โฟกัสที่สอนได้นี้ในการตรวจจับสิ่งกีดขวางด้วย Arduino Mega
เซ็นเซอร์อัลตราโซนิก HC-SR04 เทียบกับ HY-SRF05 มีราคาถูกและใช้งานง่าย แต่อาจเป็นเรื่องยากที่จะรวมเข้ากับไมโครคอนโทรลเลอร์ลูปในหุ่นยนต์ที่ซับซ้อน ฉันต้องการเรียกใช้การตรวจจับสิ่งกีดขวางในแบบอะซิงโครนัส
_
ฉันได้เผยแพร่ 3 คำแนะนำเกี่ยวกับคุณสมบัติของหุ่นยนต์นี้:
- ทำเครื่องเข้ารหัสล้อของคุณ
- สร้างเกตเวย์ WIFI ของคุณ
- ใช้หน่วยโมดูลเฉื่อย
และเอกสารเกี่ยวกับการรวมปัญญาประดิษฐ์และอัลตราซาวนด์เพื่อกำหนดตำแหน่งหุ่นยนต์
ขั้นตอนที่ 1: ความแม่นยำของเซ็นเซอร์อัลตราโซนิกและไมโครคอนโทรลเลอร์คืออะไร


การรอแบบซิงโครนัสและข้อจำกัดของ 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 ตัว จากนั้นพิมพ์การแจ้งเตือนตามระยะทางภายใต้เกณฑ์
แนะนำ:
การออกแบบเกมในการสะบัดใน 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++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน

เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง