16 teclas teclado descifrar con un MCU AVR (3 / 7 paso)

Paso 3: Lectura de pulsaciones de teclas en AVR

Ok, lo primero que notarás es que vamos a estar succionando hasta 8 puertos de la entrada-salida de este teclado sangrienta. Eso es un montón de i/os. En los siguientes pasos te voy a mostrar cómo se puede reducir que a alrededor de cuatro, tal vez un par más según cómo mucho controlan que desea. Pero por ahora, nos vamos a enganchar este lechón en libre ocho puertos de la entrada-salida de la AVR.

Elegí PD [2..7] y PB [0..1] para mi las conexiones. Si desea utilizar la comunicación serial en su arduino u otro clon, rehúyen PD [0..1]. También tuve problemas con mis pernos flotantes, usé cuatro 10 resistores de k para tirar hacia abajo los pernos de columna al suelo. Su AVR probablemente tiene pull-UPS internas, pero la lógica que ya había llegado para arriba con en mi cabeza no funcionaba bien con eso. Se te nota que no hay pin o conexión para alimentación al teclado, a diferencia del interruptor rotativo binario hablé en un anterior instructable.

Aquí es la idea básica. Quitando la cuatro columna hasta 0V. Configurar los pines como entrada. Establecer sus pernos de fila como salida con valores iniciales lógica 0. Un bucle por cada fila, enviando una lógica 1 a la fila y lea los pernos de columna. Si hay uno ahí, entonces tienes un keypress. También es de destacar el tema de la clave debounce. A través de la experimentación encontré una tasa de retraso realizable, de lo contrario tendrás muchos muchas notificaciones de keypress de cada keypress solo. Dependiendo de la velocidad de la MCU, usted tenga que modificas lo un poco, demasiado.

Os he adjunto un archivo en la parte inferior que escribí para que esta sección demostrar la conexión directa y lectura del teclado. Si usted elige utilizarlo que tendrás que modificar como bibliotecas que escribí para la comunicación serial. Aparte de eso, creo que debe ser generalmente fino. Aquí es el pseudo código para mostrar el flujo:

NOTA: Los números son sus lógicas números del 0 al 15, no el número de la tecla que se presionó. Para ello, necesitará agregar más lógica en su sección "el número es...", o asignar a un array, que es sólo un par de pasos. En primer lugar, vamos a ver cómo reducir el número de pines de I/O este teclado está tomando en nuestro microcontrolador.

Artículos Relacionados

Cómo empezar con Eclipse y AVR

Cómo empezar con Eclipse y AVR

programación de AVRs es divertido, pero a veces los entornos de desarrollo de fabricantes hacen mantenimiento de código una tarea. Si buscas un gratis, cruz plataforma, pieza de alta calidad de software para la programación de AVRs Eclipse es una bue
No puede escribir a Inglés correctamente, en un teclado Japon, con Windows inglés!

No puede escribir a Inglés correctamente, en un teclado Japon, con Windows inglés!

Así que quieres escribir inglés, en un teclado Japon, con Windows inglés.¿Por qué querría hacer eso?... Fácil!Si usted vive o trabaja en Japón, tiene poco fácil remedio comprar un teclado japonés.Crees que sería fácil agregar una plantilla de teclado
Control de electrodomésticos con nodo MCU vía MQTT

Control de electrodomésticos con nodo MCU vía MQTT

MQTT (transporte de telemetría de cola de mensaje) es un cliente servidor publicar/suscribir protocolo de transporte de mensajería. Este protocolo es ampliamente utilizado en el ámbito de Internet para la comunicación entre máquina a máquina por sus
Cómo utilizar un teclado USB con el Tablet de Acer Iconia A500

Cómo utilizar un teclado USB con el Tablet de Acer Iconia A500

Hice un video rápido que muestra cómo utilizar un teclado usb con Acer Iconia A500 Tablet.Si tienes cualquier duda por favor hágamelo saber.Ahora que Acer ha enviado la actualización a Honeycomb 3.1 también puede asociar y usar un teclado bluetooth.
Cómo leer binario/hexadecimal rueda cambiar con un microcontrolador AVR

