#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD address to 0x27 for a 16 chars and 2 line display
const int buttonPin = 2; // Pushbutton connected to digital pin 2
int buttonState = 0; // Variable for reading the pushbutton status
int lastButtonState = 0; // Variable to store the previous state of the button
void setup() {
lcd.init(); // Initialize the LCD
lcd.backlight(); // Turn on the backlight
randomSeed(analogRead(0)); // Seed the random number generator
pinMode(buttonPin, INPUT); // Set pushbutton pin as input
}
// Function to generate positive random numbers within a range
int positiveRandom(int minVal, int maxVal) {
return random(maxVal - minVal + 1) + minVal;
}
void loop() {
buttonState = digitalRead(buttonPin); // Read the state of the pushbutton
if (buttonState != lastButtonState) {
if (buttonState == HIGH) { //
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Success");
lcd.setCursor(0, 1);
int randomNumber = positiveRandom(0, 999999); // Generate a positive random number between 0 and 999999
lcd.print("Index " + String(randomNumber));
}
delay(200); // Increased debounce delay
}
lastButtonState = buttonState;
}