#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <Wire.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
// Define menu items and actions
//const char* menuItems[] = {"Item 1", "Item 2", "Item 3", "Item 4"};
int selectedItem = 0;
// Define the button pin for menu navigation
const int A_ButtonPin = 2; // Replace with your actual button pin number
const int B_ButtonPin = 4; // Replace with your actual button pin number
const int C_ButtonPin = 5;
const int D_ButtonPin = 18;
const int E_ButtonPin = 19;
void setup() {
pinMode(A_ButtonPin, INPUT);
pinMode(B_ButtonPin, INPUT);
pinMode(C_ButtonPin, INPUT);
pinMode(D_ButtonPin, INPUT);
pinMode(E_ButtonPin, INPUT);
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.display(); // Initialize with the display on (splash screen)
delay(2000); // Splash screen delay
display.clearDisplay();
display.setTextColor(SSD1306_WHITE);
display.setTextSize(1);
display.setCursor(0, 0);
display.println("tes");
display.display();
}
void loop() {
// Add code for button or encoder input to navigate the menu
// Update the selectedItem variable based on user input
if (digitalRead(A_ButtonPin)) {
display.clearDisplay();
display.setCursor(25, 18);
display.println("<- KIRI");
display.setTextColor(SSD1306_WHITE);
display.setTextSize(2);
display.display();
//Serial.println("tes Atas");
//delay(200); // Button debounce
}
if (digitalRead(B_ButtonPin)) {
display.clearDisplay();
display.setCursor(25, 18);
display.println("KANAN ->");
display.setTextColor(SSD1306_WHITE);
display.setTextSize(2);
display.display();
//Serial.println("tes Bawah");
//delay(200); // Button debounce
}
if (digitalRead(C_ButtonPin)) {
display.clearDisplay();
display.setCursor(25, 18);
display.println("STOP");
display.setTextColor(SSD1306_WHITE);
display.setTextSize(2);
display.display();
//Serial.println("tes Bawah");
//delay(200); // Button debounce
}
if (digitalRead(D_ButtonPin)) {
display.clearDisplay();
display.setCursor(25, 18);
display.println("GAS");
display.setTextColor(SSD1306_WHITE);
display.setTextSize(2);
display.display();
//Serial.println("tes Bawah");
//delay(200); // Button debounce
}
if (digitalRead(E_ButtonPin)) {
display.clearDisplay();
display.setCursor(25, 18);
display.println("EMERGENCY (-)");
display.setTextColor(SSD1306_WHITE);
display.setTextSize(2);
display.display();
//Serial.println("tes Bawah");
//delay(200); // Button debounce
}
}