#include <LiquidCrystal_I2C.h>
String currentSelected = "MK45";
String currentSelectedValue = "foo";
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int buttonPin = 13;
bool lastButtonState = LOW;
bool currentButtonState;
bool actionDone = false;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.print("Arleigh Burke");
delay(1000);
lcd.clear();
}
void loop() {
currentButtonState = digitalRead(buttonPin);
if (lastButtonState == HIGH && currentButtonState == LOW && !actionDone) {
digitalWrite(LED_BUILTIN, LOW);
changeWeaponry();
actionDone = true;
}
if (currentButtonState == HIGH) {
actionDone = false;
}
lastButtonState = currentButtonState;
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print(currentSelected);
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(currentSelectedValue);
delay(10); //debounce
}
void changeWeaponry() {
if (currentSelected == "MK45") {
currentSelected = "CRAM_1";
} else if (currentSelected == "CRAM_1") {
currentSelected = "CRAM_2";
} else if (currentSelected == "CRAM_2") {
currentSelected = "MK45";
} else {
currentSelected = "ERROR";
}
}
mk45 rotation
mk45 pitch