# ----------------------------------------------------------------------------
# (| " Potenciometro_Pico.py                                               "|)
# (| " Este es un sencillo ejemplo de manejo de un Potenciometro con una   "|)
# (| " Raspberry Pi Pico y MicroPython.        							               "|)
# (| "                                                                     "|)
# (| " El ADC de la Pico trabaja de 0 a 3V3 y tiene una resolución de 16   "|)
# (| " bits, esto significa que informa valores desde 0 como mínimo, hasta "|)
# (| " 2^16 - 1, o 65535, como máximo.                                     "|)
# (| "   							                                                     "|)
# (| "  Valor ADC = (Voltaje * 65535) / 3.3                                "|)
# (| "   							                                                     "|)
# (| " Visualizaremos el valor actual del Potenciometro en la consola y    "|)
# (| " mediante este valor controlaremos la velocidad de parpadeo del      "|)
# (| " LED_BUILTIN GP25.                                                   "|)
# (| "   							                                                     "|)
# (| " El tap central del Potenciometro va al pin GP26 y los extremos van, "|)
# (| " uno a GND y otro a +3V3 (pin 36), NO ingrese señales TTL de 5V o    "|)
# (| " freira el microcontrolador RP2040 permanentemente!                  "|)
# (| "                                                                     "|)
# (| " Este código de ejemplo es de dominio público.                       "|)
# (| "                                                                     "|)
# (| " Maker/Developer: jorgechac© - Técnico Laboral en Programación UNAB  "|)
# (| "                                                                     "|)
# (| " Visita  https://jorgechac.blogspot.com                              "|)
# (| "                                                                     "|)
# (| " Venta de accesorios Arduino/Raspberry Pi Pico/ESP32   		           "|)
# (| " Whatsapp y Ventas NEQUI +573177295861                               "|)
# (| " Bucaramanga - Colombia                                              "|)
# (| "                                                                     "|)
# (| " Simulaciön https://wokwi.com/projects/341561335251731026            "|)
# (| " Repositorio https://github.com/jorgechacblogspot/micropython_pico   "|)
# (| " https://jorgechac.blogspot.com/2021/04/raspberry-pi-pico-pin-mapping.html "|)
# ----------------------------------------------------------------------------------

from utime import sleep      # importamos la funcion sleep del modulo utime

from machine import ADC, Pin # importamos la funcion pin del modulo machine
                             # y la función para conversión ADC

knob_pin = ADC(26)           # asignamos GP26 al tap central del potenciometro
                             # es decir creamos un objeto ADC para leer los valores del pot

led_25 = Pin(25,Pin.OUT)     # creamos un objeto de tipo pin y definimos el
				                     # GP25 como salida digital

while True:                  # ciclo de control iterativo while, mientras sea True

  knob_value = knob_pin.read_u16() # leemos el valor en formato entero sin signo
                                   # de 16 bits del pin ADC GP26

  td = 0.1 + knob_value/65535      # convertimos el valor del ADC a
                                   # time delay (td) calculando el tiempo de espera
                                   # para la siguiente iteración del bucle, sumando 0.1 segundos
                                   # al valor normalizado del potenciómetro entre 0 y 1

  print (knob_value)               # se imprime el valor actual del potenciómetro en la consola

  sleep(td)                        # esperamos td segundos

  led_25.toggle()                  # switch de un estado a otro el Led
                                   # GP25 en cada iteración del bucle.
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT