Tabla de contenido:
- Paso 1: Flujo de pulsos del codificador rotatorio
- Paso 2: Pinout del codificador rotatorio
- Paso 3: esquema
- Paso 4: Código
- Paso 5: Explicación
- Paso 6: Salida
Video: Tutorial de codificador rotatorio con Arduino: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
El codificador rotatorio es un componente electrónico capaz de monitorear el movimiento y la posición al girar. El codificador rotatorio utiliza sensores ópticos que pueden generar pulsos cuando el codificador rotatorio gira. La aplicación del codificador rotatorio generalmente como un monitor de movimiento mecánico o robótico también se puede utilizar para la selección del menú en la pantalla. El codificador rotatorio tiene dos salidas para que pueda distinguir entre rotación negativa (CW) y positiva (CCW) y también tiene un solo botón.
Paso 1: Flujo de pulsos del codificador rotatorio
El flujo de pulsos generado por el siguiente codificador rotatorio es como la imagen de arriba.
Paso 2: Pinout del codificador rotatorio
Explicación:
- GND GND
- + + 5V
- Botón SW del codificador rotatorio cuando se presiona
- Datos DT
- Datos CLK 2
Uno de los pines DT o CLK debe estar conectado al pie de interrupción de Arduino Uno, o tanto DT como CLK están conectados al pin de interrupción.
Paso 3: esquema
- GND a GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Paso 4: Código
En el siguiente tutorial, el que se usará como interrupción es el PIN 2 de Arduino Uno, mientras que el PIN 3 solo se usa como entrada regular.
#define encoder0PinA 2 # define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; configuración vacía () {Serial.begin (9600); pinMode (encoder0PinA, INPUT_PULLUP); pinMode (encoder0PinB, INPUT_PULLUP); pinMode (encoder0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; bucle vacío () {int btn = digitalRead (encoder0Btn); Serial.print (btn); Serial.print (""); Serial.print (valRotary); if (valRotary> lastValRotary) {Serial.print ("CW"); } si (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); retraso (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } else {encoder0Pos--; } valRotary = encoder0Pos / 2.5; }
En la línea 10 del boceto anterior se usa para habilitar la interrupción del pin 2 Arduino Uno. En la función "doEncoder" se calcula a partir del codificador rotatorio. Si el valor de DT y CLK (interrupción de pin de Arduino Uno) es el mismo, entonces se incrementará / agregará la variable "encoder0Pos", además de esa condición, se decrementará la variable "encoder0Pos".
Paso 5: Explicación
El valor de ValRotary es el valor del número de pasos que se han estado ejecutando. El valor de ValRotary se obtiene a partir del valor de lectura del codificador del sensor giratorio dividido por 2,5. Se obtiene un valor de 2.5 de la prueba, ya que un paso del codificador rotatorio puede exceder 1, entonces divida por 2.5 por su valor de acuerdo con el perstep y también la suma del retardo de lectura.
Mientras que en la línea 19 - 25 hay un programa para determinar si el codificador rotatorio giratorio CW o CCW. La explicación de las líneas 19 a 25 es cuando la lectura del codificador rotatorio actual es mayor que los datos rotativos anteriores y luego se expresan como CW. Mientras que si la lectura actual es menor que la lectura anterior, entonces se indica como CCW.
Paso 6: Salida
1 = el valor del botón de inicio del rotativo cuando no se ha presionado
Recomendado:
Temporizador con Arduino y codificador rotatorio: 5 pasos
Temporizador con Arduino y Codificador Rotatorio: El temporizador es una herramienta de uso frecuente tanto en actividades industriales como domésticas, este montaje es económico y fácil de realizar, además es muy versátil, pudiendo cargar un programa elegido según necesidades. Hay varios programas escritos por mí, para Ardui
Temporizador de energía con Arduino y codificador rotatorio: 7 pasos (con imágenes)
Temporizador de potencia con Arduino y codificador rotatorio: este temporizador de potencia se basa en el temporizador presentado en: https: //www.instructables.com/id/Timer-With-Arduin … Un módulo de fuente de alimentación y un SSR (relé de estado sólido ). Se pueden operar cargas de potencia de hasta 1KW y con cambios mínimos el l
Codificador rotatorio con Arduino Nano: 4 pasos
Codificador rotatorio usando Arduino Nano: Hola a todos, En este artículo haré un tutorial sobre cómo usar un codificador rotatorio usando Arduino Nano. Para utilizar este codificador rotatorio no necesita una biblioteca externa. Entonces podemos crear programas directamente sin agregar bibliotecas primero. ok, empecemos con
Codificador rotatorio: cómo funciona y cómo usarlo con Arduino: 7 pasos
Codificador rotatorio: cómo funciona y cómo usarlo con Arduino: puede leer este y otros tutoriales increíbles en el sitio web oficial de ElectroPeak. Primero, verá información sobre el codificador rotatorio y luego aprenderá a
Tutorial del kit de codificador rotatorio: 5 pasos
Tutorial del kit de codificador rotatorio: Descripción: Este kit de codificador rotatorio se puede utilizar para detectar la posición y la velocidad del motor. Es un kit muy simple que consta de un sensor de haz óptico (optointerruptor, fototransistor) y un trozo de disco ranurado. Se puede conectar a cualquier microcontro