V1.ino 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include <Wire.h>
  2. #include <Adafruit_GFX.h>
  3. #include <Adafruit_SSD1306.h>
  4. #define SCREEN_WIDTH 128 // Ancho píxeles
  5. #define SCREEN_HEIGHT 64 // Alto píxeles
  6. #define OLED_RESET -1 // Reset pin (no usado)
  7. Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
  8. void setup() {
  9. Serial.begin(115200); // Para debug en Monitor Serie
  10. // Inicia I2C en pines default ESP32 (21 SDA, 22 SCL)
  11. if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Dirección común: 0x3C
  12. Serial.println(F("Error: OLED no encontrado!"));
  13. for (;;); // Para siempre
  14. }
  15. display.clearDisplay();
  16. display.setTextSize(2); // Tamaño texto
  17. display.setTextColor(SSD1306_WHITE);
  18. display.setCursor(0, 0); // Posición
  19. display.println("¡Hola ESP32!");
  20. display.println("OLED OK!");
  21. display.display(); // Muestra
  22. delay(1000);
  23. }
  24. void loop() {
  25. // Animación simple: corazón parpadeante
  26. display.clearDisplay();
  27. display.setTextSize(1);
  28. display.setCursor(0, 0);
  29. display.println("¡Funciona!");
  30. display.drawRect(20, 32, 20,20,SSD1306_WHITE); // Dibuja corazón en centro
  31. display.display();
  32. delay(500);
  33. display.fillRect(20, 32, 20,20, SSD1306_WHITE); // Lleno
  34. display.display();
  35. delay(500);
  36. }