#include <LiquidCrystal.h>
//กำหนดขา RS, E, D4, D5, D6, D7 ของ LCD ต่อกับขาดิจิตอล ESP32
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
#define PIN_TRIG 3
#define PIN_ECHO 2
void setup() {
Serial.begin(115200);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
}
void loop() {
// Start a new measurement:
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
// Read the result:
int duration = pulseIn(PIN_ECHO, HIGH);
Serial.print("Distance in CM: ");
Serial.println(duration / 58);
Serial.print("Distance in inches: ");
Serial.println(duration / 148);
lcd.begin(16, 2); // จอกว้าง 16 ตัวอักษร 2 บรรทัด
lcd.setCursor(4, 0); // เซ็ตเคเซอร์ไปบรรทัดบน คอลั่มที่ 4
lcd.print("Distance"); // แสดงผลคำว่า Distance ออกหน้าจอ
lcd.setCursor(0, 1); // เซ็ตเคเซอร์ไปบรรทัดล่าง คอลั่มที่ 0
lcd.print(duration / 58); // แสดงผลค่าระยะที่วัดได้เป็น เซ็นติเมตร
lcd.setCursor(4, 1); // เซ็ตเคเซอร์ไปบรรทัดล่าง คอลั่มที่ 4
lcd.print("cm : "); // แสดงผลคำว่า cm : ออกหน้าจอ
lcd.setCursor(9, 1); // เซ็ตเคเซอร์ไปบรรทัดล่าง คอลั่มที่ 9
lcd.print(duration / 148);// แสดงผลค่าระยะที่วัดได้เป็น นิ้ว
lcd.setCursor(12, 1); // เซ็ตเคเซอร์ไปบรรทัดล่าง คอลั่มที่ 12
lcd.print("inch"); // แสดงผลคำว่า inch ออกหน้าจอ
delay(1000); // หน่วงเวลา 1 วินาที
}