#include <Wire.h> //เรียกใช้ไลบารี่
#include <LiquidCrystal_I2C.h>
//กำหนดขาของ Ultrasonic sensor
const int trigPin = 12;
const int echoPin = 13;
//กำหนดจอ LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // 0x27 คือที่อยู่ I2C ของจอ LCD
void setup() {
//เรียกใช้ I2C และจอ LCD
Wire.begin();
lcd.init();
lcd.backlight();
//กำหนดขาที่ใช้ส่งสัญญาณ Ultrasonic sensor
pinMode(trigPin, OUTPUT);
//กำหนดขาที่ใช้รับสัญญาณ Ultrasonic sensor
pinMode(echoPin, INPUT);
}
void loop() {
//ส่งสัญญาณ Ultrasonic sensor เป็นช่วงสั้นๆ
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//วัดค่าระยะจาก Ultrasonic sensor
long duration = pulseIn(echoPin, HIGH);
//คำนวณค่าระยะที่วัดมาจาก Ultrasonic sensor
int distance_cm = (duration/2)/29.2;
//แสดงค่าระยะบนจอ LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance : ");
lcd.print(distance_cm);
lcd.print("cm");
//หน่วงเวลา 3 วิก่อนวัดอีกครั้ง
delay(3000);
}