#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// กำหนดที่อยู่ I2C ของหน้าจอ LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);
// กำหนดขาใช้งานของเซ็นเซอร์ HC-SR04
#define TRIG_PIN 5
#define ECHO_PIN 18
// กำหนดขาสำหรับ Potentiometer
#define POT_PIN 34
void setup() {
// ตั้งค่าการทำงานของ LCD
lcd.init();
lcd.backlight();
// กำหนดโหมดขาของ HC-SR04
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
// ตั้งค่าขาสำหรับ Potentiometer
pinMode(POT_PIN, INPUT);
// แสดงข้อความเริ่มต้นบน LCD
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(0, 1);
lcd.print("Pot:");
}
void loop() {
// อ่านค่า Potentiometer
int potValue = analogRead(POT_PIN);
float potVoltage = potValue * (3.3 / 4095.0);
// คำนวณระยะทางจาก HC-SR04
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = (duration * 0.0343) / 2; // คำนวณระยะทางเป็นเซนติเมตร
// แสดงผลบน LCD
lcd.setCursor(10, 0);
lcd.print(distance);
lcd.print(" cm ");
lcd.setCursor(5, 1);
lcd.print(potVoltage, 2);
lcd.print(" V ");
delay(500);
}