#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 //Ancho del Display en Pixeles
#define SCREEN_HEIGHT 64 //Alto del Display en Pixeles
const int LED = 13;
//Usa los pines I2C por defecto del ESP32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200); //Inicializa el puerto serial
pinMode(LED, OUTPUT);
// Dirección 0x3D para 128x64
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)){
Serial.println(F("SSD1306 No se puede localizar"));
for(;;);
}
delay(2000);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
}
void loop() {
//analogReadResolution(10); // Ajusta la resolución del ADC
int adc = analogRead(14); // Lee el canal ADC1_0
float map_ADC =map(adc,0,1023,0,100000);
map_ADC=map_ADC/1000;
display.clearDisplay();
display.setCursor(0, 10);
display.print("Valor del Pot.: ");
display.println(adc);
display.print("Valor del %: ");
display.println(map_ADC,3);
display.display();
delay(100);
if(map_ADC>81.53){
digitalWrite(LED, HIGH);
}
if(map_ADC<33.67){
digitalWrite(LED, LOW);
}
}