#include <U8g2lib.h>

// Inicialización de la pantalla (ajusta según tu modelo)
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE, 22, 21);

// Pines de los botones
const int b1 = 16;
const int b2 = 17;

// Variables para el estado de los botones
bool p1 = false;
bool p2 = false;

void setup() {
  Serial.begin(115200);
  pinMode(b1, INPUT_PULLUP);
  pinMode(b2, INPUT_PULLUP);

  u8g2.begin();
  u8g2.setFont(u8g2_font_ncenB10);
  u8g2.clearBuffer();
  u8g2.drawStr(0, 15, "Presiona un boton");
  u8g2.sendBuffer();
}

void loop() {
  // Leer el estado de los botones
  bool s1 = digitalRead(b1);
  bool s2 = digitalRead(b2);

  // Detectar flanco descendente
  if (s1 == LOW && !p1) {
    p1 = true;
    m("Sistemas Digitales");
  } else if (s1 == HIGH) {
    p1 = false;
  }

  if (s2 == LOW && !p2) {
    p2 = true;
    m("Voca 3");
  } else if (s2 == HIGH) {
    p2 = false;
  }

  delay(50);
}

void m(const char* t) {
  u8g2.clearBuffer();
  u8g2.drawStr(0, 30, t);
  u8g2.sendBuffer();
}
Loading
ssd1306