NudeMCU ESP8266 Ultrasonic HCSR04 วัดระยะทาง HCSR04 Ultrasonic เป็น เซนเซอร์วัดระยะทางแบบใช้เสียงสะท้อน โดยส่งเสียง Trig ออกไป แล้วจับเวลาจนกระทั่ง ได้เสียง Echo กลับมา จากหลักการทางฟิสิกส์ของเสียง สามารถเดินทางในอากาศด้วยความเร็ว 343 เมตร/วินาที เมื่อเรารู้เวลาที่เสียงเดินทาง ก็สามารถนำมา คำนวนเป็นระยะทางได้ เนื่องจากเสียงเดินทางเป็นคลื่น จึงนิยมนำมาใช้ในการวัดระยะทางเพื่อหลีกเลี่ยงสิ่งกีดขวาด หรือตรวจจับวัตถุในรัศมีที่ต้องการ โมดูล Ultrasonic HCSR04 ใช้ไฟเลี้ยง 5V ให้สัญญาณเป็นแบบ Digital การต่อใช้งานสามารถทำได้เหมือน Arduino ดังนี้ การต่อขา NodeMCU Ultrasonic
- VCC - VIN
- GND - GND
- Trig - D1
- Echo - D2

ตัวอย่างโคด Arduino ESP8266 Ultrasonic
const int pingPin = D1;
int inPin = D2;
void setup() {
Serial.begin(9600);
}
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.println("cm");
delay(200);
}
long microsecondsToCentimeters(long microseconds)
{
// ความเร็วเสียงในอากาศประมาณ 340 เมตร/วินาที หรือ 29 ไมโครวินาที/เซนติเมตร
// ระยะทางที่ส่งเสียงออกไปจนเสียงสะท้อนกลับมาสามารถใช้หาระยะทางของวัตถุได้
// เวลาที่ใช้คือ ระยะทางไปกลับ ดังนั้นระยะทางคือ ครึ่งหนึ่งของที่วัดได้
return microseconds / 29 / 2;
}
ตัวอย่างการใช้งาน Ultrasonic สำหรับ Arduino เพิ่มเติม คลิกที่นี่