// ---------------------------------------------------------------------------
// (| " Progress_Button.ino "|)
// (| " Este es un ejemplo para OLED monocromáticas de 0.96" basadas en "|)
// (| " el controlador SSD1306 y resolución de 128x64 píxeles, que usan "|)
// (| " I2C para comunicarse. "|)
// (| " "|)
// (| " La libreria <U8glib.h> debe estar instalada en el IDE de arduino "|)
// (| " para que este sketch funcione. "|)
// (| " "|)
// (| " El pin SDA de la OLED monocromática I2C 128x64 va al pin A4 del "|)
// (| " Arduino UNO Rev3 / NANO. "|)
// (| " El pin SCL de la OLED monocromática I2C 128x64 va al pin A5 del "|)
// (| " Arduino UNO Rev3 / NANO. "|)
// (| " "|)
// (| " Este código de ejemplo es de dominio público. "|)
// (| " "|)
// (| " Maker: jorgechac© "|)
// (| " Visita https://jorgechac.blogspot.com/ "|)
// (| " "|)
// (| " Venta de accesorios Arduino/Raspberry Pi Pico/ESP32 "|)
// (| " Whatsapp y Ventas NEQUI +573177295861 "|)
// (| " Bucaramanga - Colombia "|)
// (| " Simulación https://wokwi.com/projects/340377132022628948 "|)
// ---------------------------------------------------------------------------
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST); // Fast I2C / TWI
int progress = 0;
int buttonStateUp = 0;
int buttonStateDown = 0;
const int buttonUp = 2; //boton AVANZAR en pin D2
const int buttonDown = 3; //boton RETROCEDER en pin D3
void setup()
{
u8g.setFont(u8g_font_tpssb);
u8g.setColorIndex(1);
pinMode(buttonUp, INPUT_PULLUP); //habilitamos resistor pull up en D2
pinMode(buttonDown, INPUT_PULLUP); //habilitamos resistor pull up en D3
}
void loop()
{
buttonStateUp = digitalRead(buttonUp);
buttonStateDown = digitalRead(buttonDown);
u8g.firstPage();
do {
u8g.drawStr(25, 50, "Progress Bar");
u8g.drawFrame(0, 10, 128, 20);
u8g.drawBox(10, 15, progress, 10);
} while ( u8g.nextPage() );
if (progress < 108 && progress > -1) {
if(buttonStateUp == HIGH)
progress++;
if(buttonStateDown == HIGH)
progress--;
} else {
progress = 0;
}
}