คำอธิบาย
HC-SR04P คืออะไร
HC-SR04P คือ เซนเซอร์อัลตร้าโซนิค (Ultrasonic Distance Sensor) รุ่นที่รองรับแรงดันไฟ 3.3V และ 5V ได้โดยตรง ทำหน้าที่ วัดระยะทาง โดยส่งคลื่นเสียงความถี่สูงออกไป แล้ววัดเวลาที่คลื่นสะท้อนกลับมาเพื่อคำนวณระยะ
ใช้สำหรับโปรเจกต์ หุ่นยนต์หลบสิ่งกีดขวาง, ระบบตรวจจับวัตถุ, การวัดระดับน้ำ, และอื่น ๆ
(P ใน HC-SR04P ย่อมาจาก "Powered for 3.3V" ครับ รุ่นเก่า HC-SR04 ต้องใช้ 5V เท่านั้น)
สเปคของ HC-SR04P
รายการ
|
รายละเอียด
|
แรงดันไฟฟ้าที่รองรับ
|
3.0V – 5.5V DC
|
กระแสไฟ
|
ประมาณ 8 mA
|
ช่วงวัดระยะ
|
2 ซม. – 400 ซม. (0.02 – 4 เมตร)
|
ความแม่นยำ
|
±3 มม.
|
มุมการวัด
|
ประมาณ 15°
|
อินเทอร์เฟซ
|
ดิจิทัล (ใช้ขา Trig และ Echo)
|
ขาเชื่อมต่อ
|
4 ขา (VCC, Trig, Echo, GND)
|
ความถี่เสียงที่ใช้
|
40 kHz
|
การใช้งานกับ Arduino
✅ การต่อสาย:
ขา HC-SR04P
|
ต่อกับ Arduino UNO
|
VCC
|
5V (หรือ 3.3V ได้)
|
GND
|
GND
|
Trig
|
ขา D9 (หรือขาดิจิทัลอื่น)
|
Echo
|
ขา D10 (หรือขาดิจิทัลอื่น)
|
✅ ตัวอย่างโค้ด Arduino:
const int trigPin = 9;
const int echoPin = 10;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration;
float distance;
// สั่งให้ส่งสัญญาณ
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// อ่านเวลาที่สัญญาณสะท้อนกลับ
duration = pulseIn(echoPin, HIGH);
// คำนวณระยะทาง (หน่วยเป็นเซนติเมตร)
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
อธิบายเพิ่มเติม:
-
ส่งสัญญาณ Trig เป็นพัลส์สั้น ๆ
-
อ่านเวลาที่ Echo มีสัญญาณ HIGH
-
เอาเวลามาคำนวณเป็นระยะทาง
💡 การประยุกต์ใช้งาน:
โปรเจกต์
|
การใช้งาน HC-SR04P
|
หุ่นยนต์หลบหลีกสิ่งกีดขวาง
|
ตรวจจับระยะด้านหน้า
|
เซนเซอร์วัดระดับน้ำ
|
วัดระดับน้ำในถังเก็บ
|
เครื่องจอดรถอัตโนมัติ
|
วัดระยะห่างท้ายรถ
|
ระบบเปิดประตูอัตโนมัติ
|
ตรวจจับคนที่เข้ามาใกล้ประตู
|
เกมอินเตอร์แอคทีฟ
|
ตรวจจับมือหรือวัตถุเคลื่อนไหว
|
✅ ข้อดีของ HC-SR04P:
-
รองรับทั้ง 3.3V และ 5V → ใช้ได้กับ Arduino, ESP32, Raspberry Pi
-
ใช้งานง่าย มีไลบรารี Arduino รองรับเยอะ
-
ราคาประหยัด
-
ทนทาน และวัดได้ไกลพอสมควร (ถึง 4 เมตร)
⚠️ ข้อควรระวัง:
-
อย่าให้เซนเซอร์เปียกน้ำ เพราะจะทำงานผิดพลาด
-
วัดได้ไม่แม่นหากวัตถุมีพื้นผิวดูดซับเสียง เช่น ผ้า
-
หากต้องการใช้งานหลายตัวพร้อมกัน ต้องตั้งเวลาหน่วงเพื่อหลีกเลี่ยงคลื่นกวนกัน
