//R ปรับค่าได้
#include <LiquidCrystal_I2C.h> //ต้องมี
LiquidCrystal_I2C lcd(0x27, 16, 2 ); //ต้องมี
void setup() {
pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(13, OUTPUT);
pinMode(4, INPUT_PULLUP);
lcd.init(); //ต้องมี
lcd.backlight(); //ต้องมี
}///////////////////////////
void loop() {
digitalWrite(3, HIGH);
delayMicroseconds(10);
digitalWrite(3, LOW);
int d = pulseIn(2, HIGH);
lcd.setCursor(0, 0);
lcd.print(d);
int cm = d / 58;
lcd.setCursor(0, 1);
lcd.print(cm);
if (cm <= 100 || cm >= 300) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
delay(500);
lcd.clear();
lcd.setCursor(10,0);
int sw = digitalRead(4);
lcd.print(sw);
if (sw == 0) {
press();
}
} /////////////////////////
void press() {
digitalWrite(3, HIGH);
delayMicroseconds(10);
digitalWrite(3, LOW);
int d = pulseIn(2, HIGH);
int cm = d / 58;
lcd.setCursor(13, 0);
lcd.print(cm);
delay(500);
lcd.clear();
}