#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define ANCHO_PANTALLA 128
#define ALTO_PANTALLA 64
#define DIRECCION_OLED 0x3C
Adafruit_SSD1306 display(ANCHO_PANTALLA, ALTO_PANTALLA, &Wire, -1);
int direccion = 0;
const int botonArriba = 2;
const int botonAbajo = 19;
const int botonDerecha = 4;
const int botonIzquierda = 16;
int arrowOffset = 0;
int arrowDirection = 1;
unsigned long arrowPreviousTime = 0;
const unsigned long arrowInterval = 120;
void setup() {
if(!display.begin(SSD1306_SWITCHCAPVCC, DIRECCION_OLED)) {
Serial.println(F("Error en la asignación de SSD1306"));
for(;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.println("Iniciado");
display.display();
}
void loop() {
if (millis() - arrowPreviousTime >= arrowInterval) {
arrowPreviousTime = millis();
arrowOffset += arrowDirection;
if (arrowOffset >= 3 || arrowOffset <= 0) {
arrowDirection *= -1;
}
}
display.clearDisplay();
display.fillTriangle(
10 - arrowOffset, 32,
20 - arrowOffset, 26,
20 - arrowOffset, 38,
SSD1306_WHITE
);
display.display();
delay(100); // dar tiempo para ver el movimiento
}