อธิบายการทำงานของเซ็นเซอร์ HC-SR04 อย่างละเอียด
เซ็นเซอร์ HC-SR04 เป็นเซ็นเซอร์วัดระยะทางแบบอัลตราโซนิก ที่นิยมใช้กันอย่างแพร่หลาย ในงานด้านหุ่นยนต์
และระบบอัตโนมัติ ต่าง ๆ เนื่องจากมีราคาไม่แพง ใช้งานง่าย และให้ผลลัพธ์ที่ค่อนข้างแม่นยำ
หลักการทำงาน
การส่งคลื่นอัลตราโซนิก: เมื่อเซ็นเซอร์ได้รับสัญญาณ Trigger (สัญญาณกระตุ้น) ตัวเซ็นเซอร์จะส่งคลื่นเสียงความถี่สูง (อัลตราโซนิก) ออกไป ซึ่งเป็นความถี่ที่สูงเกินกว่าที่หูมนุษย์จะได้ยิน
การรับสัญญาณสะท้อน: คลื่นเสียงที่ส่งออกไปจะเดินทางไปกระทบกับวัตถุที่อยู่ด้านหน้า แล้วสะท้อนกลับมายังตัวรับของเซ็นเซอร์
การวัดระยะเวลา: เซ็นเซอร์จะทำการวัดระยะเวลาที่ใช้ในการเดินทางไปกลับของคลื่นเสียงนี้
การคำนวณระยะทาง: จากระยะเวลาที่วัดได้ และความเร็วของเสียงในอากาศ (ซึ่งเป็นค่าคงที่) เซ็นเซอร์จะสามารถคำนวณหาระยะห่างระหว่างเซ็นเซอร์กับวัตถุได้
ส่วนประกอบหลักของเซ็นเซอร์ HC-SR04
ตัวส่ง (Transmitter): ทำหน้าที่ส่งคลื่นอัลตราโซนิกออกไป
ตัวรับ (Receiver): ทำหน้าที่รับคลื่นอัลตราโซนิกที่สะท้อนกลับมา
วงจรอิเล็กทรอนิกส์: ทำหน้าที่ประมวลผลสัญญาณและคำนวณระยะทาง
การนำไปใช้งาน
การวัดระยะห่าง: สามารถนำไปใช้วัดระยะห่างของวัตถุได้หลากหลาย เช่น การตรวจจับสิ่งกีดขวางของหุ่นยนต์ การวัดระดับของของเหลว
การควบคุมมอเตอร์: สามารถนำไปใช้ควบคุมมอเตอร์ให้หยุดหรือเปลี่ยนทิศทางเมื่อตรวจพบวัตถุ
การสร้างระบบนิรภัย: สามารถนำไปใช้สร้างระบบนิรภัย เช่น ระบบเปิดประตูอัตโนมัติเมื่อมีคนเข้าใกล้
ข้อดีของเซ็นเซอร์ HC-SR04
ราคาถูก: มีราคาไม่แพง ทำให้สามารถนำไปใช้งานได้อย่างกว้างขวาง
ใช้งานง่าย: มีเพียงสองขาสำหรับเชื่อมต่อ คือขา Trigger และขา Echo
แม่นยำ: ให้ผลลัพธ์ที่ค่อนข้างแม่นยำ
ขนาดเล็ก: มีขนาดเล็ก ทำให้สามารถนำไปติดตั้งในพื้นที่จำกัดได้
ข้อจำกัดของเซ็นเซอร์ HC-SR04
ช่วงการวัดจำกัด: มีช่วงการวัดระยะทางที่จำกัด
ได้รับผลกระทบจากสภาพแวดล้อม: เช่น อุณหภูมิ ความชื้น และเสียงรบกวน สามารถส่งผลต่อความแม่นยำของการวัด
สรุป:
เซ็นเซอร์ HC-SR04 เป็นเซ็นเซอร์ที่ใช้งานง่ายและมีประโยชน์อย่างมาก ในการสร้างโครงงานด้านอิเล็กทรอนิกส์และหุ่นยนต์ต่าง ๆ
หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเซ็นเซอร์ตัวนี้ สามารถค้นหาข้อมูลเพิ่มเติมได้จากแหล่งข้อมูลต่างๆ เช่น Datasheet
สิ่งที่ต้องใช้
- Atduino Nano
- Ultrasonic Module SR04
- LED 1
- Breadboard 1
- สายจ้ัมพ์
การเชื่อมต่อ
Ultrasonic Module SR04 ------> Arduino Nano
VCC -------------------------> 5V สีแดง
Trig ------------------------> PIN 6 สีส้ม
Echo ------------------------> PIN 7 สีเหลือง
GND -------------------------> GND น้ำตาล
+LED ------------------------> PIN 8 ขายาว
-LED -----------------------> GND
การคำนวณระยะห่างจากสัญญาณที่ได้จากโมดูล HC-SR04 สามารถทำได้โดยใช้สูตรง่าย ๆ ดังนี้:
ขา Trig ใช้สำหรับส่งสัญญาณเพื่อเริ่มการตรวจจับ
ขา Echo ใช้รับสัญญาณสะท้อนกลับ
ส่งสัญญาณ:
ส่งสัญญาณ HIGH ที่ขา Trig เป็นเวลา 10 ไมโครวินาทีเพื่อเริ่มการส่งคลื่นเสียง
อ่านสัญญาณที่ Echo:
เมื่อคลื่นเสียงสะท้อนกลับมายังโมดูล ขา Echo จะส่งสัญญาณ HIGH นานเป็นเวลาที่ใช้ (ในไมโครวินาที)
คำนวณระยะทาง:
ใช้สูตรในการคำนวณระยะห่าง:
Distance=(Time×Speed of Sound) /2
โดยที่:
Time
Time คือเวลาที่อ่านได้จากขา Echo (ในไมโครวินาที)
Speed of Sound
Speed of Sound คือประมาณ 343 เมตรต่อวินาทีในอุณหภูมิห้อง (หรือ 0.343 เซ็นติเมตรต่อไมโครวินาที)
เนื่องจากสัญญาณต้องเดินทางไปและกลับจากวัตถุ จึงต้องแบ่งด้วย 2
// คำนวณระยะห่าง
distance = (duration * 0.343) / 2; // ระยะทาง (เซนติเมตร)
////////////////////////////////////////////////////
// ตัวอย่างโค้ด Arduino
const int trigPin = 6;
const int echoPin = 7;
const int led = 8;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
long duration, distance;
// ส่งคลื่นเสียง
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// อ่านเวลาจาก Echo
duration = pulseIn(echoPin, HIGH);
// คำนวณระยะห่าง
distance = (duration * 0.343) / 2; // ระยะทาง (เซนติเมตร)
// แสดงผลลัพธ์
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000); // รอสักครู่ก่อนอ่านค่าใหม่
if(distance<=20){
digitalWrite(led, HIGH);
delay(500);
}else{
digitalWrite(led, LOW);
}
}
Reference :
https://www.ett.co.th/prodKitNLab/man-th-ET-IOKIT2.pdf
ความคิดเห็น
แสดงความคิดเห็น