#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int buttonPin = 2;
bool buttonStatePrev = LOW;
int pompe = 3;
int Value; // قم بتحريك تصريح المتغير إلى الخارج من setup
void setup() {
lcd.init();
lcd.backlight();
pinMode(buttonPin, INPUT);
lcd.setCursor(13, 0);
// قم بقراءة القيمة الأولية من المستشعر (يفضل قراءتها من مستشعر حقيقي)
}
void loop() {
int sensor = analogRead(A3);
Value = map(sensor, 0, 1025, 0, 100);
// قراءة حالة الزر
int buttonState = digitalRead(buttonPin);
lcd.setCursor(0, 0);
lcd.print("reservoir=");
lcd.setCursor(13, 0);
lcd.print("%");
lcd.setCursor(10, 0);
lcd.print(Value);
// إذا تم الضغط على الزر
if (buttonState == HIGH && buttonStatePrev == LOW) {
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Pompe active");
digitalWrite(4 ,1);
}
if (buttonState == LOW && buttonStatePrev == LOW) {
lcd.setCursor(0, 1);
lcd.print("Pompe pas active ");
digitalWrite(4 ,0);
}
// إذا لم يتم الضغط على الزر
if (buttonState == LOW && buttonStatePrev == HIGH) {
lcd.clear();}
buttonStatePrev = buttonState;
}