from machine import Pin, ADC, I2C
import ssd1306
import utime
# Configuración del bus I2C
i2c = I2C(scl=Pin(22), sda=Pin(21), freq=400000)
# Crear objeto de pantalla OLED
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
# Configuración del pin ADC
adc = ADC(Pin(34)) # Configura el pin GPIO 34 como entrada ana-lógica
adc.atten(ADC.ATTN_11DB) # Configura una atenuación para medir hasta 3.6V
while True:
# Lee el valor del ADC (rango 0-4095)
adc_value = adc.read()
# Calcula el voltaje a partir del valor leído (rango 0-3.6V)
voltage = adc_value / 4095 * 3.6
# Limpia la pantalla OLED
oled.fill(0)
# Muestra el valor de voltaje en la pantalla OLED
oled.text("Voltaje:", 0, 0)
oled.text("{:.2f} V".format(voltage), 0, 20)
oled.show()
# Espera un momento antes de realizar la próxima lectura
utime.sleep(0.1)