0% encontró este documento útil (0 votos)
11 vistas5 páginas

Manual del Codificador KY-040 para Arduino

El codificador rotativo Keyes KY-040 es un dispositivo que permite medir la rotación y dirección de un eje, siendo útil para controlar motores y potenciómetros. Funciona mediante dos interruptores que cambian de estado al girar, permitiendo determinar la dirección de rotación. El documento incluye un esquema de conexión y un ejemplo de código para su implementación en Arduino.

Traducido por

ScribdTranslations
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas5 páginas

Manual del Codificador KY-040 para Arduino

El codificador rotativo Keyes KY-040 es un dispositivo que permite medir la rotación y dirección de un eje, siendo útil para controlar motores y potenciómetros. Funciona mediante dos interruptores que cambian de estado al girar, permitiendo determinar la dirección de rotación. El documento incluye un esquema de conexión y un ejemplo de código para su implementación en Arduino.

Traducido por

ScribdTranslations
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Rotativo KY-040 para Arduino

Manual del usuario del codificador

Encoder rotativo Keyes KY-040


El codificador rotativo Keyes KY-040 es un dispositivo de entrada rotativo (como un botón) que proporciona un

indicación de cuánto se ha girado la perilla Y en qué dirección está girando.

Es un gran dispositivo para el control de motores paso a paso y servomotores. También podrías usarlo para controlar

dispositivos como potenciómetros digitales.

Conceptos básicos del codificador rotatorio


Un codificador rotativo tiene un número fijo de posiciones por revolución. Estas posiciones son fácilmente
se sintió como pequeños "clics" al girar el codificador.

El módulo Keyes que tengo tiene treinta de estas posiciones.

En un lado del interruptor hay tres pines. Normalmente se les conoce como
como A, B y C. En el caso del KY-040, están orientados como se muestra.

Dentro del codificador hay dos interruptores. Un interruptor conecta el pin A


para conectar el pin C y el otro interruptor conecta el pin B a C.

En cada posición del codificador, ambos interruptores están abiertos o cerrados.


Cada clic hace que estos interruptores cambien de estado de la siguiente manera:
Si ambos interruptores están cerrados, girando el codificador en el sentido de las agujas del reloj o en sentido contrario a las agujas del reloj uno
la posición hará que ambos interruptores se abran

Si ambos interruptores están abiertos, girar el codificador en sentido horario o antihorario uno
la posición hará que ambos interruptores se cierren.

La ilustración a continuación es representativa de cómo está construido el interruptor.

Como puedes ver, la posición angular del terminal A y el terminal B es tal que:

Girar el interruptor en el sentido de las agujas del reloj hará que el interruptor que conecta A y C cambie de estado primero.

Girar el interruptor en sentido antihorario causará que el interruptor que conecta B y C cambie
estados primero.

Si quisiéramos representar la apertura y el cierre de los interruptores como formas de onda, se vería
algo como esto.
Esencialmente, determinar cuál interruptor cambió de estado primero es cómo se determina la dirección de rotación.
determinado.

Si A cambió de estado primero, el interruptor está girando en sentido horario.

Si B cambió de estado primero, el interruptor está girando en sentido contrario a las agujas del reloj.

Salidas del pin KY-040


Las conexiones de este codificador rotatorio se identifican en la ilustración a continuación.

El módulo está diseñado para que se emita un bajo cuando los interruptores están cerrados y un alto
when the switches are open.

El bajo se genera colocando un suelo en el Pin C y pasándolo a los pines CLK y DT.
cuando los interruptores están cerrados.

El alto se genera con una entrada de suministro de 5V y resistencias de tirón, de tal manera que CLK
Este sitio web utiliza cookies para mejorar su experiencia. Al continuar visitando esto y DT
ambos son altos cuando los interruptores están abiertos.

No se ha mencionado anteriormente la existencia de un interruptor de botón que es integral para el


codificador. Si empujas el eje, un interruptor normalmente abierto se cerrará. La característica es
útil si deseas cambiar la función de conmutador. Por ejemplo, puedes desear tener el
capacidad para realizar ajustes gruesos y finos.

Esquema del Codificador Rotativo Keyes


AEl esquema para este módulo se proporciona a continuación. R2 y R3 en el esquema son resistencias pull-up.
resistores.
Circuito de Evaluación
Implementando con éxito el
Codificador rotativo en cualquier proyecto
requiere una comprensión clara de
todo lo que ha sido
discutido hasta ahora. Si todavía eres un
pequeño borroso, es posible que desees tirar
juntos el circuito de evaluación
ilustrado a continuación:

MUY DESPACIO rota entonces


eje de codificador en ambas direcciones, horario y
en sentido contrario a las agujas del reloj. Nota cuál
Los LEDs cambian de estado primero con
rotación.

Tutorial de Arduino KY-040

Conexión del módulo al Arduino


Es bastante sencillo... Todo lo que necesitas hacer es conectar cuatro cables al módulo.
El Sketch de Arduino
Este es un boceto sencillo que muestra cómo contar la posición del codificador y cómo determinar
dirección de rotación. No tiene rebote de interruptor, ni utiliza interrupciones. Un totalmente
la aplicación desarrollada podría necesitar incorporar estos para hacerla robusta.

int pinA = 3; // Connected to CLK on KY-040


int pinB = 4; // Connected to DT on KY-040
int contadorPosEncoder = 0;
int pinALast;
int aVal;
boolean bCW;

void setup() {
pinMode(pinA, INPUT);
pinMode(pinB, INPUT);
/* Leer Pin A
Cualquier estado en el que se encuentre reflejará la última posición
*/
pinALast = digitalRead(pinA);
[Link] (9600);
}

bucle vacío() {
aVal = digitalRead(pinA);
si (aVal != pinALast){ // Significa que la perilla está girando
// si la perilla está girando, necesitamos determinar la dirección
Hacemos eso leyendo el pin B.
si (digitalRead(pinB) != aVal) { // Significa que el pin A cambió primero - Estamos girando en el sentido horario
encoderPosCount ++;
bCW = true;
} else {// De lo contrario, B cambió primero y nos estamos moviendo en sentido contrario a las agujas del reloj

bCW = false;
encoderPosCount--;
}
[Link] ("Rotado: ");
si (bCW){
[Link] ("en sentido horario");
}else{
[Link]("contra las agujas del reloj");
}
[Link]("Posición del Encoder: ");
[Link](encoderPosCount);

}
pinALast = aVal;
}

También podría gustarte