เซนเซอร์ HC-SR04 เป็นเซนเซอร์วัดระยะทางที่ทำงานโดยใช้หลักการของ อัลตราโซนิก (Ultrasonic) ซึ่งเป็นการส่งคลื่นเสียงที่ความถี่สูง (ซึ่งมนุษย์ไม่ได้ยิน) แล้ววัดเวลาที่คลื่นเสียงสะท้อนกลับมาหลังจากชนวัตถุที่อยู่ข้างหน้า จากนั้นจึงคำนวณระยะทางจากเวลาที่ใช้เดินทางของคลื่นเสียง
1.ต่ออุปกรณ์
.png?alt=media&token=6f0a20bb-6c28-48f3-81ef-a571480ba15d)
HC-SR04 > Arduino UNO
VCC>5VTrig>PIN 12Echo>Pin 13GND>GND
2.ลงโปรแกรม
Copy โค้ดด้านล่าง
Arduino
1#define echoPin 13 // Pin ที่เชื่อมต่อกับขา Echo ของ HC-SR04
2#define trigPin 12 // Pin ที่เชื่อมต่อกับขา Trig ของ HC-SR04
3
4long duration; // ใช้เก็บเวลาที่เสียงเดินทางไปกลับ
5int distance; // ใช้เก็บระยะทาง
6
7void setup() {
8 pinMode(trigPin, OUTPUT); // กำหนดให้ trigPin เป็น output
9 pinMode(echoPin, INPUT); // กำหนดให้ echoPin เป็น input
10 Serial.begin(9600); // เริ่มต้นการเชื่อมต่อ Serial เพื่อแสดงผล
11}
12
13void loop() {
14 // ส่งสัญญาณเสียง (Trigger)
15 digitalWrite(trigPin, LOW);
16 delayMicroseconds(2);
17 digitalWrite(trigPin, HIGH);
18 delayMicroseconds(10);
19 digitalWrite(trigPin, LOW);
20
21 // อ่านระยะเวลาที่เสียงสะท้อนกลับมา (Echo)
22 duration = pulseIn(echoPin, HIGH);
23
24 // คำนวณระยะทาง (ในเซนติเมตร)
25 distance = duration * 0.034 / 2;
26
27 // แสดงผลระยะทาง
28 Serial.print("Distance: ");
29 Serial.print(distance);
30 Serial.println(" cm");
31
32 delay(1000); // หน่วงเวลา 1 วินาที
33}
341#define echoPin 13 // Pin ที่เชื่อมต่อกับขา Echo ของ HC-SR04
2#define trigPin 12 // Pin ที่เชื่อมต่อกับขา Trig ของ HC-SR04
3
4long duration; // ใช้เก็บเวลาที่เสียงเดินทางไปกลับ
5int distance; // ใช้เก็บระยะทาง
6
7void setup() {
8 pinMode(trigPin, OUTPUT); // กำหนดให้ trigPin เป็น output
9 pinMode(echoPin, INPUT); // กำหนดให้ echoPin เป็น input
10 Serial.begin(9600); // เริ่มต้นการเชื่อมต่อ Serial เพื่อแสดงผล
11}
12
13void loop() {
14 // ส่งสัญญาณเสียง (Trigger)
15 digitalWrite(trigPin, LOW);
16 delayMicroseconds(2);
17 digitalWrite(trigPin, HIGH);
18 delayMicroseconds(10);
19 digitalWrite(trigPin, LOW);
20
21 // อ่านระยะเวลาที่เสียงสะท้อนกลับมา (Echo)
22 duration = pulseIn(echoPin, HIGH);
23
24 // คำนวณระยะทาง (ในเซนติเมตร)
25 distance = duration * 0.034 / 2;
26
27 // แสดงผลระยะทาง
28 Serial.print("Distance: ");
29 Serial.print(distance);
30 Serial.println(" cm");
31
32 delay(1000); // หน่วงเวลา 1 วินาที
33}
34
3.ผลลัพธ์
เซ็นเซอร์ HC-SR04 ทำหน้าที่วัดระยะทางโดยใช้คลื่นเสียงอัลตราโซนิกที่ส่งออกไปและสะท้อนกลับจากวัตถุที่อยู่ตรงหน้า โดยโค้ดนี้ถูกเขียนขึ้นเพื่อให้เซ็นเซอร์สามารถทำงานร่วมกับบอร์ด Arduino ในการคำนวณระยะทางและแสดงผลผ่าน Serial Monitor

