// กำหนดขาของ HC-SR04
const int trigPin = 7; // ขา Trig ของ HC-SR04
const int echoPin = 6; // ขา Echo ของ HC-SR04
// ตัวแปรสำหรับเก็บเวลาที่วัดได้และระยะทาง
long duration;
float distance;
void setup() {
// ตั้งค่าขา Trig เป็นเอาต์พุตและขา Echo เป็นอินพุต
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// เปิดการเชื่อมต่อ Serial เพื่อดูข้อมูล
Serial.begin(9600);
}
void loop() {
// แน่ใจว่าขา Trig เป็น LOW ก่อนเริ่มการทำงาน
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// ส่งสัญญาณ HIGH ไปที่ขา Trig เป็นเวลา 10 ไมโครวินาที
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// วัดระยะเวลา (เวลาในการรับสัญญาณที่ขา Echo)
duration = pulseIn(echoPin, HIGH);
// คำนวณระยะทางจากเวลา (หน่วยเป็นเซนติเมตร)
distance = duration * 0.0343 / 2;
// แสดงผลระยะทางผ่าน Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// หน่วงเวลาเล็กน้อยก่อนวัดครั้งถัดไป
delay(500);
}