#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define PIN_BOMBA 15
// Usamos el nombre 'oled1' para que coincida con tu diagrama
Adafruit_SSD1306 oled1(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200);
pinMode(PIN_BOMBA, OUTPUT);
digitalWrite(PIN_BOMBA, LOW);
if(!oled1.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("No se encuentra la OLED");
for(;;);
}
// PANTALLA INICIAL
oled1.clearDisplay();
oled1.setTextColor(SSD1306_WHITE);
oled1.setTextSize(2);
oled1.setCursor(35, 10);
oled1.print("Hola");
oled1.setCursor(35, 35);
oled1.print("Joel");
oled1.display();
delay(3000);
}
void loop() {
// CONTADOR
for (int i = 10; i >= 0; i--) {
oled1.clearDisplay();
oled1.setTextSize(1);
oled1.setCursor(0, 0);
oled1.print("CONTADOR:");
oled1.setTextSize(4);
if(i == 10) oled1.setCursor(40, 20);
else oled1.setCursor(55, 20);
oled1.print(i);
oled1.display();
delay(1000);
}
// EXPLOSIÓN Y LED
digitalWrite(PIN_BOMBA, HIGH);
oled1.clearDisplay();
oled1.setTextSize(4);
oled1.setCursor(15, 20);
oled1.print("BOOM");
oled1.display();
while(1); // Detener ejecución
}