Controlando un Potenciómetro Digital (X9C103) con Arduino
Introducción
En este artículo, vamos a adentrarnos en cómo utilizar el Arduino para controlar un potenciómetro digital X9C103.
¿Qué es el X9C103?
El X9C103 es un potenciómetro digital. A diferencia de los potenciómetros tradicionales, que son dispositivos analógicos con un dial o un deslizador que se gira o se mueve físicamente para ajustar la resistencia, los potenciómetros digitales permiten que la resistencia se ajuste electrónicamente a través de señales digitales.
Aquí tienes algunos aspectos clave del X9C103:
-
Resolución: El X9C103 tiene una resolución de 100 pasos, lo que significa que puedes ajustar la resistencia a 100 niveles diferentes.
-
Interfaz de Control: El X9C103 utiliza una interfaz de control simple de tres pines que consta de un pin UP/DOWN para cambiar la resistencia hacia arriba o hacia abajo, un pin INC (incremento) para avanzar a la siguiente resistencia, y un pin CS (chip select) para habilitar o deshabilitar el dispositivo.
-
Aplicaciones: Los potenciómetros digitales como el X9C103 se utilizan en una variedad de aplicaciones donde se necesita ajustar electrónicamente el voltaje o la corriente. Esto incluye control de volumen en equipos de audio, ajustes de contraste, brillo o volumen en dispositivos electrónicos, control de ganancia en amplificadores, y muchas otras aplicaciones.
-
Rango de Resistencia: El X9C103 ofrece un rango de resistencia total de 10K ohmios.
Un potenciómetro digital como el X9C103 cuenta con las terminales VH
, VL
y VW
:
-
VH (High Voltage / Voltaje Alto): Esta es la conexión de entrada de voltaje alto. En un potenciómetro, se le llama también terminal de inicio o terminal de alimentación. A esta terminal normalmente se le aplica el voltaje más alto del rango de voltaje que deseas controlar con el potenciómetro.
-
VL (Low Voltage / Voltaje Bajo): Esta terminal, también conocida como terminal de fin o terminal de tierra, es el punto de referencia para el voltaje más bajo en el rango de voltaje que deseas controlar. Normalmente, esta terminal está conectada a tierra.
-
VW (Wiper / Limpiaparabrisas): Esta terminal, a veces llamada terminal de cursor, es la salida del potenciómetro. El voltaje en este punto cambiará al ajustar la resistencia del potenciómetro, variando entre las tensiones presentes en las terminales
VH
yVL
. En un potenciómetro digital como el X9C103, esta resistencia se ajusta usando señales digitales en lugar de un ajuste mecánico.
Materiales
Nuestro montaje consta de los siguientes componentes:
- Arduino Uno (o cualquier otra placa compatible)
- Potenciómetro digital X9C103
- Cableado adecuado para las conexiones
- Protoboard (opcional pero recomendado para simplificar las conexiones)
Instalación de la Biblioteca
Para instalar la biblioteca X9C10X.h
desde el Library Manager (Administrador de Bibliotecas) en Arduino, sigue estos pasos:
- Abre el IDE de Arduino en tu ordenador.
- Navega a 'Sketch' > 'Include Library' > 'Manage Libraries...' en la barra de menú superior.
- En el cuadro de diálogo del Administrador de Bibliotecas que aparece, escribe "X9C10X" en el campo de búsqueda en la parte superior.
- Si la biblioteca está disponible, aparecerá en la lista de resultados de la búsqueda.
- Haz clic en la biblioteca de la lista y luego en el botón 'Install' (Instalar) que aparece.
-
La biblioteca
X9C10X
proporciona varias funciones para controlar potenciómetros digitales X9C103 o similares. A continuación, se detallan las funciones más importantes:-
begin(int pinCS, int pinINC, int pinUD): Esta función se utiliza para inicializar el potenciómetro digital.
pinCS
es el pin que se utilizará para el chip select,pinINC
es el pin para las pulsaciones incrementales ypinUD
es el pin para la dirección (arriba/abajo). -
setPosition(uint8_t position): Esta función se utiliza para ajustar la posición del potenciómetro.
position
es un número de 8 bits sin signo que representa la posición del potenciómetro, que debe estar en el rango de 0 a 100. -
getPosition(): Esta función devuelve la posición actual del potenciómetro como un número de 8 bits sin signo.
-
incr(): Esta función incrementa la posición del potenciómetro en 1.
-
decr(): Esta función decrementa la posición del potenciómetro en 1.
-
Diagrama
- El pin CS conectado al pin digital 10 del Arduino.
- El pin UD conectado al pin digital 9 del Arduino.
- El pin INC conectado al pin digital 8 del Arduino.
- VCC conectado a 5V
- GND conectado a GND
Programación
Carga el siguiente código a tu arduino, el cual incrementa la posición del potenciómetro 100 veces, y en cada incremento imprime la posición actual del potenciómetro y su resistencia correspondiente.
Posteriormente, establece la posición del potenciómetro a un valor predefinido (49 en este caso) mediante setPosition()
, se imprime esta posición y su resistencia correspondiente. Finalmente, pot.store()
se usa para almacenar la posición del potenciómetro en la memoria no volátil, lo que significa que el dispositivo recordará esta posición incluso después de que se apague.
Abre la terminal serial a 115200 baudios para visualizar los resultados.
Divisor de voltaje
Un potenciómetro puede funcionar como un divisor de voltaje. Esto significa que el voltaje de salida puede variar entre el voltaje de alimentación y la tierra (0V), dependiendo de la posición del cursor (limpiaparabrisas).
Aquí te proporciono una explicación de cómo puedes utilizar el potenciómetro digital X9C103 como un divisor de voltaje:
-
Conecta la terminal VH: Conecta la terminal VH (High Voltage) a 5V. Esta será la tensión más alta en tu rango.
-
Conecta la terminal VL: Conecta la terminal VL (Low Voltage) a la tierra (0V). Esta será la tensión más baja en tu rango.
-
Utiliza la terminal VW: La terminal VW (Wiper) proporcionará el voltaje de salida. Este voltaje puede variar entre el voltaje de la terminal VH y el voltaje de la terminal VL, dependiendo de la posición del potenciómetro digital. Conectalo a la entrada analógica A0.
Ahora, carga el siguiente código en tu Arduino. Este código recibirá un número flotante a través del puerto serial. Si el número está en el rango de 0.0 a 5.0, se utilizará para ajustar la posición del potenciómetro. Seguidamente, el código realizará una lectura analógica del pin A0. Esta lectura se convertirá a voltaje y se imprimirá en el Monitor Serial.
Abre el monitor serial e ingresa el voltaje que deeses tener en la terminal VW, envia con enter.
Cuando utilizas un potenciómetro como un divisor de voltaje para generar un voltaje de referencia, es importante recordar que este voltaje de referencia no está diseñado para suministrar corriente a una carga.
Conclusiones
El uso de un potenciómetro digital como divisor de voltaje para generar un voltaje de referencia tiene varias aplicaciones en electrónica y sistemas embebidos. Aquí te menciono algunas de las más comunes:
-
Control de Ganancia: En sistemas de audio y amplificadores, el voltaje de referencia puede usarse para controlar la ganancia del sistema. Al variar el voltaje de referencia, puedes controlar la amplitud de la señal de salida.
-
Fuente de Voltaje para Sensores: Muchos sensores necesitan un voltaje de referencia estable para operar correctamente. Los potenciómetros digitales pueden proporcionar este voltaje de referencia ajustable.
-
Fuentes de Alimentación Regulables: En fuentes de alimentación, un potenciómetro puede usarse para ajustar el voltaje de salida, permitiendo que la fuente de alimentación se ajuste a diferentes necesidades.
Es importante recordar que el voltaje de referencia generado por un potenciómetro digital como el X9C103 no está diseñado para conducir cargas pesadas. Si se necesita alimentar una carga, se debería usar un amplificador operacional en configuración de seguidor de voltaje para aislar el potenciómetro de la carga y evitar distorsiones en el voltaje de referencia.
Productos Relacionados
No comments
comments