banner
Hogar / Noticias / Potenciómetros frente a codificadores rotatorios y cómo usarlos con Arduino
Noticias

Potenciómetros frente a codificadores rotatorios y cómo usarlos con Arduino

May 22, 2023May 22, 2023

Los potenciómetros y los codificadores rotatorios parecen casi idénticos a primera vista, pero funcionan de manera diferente. Descubre cómo usar ambos con un Arduino.

Entre los componentes electrónicos de control del usuario, las perillas giratorias se destacan como algunas de las más satisfactorias de usar. Pueden complementar las pantallas táctiles y otros dispositivos de entrada, además de funcionar bien con botones e interruptores. Pero, ¿cómo puede agregar una perilla a sus propios proyectos de bricolaje Arduino?

Tienes dos opciones principales: un potenciómetro o un codificador rotatorio. Estos componentes pueden parecer similares, pero los métodos para usarlos con un dispositivo como una placa de microcontrolador Arduino son muy diferentes. Veamos cómo se comparan entre sí.

La mayoría de los potenciómetros y codificadores rotatorios que encontrarán los entusiastas del bricolaje vienen en un factor de forma similar. Tienen una base paralelepipédica o cilíndrica con patas conectoras adjuntas y un eje redondo que gira y tiene cortes para colocar una tapa.

Algunos potenciómetros se ven diferentes, como los que vienen en forma de deslizadores largos, como los que se encuentran en las plataformas de mezclas de música. Sin embargo, cuando se trata del tipo rotatorio, a primera vista parecen casi idénticos a los codificadores rotatorios, por lo que se le perdonará que piense que son iguales.

Un potenciómetro es, en esencia, una resistencia variable. A medida que se gira el eje, la resistencia dentro del potenciómetro cambia, lo que permite al usuario alterar las propiedades de un circuito sin tener que reconstruirlo. Los potenciómetros pueden ser tanto analógicos como digitales, pero los potenciómetros digitales imitan a los analógicos y esto hace que su uso sea muy similar.

Los potenciómetros siempre tienen un punto inicial y final definido donde el eje ya no se puede girar. Algunos potenciómetros tienen una sensación de baches cuando se giran, pero muchos también son suaves, como los que se encuentran en los estéreos antiguos.

A pesar de ser analógicos, los potenciómetros funcionan bien con microcontroladores. Puede configurar fácilmente un potenciómetro con un Raspberry Pi Pico o Arduino.

Los codificadores rotatorios determinan la posición de su eje mediante un sensor para proporcionar una señal analógica o digital al dispositivo al que están conectados. Esto le dice al dispositivo en qué posición se encuentra el codificador. Junto con el eje giratorio, los codificadores rotatorios generalmente también tienen un botón incorporado que se acciona empujando el eje hacia abajo.

A diferencia de los potenciómetros, los codificadores rotatorios pueden girar sin detenerse y casi siempre tienen golpes táctiles para cada una de las posiciones del eje. Muchos automóviles modernos usan codificadores rotatorios para controlar sus sistemas de entretenimiento.

Gracias a su diseño simple, usar un potenciómetro con un Arduino es simple. Su potenciómetro tiene tres conectores: tierra, salida y vref. Los pines de tierra y vref se conectan a los conectores GND y 5V de tu Arduino, respectivamente, mientras que el pin de salida del potenciómetro se conecta a una de las entradas analógicas de tu placa.

Su código de potenciómetro Arduino comienza con lo básicoconfiguración()ybucle() plantilla que verá cuando cree un nuevo archivo en el IDE de Arduino. Primero, agregue unconst intvariable al comienzo del código para registrar la conexión del pin analógico del potenciómetro, en este caso, A0.

A continuación de esto, elconfiguración() La función es simple: solo necesita declarar el pin de su potenciómetro como entrada. También puede iniciar una conexión en serie si desea enviar datos a su PC para el diagnóstico.

A continuación, es hora de configurar elbucle() función. Comience por crear unEn tvariables usando ellectura analógica () función para almacenar la posición de su potenciómetro. Después de esto, puede utilizar elmapa() función para reducir el tamaño del valor con el que está tratando; en este ejemplo, para que coincida con las especificaciones de PWM, por ejemplo, para controlar el brillo de un LED. Agregue un breve retraso para garantizar la estabilidad.

