| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include <Wire.h>
- #include <Adafruit_GFX.h>
- #include <Adafruit_SSD1306.h>
- #define SCREEN_WIDTH 128 // Ancho píxeles
- #define SCREEN_HEIGHT 64 // Alto píxeles
- #define OLED_RESET -1 // Reset pin (no usado)
- Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
- void setup() {
- Serial.begin(115200); // Para debug en Monitor Serie
- // Inicia I2C en pines default ESP32 (21 SDA, 22 SCL)
- if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Dirección común: 0x3C
- Serial.println(F("Error: OLED no encontrado!"));
- for (;;); // Para siempre
- }
- display.clearDisplay();
- display.setTextSize(2); // Tamaño texto
- display.setTextColor(SSD1306_WHITE);
- display.setCursor(0, 0); // Posición
- display.println("¡Hola ESP32!");
- display.println("OLED OK!");
- display.display(); // Muestra
- delay(1000);
- }
- void loop() {
- // Animación simple: corazón parpadeante
- display.clearDisplay();
- display.setTextSize(1);
- display.setCursor(0, 0);
- display.println("¡Funciona!");
-
- display.drawRect(20, 32, 20,20,SSD1306_WHITE); // Dibuja corazón en centro
- display.display();
- delay(500);
-
- display.fillRect(20, 32, 20,20, SSD1306_WHITE); // Lleno
- display.display();
- delay(500);
- }
|