#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_ADDR 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
// Fungsi bantu untuk menampilkan teks di tengah layar
void printCenter(String text, int y, int textSize = 1) {
display.setTextSize(textSize);
int textWidth = text.length() * 6 * textSize; // 6 piksel per karakter
int x = (SCREEN_WIDTH - textWidth) / 2;
display.setCursor(x, y);
display.println(text);
}
void setup() {
Wire.begin(21, 22); // SDA, SCL (untuk ESP32, sesuaikan jika berbeda)
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
// Teks 1 - "MATKUL PSM"
display.clearDisplay();
printCenter("MATKUL PSM", 24, 2); // Ukuran besar, vertikal tengah
display.display();
delay(2000);
// Teks 2 - "TMB CURUG"
display.clearDisplay();
printCenter("TMB CURUG", 24, 2);
display.display();
delay(2000);
// Teks 3 - "UBUR UBUR" dan "IKAN LELE"
display.clearDisplay();
printCenter("UBUR UBUR", 16, 2); // Baris atas
printCenter("IKAN LELE", 40, 2); // Baris bawah
display.display();
delay(3000);
// Teks 4 - "TMB NI LE"
display.clearDisplay();
printCenter("TMB NI LE", 24, 2); // Tengah layar
display.display();
delay(2000);
}