Cómo leer binario/hexadecimal rueda cambiar con un microcontrolador AVR

este instructable le mostrará cómo leer el número en un binario pushwheel o ruedecilla Interruptor con LED o un microcontrolador AVR (estoy usando un ATmega328p pero esto puede ser adaptado para cualquier AVR o microcontrolador probablemente otra de
Sintetizador: Un teclado interfaz con salida de Audio

Sintetizador: Un teclado interfaz con salida de Audio

Hemos construido un teclado con cinco modos de síntesis en Javascript para mostrar el poder de la utilización de las clavijas de salida de audio hardware de Kinoma crear una interfaz de usuario. Puede descargar el proyecto de código abierto ahora par
Madera teclas de Macbook (con función de luz de fondo)

Madera teclas de Macbook (con función de luz de fondo)

IntroducciónOrdenadores Mac han sido modificadas fuertemente en los últimos años. Esto podría variar en cambios de color, adhesivos, grabados y mucho más. Teclas de madera en un macbook siempre me impresionaron. Se puede por Internet desde varios lug
¿Cómo leer muchos interruptores con un MCU Pin

¿Cómo leer muchos interruptores con un MCU Pin

ha usted siempre sido chugging lejos en un proyecto (s) y el proyecto sigue creciendo y creciendo, mientras que le agregue más cosas (que llamamos un Creaturism Feaping)?  En un proyecto reciente, fue la construcción de un medidor de frecuencia y aña
De Arduino y perfboard para PCB con independiente MCU

De Arduino y perfboard para PCB con independiente MCU

Este Instructable es un sucesor directo de éste. Al final de esta acumulación, mi proyecto de plato giratorio es casi completa (por fin).El objetivo es desarrollar un buen aspecto y trabajar PCB con SMD electrónica con un trabajo ATtiny85 + software!
Táctil teclado / controlador con Arduino y el proceso del juego

Táctil teclado / controlador con Arduino y el proceso del juego

este instructable describe de una manera rápida y sencilla para crear un teclado táctil o un controlador de juegos con-cartón,-papel de aluminio,- y un Arduino.También proporciona los códigos de Arduino y el proceso para comenzar a jugar inmediatamen
12 tecla teclado Terminal común

12 tecla teclado Terminal común

Esto es una manera rápida y sucia de hacer frente a los pines en un teclado terminal común clave 12 con una placa Arduino tipo regulador micro dev. El teclado es de marca Seeedstudios y lo tengo de RadioShack electrónica componente Pack 2. El "Arduin
Controlador de estación de trabajo/midi teclado modular con keybed modular

Controlador de estación de trabajo/midi teclado modular con keybed modular

de mis arañazos... من خربشاتيhttps://3dwarehouse.SketchUp.com/Model.html?id=u3958596a-88d4-47cd-9627-98a072f91c2dmidi_controller_work_station_64 planos de ideas - primeros pasosunidad utilizada en pulgadasaumentar la precisión de 1/64"no se bosquejan
¿Manejar un Motor paso a paso con un microprocesador AVR

¿Manejar un Motor paso a paso con un microprocesador AVR

conseguido algunas construida paso a paso motores de impresoras/disco drives/etc ahí?Un sondeo con un ohmímetro, seguido por un código simple en su microprocesador y a caminar en estilo.Paso 1: Conocer a Steppers Básicamente, vas a tener que averigua
Soporte de smartphone para portátil teclado Bluetooth con Sugru

Soporte de smartphone para portátil teclado Bluetooth con Sugru

Tenemos un pequeño teclado Bluetooth portátil que puede ser utilizado para muchos fines, ya que se puede conectar a cualquier dispositivo compatible; para sacarle el máximo partido, w.r.t dispositivos sin un teclado físico como smartphones o tabletas