วิธีเชื่อมต่อเครื่องวัดระยะด้วยคลื่นเสียงความถี่สูง HC-SR04 กับ Arduino

สารบัญ:

วิธีเชื่อมต่อเครื่องวัดระยะด้วยคลื่นเสียงความถี่สูง HC-SR04 กับ Arduino
วิธีเชื่อมต่อเครื่องวัดระยะด้วยคลื่นเสียงความถี่สูง HC-SR04 กับ Arduino

วีดีโอ: วิธีเชื่อมต่อเครื่องวัดระยะด้วยคลื่นเสียงความถี่สูง HC-SR04 กับ Arduino

วีดีโอ: วิธีเชื่อมต่อเครื่องวัดระยะด้วยคลื่นเสียงความถี่สูง HC-SR04 กับ Arduino
วีดีโอ: วัดระยะทางด้วย ultrasonic sensor module hc-sr04 2024, พฤศจิกายน
Anonim

ในบทความนี้ เราจะเชื่อมต่อโซนาร์อัลตราโซนิกเรนจ์ไฟนเดอร์ HC-SR04 กับ Arduino

เซ็นเซอร์อัลตราโซนิก HC-SR04
เซ็นเซอร์อัลตราโซนิก HC-SR04

จำเป็น

  • - Arduino;
  • - เซ็นเซอร์อัลตราโซนิก HC-SR04;
  • - สายเชื่อมต่อ

คำแนะนำ

ขั้นตอนที่ 1

การทำงานของเครื่องวัดระยะด้วยคลื่นเสียงความถี่สูง HC-SR04 นั้นอิงตามหลักการของการหาตำแหน่งเสียงสะท้อน มันส่งเสียงกระตุ้นสู่อวกาศและรับสัญญาณที่สะท้อนจากสิ่งกีดขวาง ระยะทางไปยังวัตถุนั้นพิจารณาจากเวลาการแพร่กระจายของคลื่นเสียงไปยังสิ่งกีดขวางและถอยหลัง

คลื่นเสียงถูกกระตุ้นโดยการใช้พัลส์บวกอย่างน้อย 10 ไมโครวินาทีกับขา TRIG ของเครื่องวัดระยะ ทันทีที่ชีพจรสิ้นสุดลง เครื่องวัดระยะจะปล่อยพัลส์เสียงที่มีความถี่ 40 kHz ออกสู่พื้นที่ด้านหน้า ในเวลาเดียวกัน อัลกอริธึมสำหรับกำหนดเวลาหน่วงของสัญญาณที่สะท้อนออกมาก็เปิดตัว และหน่วยตรรกะจะปรากฏขึ้นที่ขา ECHO ของเครื่องวัดระยะ ทันทีที่เซ็นเซอร์ตรวจจับสัญญาณสะท้อน ลอจิกซีโร่จะปรากฏบนพิน ECHO ระยะเวลาของสัญญาณนี้ ("Echo delay" ในรูป) กำหนดระยะทางไปยังวัตถุ

ช่วงการวัดระยะทางของเครื่องวัดระยะ HC-SR04 - สูงสุด 4 เมตรพร้อมความละเอียด 0.3 ซม. มุมการสังเกต - 30 องศา, มุมใช้งานจริง - 15 องศา ปริมาณการใช้กระแสไฟในโหมดสแตนด์บายคือ 2 mA ระหว่างการทำงาน - 15 mA

หลักการทำงานของเครื่องวัดระยะแบบอัลตราโซนิค HC-SR04
หลักการทำงานของเครื่องวัดระยะแบบอัลตราโซนิค HC-SR04

ขั้นตอนที่ 2

แหล่งจ่ายไฟของเรนจ์ไฟอัลตราโซนิกดำเนินการด้วยแรงดันไฟฟ้า +5 V อีกสองพินเชื่อมต่อกับพอร์ตดิจิทัลของ Arduino เราจะเชื่อมต่อกับ 11 และ 12

การเชื่อมต่อ HC-SR04 Ultrasonic Rangefinder กับ Arduino
การเชื่อมต่อ HC-SR04 Ultrasonic Rangefinder กับ Arduino

ขั้นตอนที่ 3

