#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Define EVEN_BUTTON_PIN and ODD_BUTTON_PIN
#define EVEN_BUTTON_PIN 25
#define ODD_BUTTON_PIN 26
// Even and odd buttonstate variables
int evenButtonState = 0;
int oddButtonState = 0;
// Boolean variables for odd and even to check the button is pressed or not
bool evenButtonPressed = false;
bool oddButtonPressed = 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 set as the INPUT_PULLUP for even and odd button
pinMode(EVEN_BUTTON_PIN, INPUT_PULLUP);
pinMode(ODD_BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
// Reading the state of the even and odd button
evenButtonState = digitalRead(EVEN_BUTTON_PIN);
oddButtonState = digitalRead(ODD_BUTTON_PIN);
// Write a condition to check if the even button is pressed or not accordingly call the function generateEvenRandom
if (evenButtonState == HIGH && !evenButtonPressed) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Even number:");
lcd.setCursor(0, 1);
// Generate a random even number
lcd.print(generateEvenRandom());
evenButtonPressed = true;
} else if (evenButtonState == LOW) {
evenButtonPressed = false;
}
// Write a condition to check if the odd button is pressed or not accordingly call the function generateOddRandom
if (oddButtonState == HIGH && !oddButtonPressed) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Odd number:");
lcd.setCursor(0, 1);
lcd.print(generateOddRandom()); // Generate a random odd number
oddButtonPressed = true;
} else if (oddButtonState == LOW) {
oddButtonPressed = false;
}
// Delay to debounce the buttons
delay(100);
}
int generateEvenRandom() {
// Generating a random number between 1 and 99
int number = random(1, 100);
// Round up to the nearest even number
return number + (number % 2);
}
// Write code to genrate odd random numbers
int generateOddRandom() {
// Generate a random number between 1 and 99
int number = random(1, 100);
// Round up to the nearest odd number
return number + (1 - (number % 2));
}