Ahora que tiene la posición de su potenciómetro, puede usarlo con otras partes del código. por ejemplo, unsiLa declaración funcionaría bien para activar el código cuando el potenciómetro está en una posición específica.

Los codificadores rotatorios requieren un código más complejo que los potenciómetros, pero aun así es bastante fácil trabajar con ellos. Su codificador rotatorio tiene cinco pines: tierra, VCC, un pin de botón (SW), salida A (CLK) y salida B (DT). Los pines de tierra y VCC se conectan a los conectores de tierra y 5V en su Arduino, respectivamente, mientras que los pines SW, CLK y BT se conectan a conectores digitales individuales en Arduino.

Para que nuestro código sea más simple y más fácil de usar, utilizaremos la biblioteca SimpleRotary Arduino creada por MPrograms en GitHub. Asegúrese de tener esta biblioteca instalada antes de comenzar a trabajar en su código.

Al igual que su código de potenciómetro, puede iniciar su script de codificador rotatorio con el Arduino básicoconfiguración()ybucle() plantilla de función. Comience declarando la biblioteca SimpleRotary y asignando los pines de su codificador en este orden; CLK, DT y SW.

No necesita agregar nada a suconfiguración()función a menos que desee utilizar el monitor serie para diagnosticar su codificador rotatorio.

Elbucle() la función es otra historia. La determinación de la rotación del eje del codificador comienza con unrotatorio.rotar()llamada de función que se asigna a unEn t variable. Si el resultado es 1, el codificador gira en el sentido de las agujas del reloj. Si el resultado es 2, el codificador gira en sentido contrario a las agujas del reloj. El resultado siempre será 0 si el codificador no ha girado desde la última comprobación.

Puedes usarsideclaraciones para activar otro código dependiendo de la dirección de rotación del codificador.

También necesita agregar algún código para el botón de su codificador albucle() función. Este proceso es muy similar, excepto que utilizará elrotatorio.push()función, en lugar derotatorio.rotar().

Este script es bastante simple y puedes hacer mucho para personalizarlo. Vale la pena consultar la documentación del proyecto SimpleRotary para asegurarse de que está utilizando todas sus funciones clave. Una vez ensamblado, el código de su codificador debería verse así.

Como puede ver, los codificadores rotatorios y los potenciómetros funcionan de manera bastante diferente. Ambos componentes le brindan nuevas formas de controlar sus proyectos electrónicos, pero ¿cuál debe elegir?

Los potenciómetros son asequibles y fáciles de usar, pero solo permiten un rango de entrada limitado. Esto los hace excelentes cuando desea controlar el brillo de un LED, o aumentar y disminuir la potencia de componentes específicos y otras tareas similares.

Los codificadores rotatorios ofrecen mucho más alcance que los potenciómetros. La inclusión de un botón pulsador significa que son excelentes para los sistemas de control de menús, como se ve en muchos autos modernos. Este tipo de componente se ha vuelto muy popular en el espacio de construcción de teclados mecánicos. Incluso puede construir un pequeño macropad con un codificador incorporado.

Con toda esta información en su haber, debería estar listo para comenzar un proyecto de electrónica con un potenciómetro o codificador rotatorio. Estos componentes pueden brindarle mucho control sobre los circuitos que construye, pero debe asegurarse de elegir la opción correcta para su proyecto.

Samuel es un escritor de tecnología con sede en el Reino Unido apasionado por todo lo relacionado con el bricolaje. Habiendo iniciado negocios en los campos del desarrollo web y la impresión 3D, además de haber trabajado como escritor durante muchos años, Samuel ofrece una visión única del mundo de la tecnología. Centrándose principalmente en proyectos tecnológicos de bricolaje, nada le gusta más que compartir ideas divertidas y emocionantes que puedes probar en casa. Fuera del trabajo, generalmente se puede encontrar a Samuel montando en bicicleta, jugando videojuegos de PC o intentando desesperadamente comunicarse con su cangrejo mascota.

MAKEUSEOF VIDEO DEL DÍA DESPLAZARSE PARA CONTINUAR CON EL CONTENIDO setup() loop() const int setup() loop() int analogRead() map() if setup() loop() setup() loop() rotary.rotate() int if loop() rotatorio.empujar() rotatorio.rotar()