#include <U8g2lib.h>
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
byte cx=25; //x center
byte cy=40; //y center
byte Cx=100; //x center
byte Cy=40; //y center
byte radius=25; //radius
int progress = 0; // variable para el progreso actual
int total = 100; // variable para el total de progreso
void Drawgauge( )
{
//u8g2.drawCircle(cx,cy,radius, U8G2_DRAW_UPPER_LEFT|U8G2_DRAW_UPPER_RIGHT );
u8g2.drawCircle(cx,cy,radius, U8G2_DRAW_UPPER_LEFT |U8G2_DRAW_UPPER_RIGHT );
u8g2.drawCircle(Cx,Cy,radius, U8G2_DRAW_UPPER_LEFT |U8G2_DRAW_UPPER_RIGHT );
}
void updateProgress() {
int value = analogRead(4); // lee el valor del ADC
progress = map(value, 0, total, 0, 100); // mapea el valor del ADC al rango de 0-100
}
void setup() {
u8g2.begin();
}
void loop()
{ //this loop is for testing gauges mode
/*
for (int c=0; c <= 10; c++) { //this loop is for testing needle movement
Drawgauge();
}
*/
updateProgress(); // actualiza el progreso según la lectura del ADC
u8g2.firstPage();
do {
Drawgauge(); // dibuja la barra de progreso circular
} while (u8g2.nextPage());
delay(50); // espera un poco antes de actualizar el progreso
}