Usando un codificador de cuadratura con un ATtiny 2313 y un Display OLED (3 / 3 paso)

Paso 3: Firmware

Se adjunta es el firmware. Se puede compilar con «make», como se describe en el último paso. Está escrito en un hardware de manera independiente: se implementan todas las funciones, que no son C estándar, en hardware.cpp, así que portabilidad a otro microcontrolador es fácil. Las funciones del codificador rotatorio son en main.c. En display.c es son las funciones de dibujo de texto, números y rectángulos. La pantalla OLED tiene una detección automática de velocidad, por lo que se pueden utilizar otros tipos de transmisión.

Hay dos pines de entrada para el codificador codificar las cuatro fases de las señales de cuadratura (véase la Wikipedia imagen http://upload.wikimedia.org/wikipedia/en/thumb/6/68/Quadrature_Diagram.svg/500px-Quadrature_Diagram.svg.png). La dirección de giro se puede detectar, si se compara el último estado de fase con el nuevo estado, por ejemplo, si cambia de estado 2 al estado 3 fue dada vuelta derecha y si cambia de estado 3 al estado 2 se convirtió izquierdo.

Por lo que necesitará saber el último estado y el estado actual. Un estado está codificado en dos bits. El último estado y el estado siguiente combinado son 4 bits. Este es el índice en una tabla con 16 entradas, que da + 1, 0 o -1, como la dirección en la que el codificador rotatorio se convirtió.

La tabla tiene la ventaja de que fácilmente puede implementar comportamientos especiales, e.g. para el codificador de Alpes hay transiciones de fase en las posiciones de ralentí, que se ignoran, ya que esto dio lugar a rebotando entre dos valores a veces. Y este todos la resolución, que se traduce en uno contando paso por trama.

Rebote de los contactos no es problema, si el tiempo entre la comparación de dos fases es más rápido que la velocidad más rápida puede cambiar dos fases.

Artículos Relacionados

Cómo utilizar la biblioteca de IR con un attiny

Cómo utilizar la biblioteca de IR con un attiny

Este Instructable le dirá cómo usar la biblioteca de IR (infrarroja) en un Attiny. Utilizaré un Attiny85 con un Arduino Uno. No cubro como subir bocetos a lo Attiny cómo utilizar la biblioteca de IR con él. el mejor tutorial de subir bocetos que he e
TIRO infrarrojo usando una FUJI X-PRO1 con un lente ojo de pez SAMYANG 8MM F2.8

TIRO infrarrojo usando una FUJI X-PRO1 con un lente ojo de pez SAMYANG 8MM F2.8

TIRO INFRARROJO USANDO UNA FUJI X-PRO1 CON UN LENTE OJO DE PEZ SAMYANG 8MM F2.814 de abril de 2014He ideado una forma de utilizar el muy popular Samyang 8mm F2.8 lente ojo de pez que viene bajo varios otros nombres de marca incluyendo; Rokinon y Bowe
Tablero de interruptor de la wifi o el enchufe inteligente con Esp8266, Attiny 85 & Sensor PIR con aplicación android

Tablero de interruptor de la wifi o el enchufe inteligente con Esp8266, Attiny 85 & Sensor PIR con aplicación android

El 85 de Arduino Wifi es una pequeña tabla con ESP8266-01 módulo, Attiny85 micro controlador y un relé. Tiene también y como de encabezado adicional para conectar un relé externo o para conectar sensores de PIR, IR, etc. dependiendo de la aplicación.
Software de PWM con arduino/attiny

Software de PWM con arduino/attiny

Hola chicos este es un instructivo acerca de cómo utilizar el software de PWM. La razón puede utilizar software de que PWM es permite pwm ser usado en cualquier pin. Que es aceptable para arduino que tiene como 6 (no me cita en eso) pero su gran un a
Usando el MT8870 DTMF Decoder con Arduino

Usando el MT8870 DTMF Decoder con Arduino

decodificadores DTMF se utilizan para detectar tonos DTMF Genrated por móvil teclado DTMF.En este proyecto vamos a decodificar los tonos DTMF en 4 bits de salida y esta salida se da a la arduino que detecta la pulsación de tecla y se muestra en la pa
Junta educativa Attiny 2313

Junta educativa Attiny 2313

he hecho este foro para aprender programación de uC. Es muy simple y fácil de soldar. Como programador de I'am utilizando USB_ASP - proyecto de sitio web www.fischl.de/usbasp, pero se podría utilizar cualquier otra compositora para avr con el conecta
Con 4 dígitos, 7 segmentos display con arduino

Con 4 dígitos, 7 segmentos display con arduino

En este tutorial mostrará usted cómo utilizar un display de 7 segmentos con 4 dígitos utilizando arduino. Algunas cosas básicas que me gustaría señalar es que esta casi todo de los pines digitales en el arduino uno, leonardo, los tableros con 13 pine
Bola de 3DOF en placa utilizando cerrado motores paso a paso de bucle

Bola de 3DOF en placa utilizando cerrado motores paso a paso de bucle

La bola en el problema de la placa consiste en una placa plana en la que una bola debe ubicarse. Bola de posicionamiento se logra a través de equilibrio inestable, donde cualquier pequeño cambio en el ángulo de la placa dará lugar a la aceleración co
RGB LED luz Fader

RGB LED luz Fader

quería algo genial para poner en mi escritorio en el trabajo.  He visto varios proyectos LED hacia fuera en la web, pero quería algo pequeño y compacto que podría poder con el puerto USB en mi computadora.También no quería sólo una LED bombilla proye
El Zen de Hardware

El Zen de Hardware

a veces se notan patrones recurrentes en su manera de explorar y hacer las cosas.Usted tiene éxito, usted no, usted es feliz y te enojas.Aprendes mucho de cosas técnicas y por milagro, pero... incluso en este mundo muy técnico, aprende algo sobre sí
Domótica con ATTiny y teléfono móvil

Domótica con ATTiny y teléfono móvil

En nuestra cabaña en el bosque no tiene una conexión de internet confiable. En el invierno es muy frío cuando entramos y toma un par de horas antes de que la casa se calienta al encender la calefacción de piso después de que vienen en.Quería ser capa
Animación de nube luz de noche con ATTiny

Animación de nube luz de noche con ATTiny

Este Instructable te muestra cómo hacer un nifty Arduino (ATTiny) accionado luz animada de la noche. Este diseño utiliza tiras LED baratas de 3 circuitos independientes. El 'sol' LED encendida constantemente, mientras que la 'nube' 2 LEDs desvanecers
Comunicación serie ATTiny con pequeño programador AVR

Comunicación serie ATTiny con pequeño programador AVR

ATTinies (como el 85 ATTiny) son super impresionantes! Son super baratos, baja potencia y lo hacen qué proyectos de Arduino más logran de todos modos (dar una simple salida o disfrutar de una entrada simple).Una dificultad puede ver rápidamente lo qu
LinkIT un BT - eléctrica con temporizador usando Android

LinkIT un BT - eléctrica con temporizador usando Android

Dispositivo de control a través de la distancia de cableado fijo es sólo estático. Por lo tanto para plan dinámico para construir un tablero de extensión de alimentación controlado por bluetooth. Buscar en la tienda del juego y encuentra aplicación g