Cómo leer puerto analógico con Raspberry Pi Pico usando MicroPython


En esta guía te mostraré cómo conectar un potenciómetro al Raspberry Pi Pico y leer su valor usando MicroPython

Cómo leer puerto analógico con Raspberry Pi Pico usando MicroPython
oscar Escrito por oscar 21 July 2025 532 0

En esta guía te mostraré cómo conectar un potenciómetro al Raspberry Pi Pico y leer su valor usando MicroPython.

Instalación y configurar el entono de trabajo

Configurar entorno de trabajo

Para trabajar con este post debemos tener el entorno de trabajo instalado y configurado, ademas del firmware cargado a la raspberry pi pico, en el post instalar entorno de trabajo, explico a detalle como se hace, aunque voy a dar la explicación resumida a continuación.

Configurar para uso en raspberry pi pico

Antes de realizar el primer programa y cargarlo a la tarjeta, debemos realizar la configuración de thonny y cargar el firmware a la tarjeta raspberry pi pico, en post instalar entorno de trabajo tambien se explica a detalle como se debe hacer esta configuración.

Selector de interprete MicroPython
Selector de interprete MicroPython

Raspberry pi pico

Tenemos una imagen que se ha obtenido de la hoja de datos de las raspberry pi pico. Mas informacion en http://codigoelectronica.com/blog/hoja-de-datos-raspberry-pi-pico

Pineas raspberry pi pico
Pineas raspberry pi pico

Materiales necesarios

¿Qué es un pin analógico en Raspberry Pi Pico?

El Raspberry Pi Pico no tiene un ADC externo, pero sí incluye 3 pines analógicos integrados, que permiten leer voltajes variables en un rango de 0V a 3.3V. Estos pines están conectados al ADC interno de 12 bits del microcontrolador RP2040.

Los pines analógicos del Raspberry Pi Pico son:

Conexión del potenciómetro

Un potenciómetro tiene 3 pines:

Circuito rpi pico analógico
Leyenda
Raspberry Pi Pico Potenciómetro
3.3V (pin 36) Pin 1
GND  (pin 38) Pin 3
GP26 (pin 31) Pin 2 (salida variable)

¿Cómo funciona analogRead en MicroPython?

En MicroPython no existe directamente la función analogRead como en Arduino. En su lugar, se usa la clase ADC del módulo machine.

La lectura de un ADC en el Pico devuelve un valor entre 0 y 65535 (escalado de los 12 bits a 16 bits). Puedes convertir ese valor a voltaje si lo deseas.

Código en MicroPython

from machine import ADC, Pin
from time import sleep

# Configurar el pin GP26 como entrada ADC
pot = ADC(Pin(26))

while True:
    lectura = pot.read_u16()  # Valor entre 0 y 65535
    print("Valor ADC:", lectura)
    sleep(0.5)

Resultado en la consola

rpi pico analógico
rpi pico analógico

Cuando giras el potenciómetro:

rpi pico funcionando
rpi pico funcionando

Comentario

Debe aceptar antes de enviar