ตอนนี้ มาเขียนแบบร่างที่กำหนดระยะห่างจากสิ่งกีดขวางและส่งออกไปยังพอร์ตอนุกรม ขั้นแรก เรากำหนดหมายเลขของหมุด TRIG และ ECHO - นี่คือหมุด 12 และ 11 จากนั้นเราประกาศทริกเกอร์เป็นเอาต์พุตและ echo เป็นอินพุต เราเริ่มต้นพอร์ตอนุกรมที่ 9600 บอด ในการวนซ้ำแต่ละครั้ง () เราจะอ่านระยะทางและส่งออกไปยังพอร์ต

ฟังก์ชัน getEchoTiming () จะสร้างพัลส์ทริกเกอร์ มันสร้างกระแสชีพจร 10 ไมโครวินาที ซึ่งเป็นตัวกระตุ้นให้เกิดการแผ่รังสีโดยเครื่องวัดระยะของแพ็กเก็ตเสียงสู่อวกาศ จากนั้นเธอก็จำเวลาตั้งแต่เริ่มส่งคลื่นเสียงไปจนถึงเสียงสะท้อน

ฟังก์ชัน getDistance () คำนวณระยะทางไปยังวัตถุ จากวิชาฟิสิกส์ของโรงเรียนเราจำได้ว่าระยะทางเท่ากับความเร็วคูณด้วยเวลา: S = V * t ความเร็วของเสียงในอากาศคือ 340 m / s เวลาเป็นไมโครวินาทีที่เราทราบคือ "duratuion" เพื่อให้ได้เวลาเป็นวินาที ให้หารด้วย 1,000,000 เนื่องจากเสียงเดินทางไกลเป็นสองเท่า - ไปยังวัตถุและไปข้างหลัง - คุณต้องแบ่งระยะครึ่งหนึ่ง ปรากฎว่าระยะทางถึงวัตถุ S = 34000 cm / วินาที * ระยะเวลา / 1.000.000 วินาที / 2 = 1.7 cm / วินาที / 100 ซึ่งเราเขียนไว้ในแบบร่าง ไมโครคอนโทรลเลอร์ทำการคูณได้เร็วกว่าการหาร ดังนั้นฉันจึงแทนที่ "/ 100" ด้วย "* 0, 01" ที่เทียบเท่ากัน

ร่างสำหรับการทำงานกับโซนาร์อัลตราโซนิก HC-SR04
ร่างสำหรับการทำงานกับโซนาร์อัลตราโซนิก HC-SR04

ขั้นตอนที่ 4

นอกจากนี้ ห้องสมุดหลายแห่งยังถูกเขียนขึ้นเพื่อทำงานร่วมกับเครื่องวัดระยะด้วยคลื่นเสียงความถี่สูง ตัวอย่างเช่นอันนี้: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip ไลบรารีได้รับการติดตั้งด้วยวิธีมาตรฐาน: ดาวน์โหลด คลายซิปไปยังไดเร็กทอรีไลบรารี ซึ่งอยู่ในโฟลเดอร์ที่มี Arduino IDE หลังจากนั้นสามารถใช้ห้องสมุดได้

หลังจากติดตั้งไลบรารี่แล้ว มาเขียนสเก็ตช์ใหม่กัน ผลลัพธ์ของการทำงานเหมือนกัน - จอภาพพอร์ตอนุกรมแสดงระยะทางไปยังวัตถุเป็นเซนติเมตร หากคุณเขียน float dist_cm = Ultrasonic. Ranging (INC) ในแบบร่าง ระยะทางจะแสดงเป็นนิ้ว

ร่างโซนาร์อัลตราโซนิกโดยใช้ห้องสมุด
ร่างโซนาร์อัลตราโซนิกโดยใช้ห้องสมุด

ขั้นตอนที่ 5

ดังนั้นเราจึงเชื่อมต่อเครื่องวัดระยะอัลตราโซนิก HC-SR04 กับ Arduino และรับข้อมูลจากมันในสองวิธีที่แตกต่างกัน: โดยใช้ไลบรารีพิเศษและไม่ใช้

ข้อดีของการใช้ไลบรารีคือจำนวนโค้ดลดลงอย่างมาก และปรับปรุงความสามารถในการอ่านของโปรแกรม คุณไม่จำเป็นต้องเจาะลึกถึงความซับซ้อนของอุปกรณ์และคุณสามารถใช้งานได้ทันที แต่นี่ก็เป็นข้อเสียเช่นกัน: คุณไม่เข้าใจวิธีการทำงานของอุปกรณ์และกระบวนการที่เกิดขึ้น ไม่ว่าในกรณีใด วิธีที่จะใช้นั้นขึ้นอยู่กับคุณ

แนะนำ: