#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 = 16;
//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
// 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);
pinMode(16, OUTPUT);
}
void loop() {
analogReadResolution(12); // Ajusta la resolución del ADC
int adc = analogRead(36); // Lee el canal ADC1_0
float map_adc = map(adc,0,4095,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 Porcentaje: ");
display.println(map_adc,3);
display.display();
delay(100);
//if(adc>2000){
if(map_adc>66.63){
digitalWrite(LED, HIGH);
}
else{
digitalWrite(LED, LOW);
}
}