i want to join my ultrasonic sensor and tilt sensor together like if i click button1 the LCD will display the value of the ultrasonic sensor and if I click button2 it will display the value of tilt sensor. but it only work once like I want to make it work forever until I press the second button to change the sensor here's my code
#include <LiquidCrystal.h> // Library
LiquidCrystal lcd(2,3,4,5,6,7);
const int Button1 = 10;
const int Button2 = 9;
#define trigPin A2
#define echoPin A3
int Buttonstate1 = 0;
int Buttonstate2= 0;
int BlueLED = A4;
int BuzzPin = A5;
int duration, distance;
int Tilt = analogRead(A1);
void setup() {
lcd.begin(16,2);
pinMode(Button1, OUTPUT);
pinMode(Button2, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(BlueLED, OUTPUT);
pinMode(BuzzPin, OUTPUT);
}
void loop() {
float duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) * 0.0344;
Buttonstate1 = digitalRead(Button1);
Buttonstate2 = digitalRead(Button2);
if (Buttonstate1 == HIGH) { // Ultrasonic Sensor (Start)
digitalWrite(BlueLED, HIGH);
digitalWrite(BuzzPin, HIGH);
delay(300);
digitalWrite(BlueLED, LOW);
digitalWrite(BuzzPin, LOW);
lcd.clear();
lcd.print("Distance = ");
lcd.print(distance);
} // Ultrasonic Sensor (End)
else if (Buttonstate2 == HIGH) { // Tilt Sensor (Start)
digitalWrite(BlueLED, HIGH);
digitalWrite(BuzzPin, HIGH);
delay(300);
digitalWrite(BlueLED, LOW);
digitalWrite(BuzzPin, LOW);
lcd.clear();
lcd.print("Tilt = ");
lcd.print(Tilt);
} // Tilt Sensor (End)
}