#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <LiquidCrystal_I2C.h>
#define OLED_RESET -1
Adafruit_SSD1306 display(OLED_RESET);
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int buttonPin = 2; // Push button pin
const int buttonPin1 = 5;
int buttonState1=0;
int buttonState = LOW;
int lastButtonState = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 20;
int messageIndex = 2;
String messages[] = {
"Vricsa",
"Technology",
"Manglore"
};
void setup() {
Serial.begin(1152000);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.display();
delay(2000);
display.clearDisplay();
lcd.init();
lcd.backlight();
pinMode(buttonPin, INPUT);
pinMode(buttonPin1, INPUT);
}
void loop() {
int reading = digitalRead(buttonPin);
int buttonState1=digitalRead(buttonPin1);
Serial.println(buttonState1);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
messageIndex = (messageIndex + 1) % (sizeof(messages) / sizeof(messages[0]));
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println(messages[messageIndex]);
display.display();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(messages[messageIndex]);
}
}
}
lastButtonState = reading;
if (buttonState1==HIGH){
lcd.clear();
display.clearDisplay();
display.display();
messageIndex=2;
}
}