#############################################
# UPTV FECHA: 11/03/25
# Nombre y Apellido: Irina Guerrero
# C.I: 17.450.818
# Seccion:
#############################################
import machine
import sleep
import Pin, ADC, I2C,
import time
import pico_I2C_LCD import I2cLcd
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
potentiometer_pin = ADC(Pin(28))
I2C_ADDR = i2c.scan()[0]
lcd = I2cLcd(i2c, I2C_ADDR, 2, 16)
info_person = {
'Nombre' : 'Iirna',
'Apellido': 'Guerrero',
'Cedula' : '17.450.818',
'Seccion' : 'IN-332'
}
# Configuración del ADC y el LCD
adc = machine.ADC(28) # Pin GP28 para el potenciómetro
lcd = pico_I2C_LCD () # Inicializa el LCD
# Función para convertir la lectura ADC a voltaje
def adc_to_voltage(adc_value):
return (adc_value / 65535) * 3.3 # Convertir a voltaje (0-3.3V)
try:
while True:
# Leer valor del potenciómetro
adc_value = adc.read_u16() # Lee el valor ADC (0-65535)
voltage = adc_to_voltage(adc_value) # Convierte a voltaje
# Mostrar en el LCD
lcd.lcd_clear() # Limpiar pantalla
lcd.lcd_display_string(f"ADC: {adc_value}", 1) # Línea 1: Valor ADC
lcd.lcd_display_string(f"Volt: {voltage:.2f}V", 2) # Línea 2: Voltaje
# Mostrar números del 1 al 1000 en consola
for i in range(1, 1001):
print(i)
time.sleep(0.01) # Espera breve entre números
time.sleep(1) # Espera antes de la siguiente lectura
except KeyboardInterrupt:
pass
finally:
lcd.lcd_clear() # Limpiar pantalla al finalizar