#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define EVEN_BUTTON_PIN 25
#define ODD_BUTTON_PIN 26
// Define CLEAR_BUTTON_PIN
#define CLEAR_BUTTON_PIN 33
int evenButtonState = 0;
int oddButtonState = 0;
// Declare clearButtonState
int clearButtonState = 0;
// Declare flag variable with name clearButtonPressed
bool evenButtonPressed = false;
bool oddButtonPressed = false;
bool clearButtonPressed = false;
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
lcd.print("Hello ");
lcd.setCursor(2,1);
lcd.print("Everyone..!");
delay(1000);
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("Welcome to");
lcd.setCursor(0, 1);
String message = "Number Generator";
for (byte i = 0; i < message.length(); i++) {
lcd.print(message[i]);
delay(100);
}
pinMode(EVEN_BUTTON_PIN, INPUT_PULLUP);
pinMode(ODD_BUTTON_PIN, INPUT_PULLUP);
// Set CLEAR_BUTTON_PIN as INPUT_PULLUP
pinMode(CLEAR_BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
evenButtonState = digitalRead(EVEN_BUTTON_PIN);
oddButtonState = digitalRead(ODD_BUTTON_PIN);
// Read the clear button state
clearButtonState = digitalRead(CLEAR_BUTTON_PIN);
if (evenButtonState == HIGH && !evenButtonPressed) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Even number:");
lcd.setCursor(0, 1);
lcd.print(generateEvenRandom());
evenButtonPressed = true;
} else if (evenButtonState == LOW) {
evenButtonPressed = false;
}
if (oddButtonState == HIGH && !oddButtonPressed) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Odd number:");
lcd.setCursor(0, 1);
lcd.print(generateOddRandom());
oddButtonPressed = true;
} else if (oddButtonState == LOW) {
oddButtonPressed = false;
}
// Write the condition to check whether is clear button pressed or not then accordingly clear the LCD
if(clearButtonState == HIGH && !clearButtonPressed){
lcd.clear();
clearButtonPressed=true;
}else if (clearButtonState == LOW) {
clearButtonPressed = false;
}
delay(100);
}
int generateEvenRandom() {
int number = random(1, 100);
return number + (number % 2);
}
int generateOddRandom() {
int number = random(1, 100);
return number + (1 - (number % 2));
}