Cómo conectar un Potenciómetro a Raspberry Pi

En este pequeño tutorial veremos cómo conectar un potenciómetro a una tarjeta Raspberry Pi, también encontrarás un código de programación para tus primeras pruebas.

El potenciómetro o resistor variable mecánico es un componente que cuenta con 3 terminales:

  • Alimentación Negativa
  • Señal
  • Alimentación Positiva

Existen varios tipos de potenciómetros, todos consisten en un divisor de voltaje/tensión que permite asociar la posición de un objeto en una rango limitado al voltaje en su pin de señal, en este caso utilizaremos un potenciómetro rotatorio que nos permitirá conocer la posición angular de su perilla por medio del voltaje en su pin de señal.

De esta manera el potenciómetro rotativo es un componente analógico de entrada, es decir, su funcionamiento consiste en entregar la información correspondiente a la posición angular de su perilla por medio del voltaje en su pin de señal. Ningún modelo de Raspberry Pi cuenta con la capacidad de leer una señal analógica de voltaje, debido a esto, utilizaremos un ADC externo (convertidor de señal analógica a digital).

El circuito integrado MCP3008 nos servirá como puente entre nuestro divisor de voltaje/tensión y nuestra Raspberry Pi. De esta manera el circuito integrado realizara la lectura analógica convirtiendo la información a digital para después mandarla a la Raspberry Pi por medio de un protocolo serial digital llamado SPI.

Componentes necesarios

  • Potenciómetro
  • MCP3008
  • Protoboard chica
  • Raspberry Pi (cualquier modelo)
  • Cables de conexión H-M y M-M

Diagrama de conexiones

Raspberry Pi – Potenciómetro – MCP3008

Pasos previos a ejecutar el código

1.- Instalar paquetes de Python3

En este código hacemos uso del paquete de Python3 «gpiozero». Para instalarlo ejecuta el siguiente comando en la terminal:

[email protected]:~$ sudo pip3 install gpiozero

2.- Habilitar comunicación SPI en la Raspberry Pi

Para que podamos ejecutar un programa que reciba información por SPI en nuestra Raspberry Pi, debemos habilitar el hardware correspondiente en dicha tarjeta. Esto lo podemos hacer de manera sencilla con ayuda de la herramienta de configuración raspi-config, si no has utilizado esta herramienta antes da click aquí para ver el paso a paso. Una vez que termines regresa para ejecutar el código.

Código de Python3

Copiamos el siguiente código a un script de Python y lo ejecutamos con Python3 para observar el valor entregado por el potenciómetro cada 0.5 segundos aproximadamente.


from gpiozero import MCP3008
from time import sleep

pot = MCP3008(channel=0)

while True:
    print(pot.value)
    sleep(0.5)