#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
int ledPin = 33;
int mainsw = 4;
// define the switch pins
int switch1 = 13;
int switch2 = 12;
int switch3 = 14;
int switch4 = 27;
int switch5 = 26;
int delayTime1 = 600;
int delayTime2 = 250;
int delayTime3 = 100;
int delayTime4 = 75;
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
// set the LED pin as an output
pinMode(ledPin, OUTPUT);
pinMode(switch1, INPUT_PULLUP);
pinMode(switch2, INPUT_PULLUP);
pinMode(switch3, INPUT_PULLUP);
pinMode(switch4, INPUT_PULLUP);
pinMode(switch5, INPUT_PULLUP);
pinMode(mainsw, INPUT_PULLUP);
}
void loop() {
// check the state of each switch
int mode1 = digitalRead(switch1);
int mode2 = digitalRead(switch2);
int mode3 = digitalRead(switch3);
int mode4 = digitalRead(switch4);
int mode5 = digitalRead(switch5);
// blink the LED according to the mode
if (mode1 == LOW) {
lcd.setCursor(0,0);
lcd.print("Idle Rumbble");
lcd.setCursor(0,1);
lcd.println("Mode: 1 500 m/s");
digitalWrite(ledPin, HIGH);
delay(delayTime1);
digitalWrite(ledPin, LOW);
delay(delayTime1);
Serial.println("Idle Rumble 500 m/s");
} else if (mode2 == LOW) {
digitalWrite(mainsw, LOW);
lcd.setCursor(0,0);
lcd.print("Idle Rumbble");
lcd.setCursor(0,1);
lcd.println("Mode: 2 250 m/s");
digitalWrite(ledPin, HIGH);
delay(delayTime2);
digitalWrite(ledPin, LOW);
delay(delayTime2);
Serial.println("Idle Rumble 250 m/s");
} else if (mode3 == LOW) {
digitalWrite(mainsw, LOW);
lcd.setCursor(0,0);
lcd.print("Idle Rumbble");
lcd.setCursor(0,1);
lcd.println("Mode: 3 100 m/s");
digitalWrite(ledPin, HIGH);
delay(delayTime3);
digitalWrite(ledPin, LOW);
delay(delayTime3);
Serial.println("Idle Rumble 100 m/s");
} else if (mode4 == LOW) {
digitalWrite(mainsw, LOW);
lcd.setCursor(0,0);
lcd.print("RapidBackfire");
lcd.setCursor(0,1);
lcd.println("Mode: 1 75 m/s");
digitalWrite(ledPin, HIGH);
delay(delayTime4);
digitalWrite(ledPin, LOW);
delay(delayTime4);
Serial.println("Rapid Backfire 75 m/s");
}
else if (mode5 == LOW) {
lcd.setCursor(0,0);
lcd.print("Please Turn ON ");
lcd.setCursor(0,1);
lcd.println("The Device ");
Serial.println("Turn ON Please");
}
else if (mode1,mode2,mode3,mode4,mode5 == HIGH) {
lcd.setCursor(0,0);
lcd.print("Set ");
lcd.setCursor(0,1);
lcd.println("The Switch ");
digitalWrite(mainsw, HIGH);
}
}