from machine import I2C, Pin, ADC
import time
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd
# Constantes para la pantalla LCD
I2C_ADDR = 0x27
LCD_COLUMNS = 16
LCD_LINES = 2
# Configuración de I2C
# Reemplaza 21 y 22 por los pines SDA y SCL que estés usando
i2c = I2C(0, scl=Pin(2), sda=Pin(5))
# Inicialización de la pantalla LCD
lcd = I2cLcd(i2c, I2C_ADDR, LCD_LINES, LCD_COLUMNS)
# Configuración del ADC
adc = ADC(Pin(4))
adc.atten(ADC.ATTN_11DB) # Configura la atenuación para el rango de voltaje completo
#Esta es la máxima atenuación, extendiendo el rango de medición hasta aproximadamente 3.3 V.
def read_voltage():
lectura = adc.read()
voltage = lectura * (3.3 / 4095)
return voltage
while True:
voltage = read_voltage()
lcd.move_to(0, 0)
lcd.putstr("Voltaje: {:.2f}".format(voltage))
time.sleep(0.01)