- ส่วนประกอบที่ใช้
- โมดูลเซ็นเซอร์อัลตราโซนิก
- วงจรอุลตร้าโซนิคเซนเซอร์ Arduino แผนภาพและคำอธิบาย
- รหัสเซนเซอร์อัลตราโซนิก Arduino สำหรับการวัดระยะทาง
อัลตราโซนิกเซนเซอร์เป็นเครื่องมือที่ยอดเยี่ยมในการวัดระยะทางและตรวจจับวัตถุโดยไม่ต้องสัมผัสกับโลกจริง ใช้ในการใช้งานหลายอย่างเช่นในการวัดระดับของเหลวการตรวจสอบความใกล้ชิดและเป็นที่นิยมมากขึ้นในรถยนต์เพื่อช่วยในระบบจอดรถด้วยตนเองหรือระบบป้องกันการชน ก่อนหน้านี้เราได้สร้างโครงการ Ultrasonic Sensor มากมายเช่นการตรวจจับระดับน้ำ Ultrasonic Radar เป็นต้น นี่เป็นวิธีที่มีประสิทธิภาพในการวัดระยะทางเล็ก ๆ อย่างแม่นยำ ในโครงการนี้เราได้ใช้เซ็นเซอร์อัลตราโซนิกHC-SR04 กับ Arduino เพื่อกำหนดระยะห่างของสิ่งกีดขวางจากเซ็นเซอร์ หลักการพื้นฐานของการวัดระยะทางอัลตราโซนิกขึ้นอยู่กับ ECHO เมื่อคลื่นเสียงถูกส่งไปในสภาพแวดล้อมคลื่นจะกลับไปยังจุดกำเนิดเป็น ECHO หลังจากกระทบสิ่งกีดขวาง ดังนั้นเราต้องคำนวณเวลาเดินทางของเสียงทั้งสองเท่านั้นหมายถึงเวลาขาออกและเวลากลับไปยังจุดกำเนิดหลังจากกระทบสิ่งกีดขวาง เนื่องจากเราทราบความเร็วของเสียงแล้วหลังจากการคำนวณบางอย่างเราสามารถคำนวณระยะทางได้ เราจะใช้เทคนิคเดียวกันนี้สำหรับโครงการวัดระยะทาง Arduinoนี้เริ่มกันเลย
ส่วนประกอบที่ใช้
- Arduino Uno หรือ Pro Mini
- โมดูลเซ็นเซอร์อัลตราโซนิก
- 16x2 LCD
- มาตราส่วน
- กระดานขนมปัง
- แบตเตอรี่ 9 โวลต์
- การเชื่อมต่อสายไฟ
โมดูลเซ็นเซอร์อัลตราโซนิก
เซนเซอร์วัดระยะ Arduinoมีหลายประเภทแต่ในโครงการนี้เราได้ใช้HC-SR04 เพื่อวัดระยะทางในช่วง 2 ซม. - 400 ซม. โดยมีความแม่นยำ 3 มม. โมดูลเซ็นเซอร์ประกอบด้วยเครื่องส่งสัญญาณอัลตราโซนิกตัวรับและวงจรควบคุม หลักการทำงานของเซ็นเซอร์อัลตราโซนิกมีดังนี้:
- ส่งสัญญาณระดับสูงเป็นเวลา 10us โดยใช้ Trigger
- โมดูลจะส่งสัญญาณ 40 KHz แปดตัวโดยอัตโนมัติจากนั้นตรวจจับว่าได้รับพัลส์หรือไม่
- หากได้รับสัญญาณแสดงว่าผ่านระดับสูง ช่วงเวลาที่มีระยะเวลาสูงคือช่องว่างของเวลาระหว่างการส่งและรับสัญญาณ
ระยะทาง = (เวลา x ความเร็วของเสียงในอากาศ (340 ม. / วินาที)) / 2
แผนภาพเวลา
โมดูลทำงานกับปรากฏการณ์ธรรมชาติของ ECHO ของเสียง ชีพจรจะถูกส่งไปประมาณ 10us เพื่อทริกเกอร์โมดูล หลังจากนั้นโมดูลจะส่งสัญญาณอัลตร้าซาวด์ 40 KHz 8 รอบโดยอัตโนมัติและตรวจสอบเสียงสะท้อน สัญญาณหลังจากกระทบกับสิ่งกีดขวางจะส่งกลับและถูกจับโดยเครื่องรับ ดังนั้นระยะทางของสิ่งกีดขวางจากเซ็นเซอร์จึงคำนวณโดยสูตรที่ระบุ
ระยะทาง = (เวลา x ความเร็ว) / 2.
ในที่นี้เราได้แบ่งผลคูณของความเร็วและเวลาด้วย 2 เนื่องจากเวลาคือเวลาทั้งหมดที่ใช้ในการไปถึงอุปสรรคและย้อนกลับ ดังนั้นเวลาในการเข้าถึงอุปสรรคจึงเป็นเพียงครึ่งหนึ่งของเวลาทั้งหมด
วงจรอุลตร้าโซนิคเซนเซอร์ Arduino แผนภาพและคำอธิบาย
แผนภาพวงจรสำหรับarduino และเซ็นเซอร์อัลตราโซนิกแสดงไว้ด้านบนเพื่อวัดระยะทาง ในการเชื่อมต่อวงจรพิน "ทริกเกอร์" และ "ก้อง" ของโมดูลเซ็นเซอร์อัลตราโซนิกจะเชื่อมต่อโดยตรงกับพิน 18 (A4) และ 19 (A5) ของ arduino 16x2 LCD เชื่อมต่อกับ arduino ในโหมด 4 บิต ขาควบคุม RS, RW และ En เชื่อมต่อโดยตรงกับขา Arduino 2, GND และ 3 และขาข้อมูล D4-D7 เชื่อมต่อกับ 4, 5, 6 และ 7 ของ arduino
ก่อนอื่นเราต้องทริกเกอร์โมดูลเซ็นเซอร์อัลตราโซนิกเพื่อส่งสัญญาณโดยใช้ Arduino จากนั้นรอรับ ECHO Arduino อ่านเวลาระหว่างการทริกเกอร์และ ECHO ที่ได้รับ เรารู้ว่าความเร็วของเสียงอยู่ที่ประมาณ 340m / s ดังนั้นเราจึงสามารถคำนวณระยะทางโดยใช้สูตรที่กำหนด:
ระยะทาง = (เวลาเดินทาง / 2) * ความเร็วของเสียง
ที่ความเร็วของเสียงประมาณ 340 เมตรต่อวินาที
จอ LCD 16x2 ใช้สำหรับแสดงระยะทาง
ค้นหาเพิ่มเติมเกี่ยวกับการทำงานของโครงการการวัดระยะทางในบทช่วยสอนนี้: การวัดระยะทางโดยใช้เซ็นเซอร์อัลตราโซนิกและไมโครคอนโทรลเลอร์ AVR
รหัสเซนเซอร์อัลตราโซนิก Arduino สำหรับการวัดระยะทาง
รหัสที่สมบูรณ์สำหรับโครงการวัดระยะทางอัลตราโซนิกนี้มีให้ที่ด้านล่างของหน้านี้ ในรหัสเราอ่านเวลาโดยใช้ pulseIn (พิน) จากนั้นทำการคำนวณและแสดงผลบน LCD 16x2 โดยใช้ฟังก์ชันที่เหมาะสม