const int pingPin = 13;
int inPin = 12;
int LED_Pin = 10;//ขาของไฟLED
void setup() {
Serial.begin(9600);
pinMode(LED_Pin, OUTPUT);
}
void loop()
{
long duration, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(inPin, INPUT);
duration = pulseIn(inPin, HIGH);
cm = microsecondsToCentimeters(duration);
Serial.print(cm);
Serial.print(cm);
Serial.println(); //พิมพ์ค่าที่สามารถตรวจจับได้จากHC-SR04ตรงif และกดปรับเอาที่ตัวเซนเซอร์
delay(100);
if( cm <= 50){ //ถ้าวัตถุน้อยกว่าหรือเท่ากับ50cmไฟLEDจะติด
digitalWrite(LED_Pin, HIGH);
}
else{
digitalWrite(LED_Pin, LOW);//ถ้าวัตถุมากกว่า50cmไฟLEDจะดับ
}
}
long microsecondsToCentimeters(long microseconds)
{
//ความเร็วของเสียงคือ 340 m/s หรือ 29 ไมโครวินาทีต่อเซนติเมตร ค่าปิงเคลื่อนที่ไปและกลับ ดังนั้นในการหาระยะทางของวัตถุ เราจึงใช้ระยะทางที่เดินทางครึ่งหนึ่ง
return microseconds / 29 / 2;
// เว็บไซต์ที่ใช้ศึกษา https://www.ai-corporation.net/2022/02/28/ultrasonic-module-hc-sr04-with-arduino-uno/
// คุณาสิน24
}