#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
ssd1306