Tutorial de ensamblador AVR 9 (6 / 7 paso)

Paso 6: Filtros de paso bajo y amplificador del voltaje

Para limpiar un poco el ruido y hacer que el teclado funcione mejor que queremos añadir un par de filtros low-pass. Estos filtran el ruido de alta frecuencia y permiten la señal de baja frecuencia pase a través. Esencialmente la forma de hacer esto es simplemente añadir un condensador 68 pf entre nuestro análogo de entrada y de tierra y también un capacitor de 0,1 μF (es decir, 104) entre nuestros PD4 (INT0) interrupción y la tierra. Si jugar con estos mientras empuja botones en el teclado usted podrá ver lo que hacen.

A continuación queremos hacer un amplificador de voltaje. Resulta que la fila inferior de teclas en el teclado (como la tecla de rellamada) están poniendo hacia fuera demasiado bajo un voltaje se dispara la interrupción INT0. El puerto analógico es lo suficientemente sensible como para leer los voltajes bajos de estas claves pero nuestro pin de interrupción no está recibiendo una buena suficiente borde de levantamiento a interrumpir cuando pulsa los botones. Por lo tanto, nos gustaría alguna manera de asegurarse de que una tensión agradable borde de levantamiento golpea PD4 pero los mismos golpes de baja tensión ADC0. Es un bonito puesto que ambas señales están llegando desde el mismo cable de salida de nuestro teclado. Hay una serie de sofisticadas formas de hacer esto, pero no vamos a utilizar nuestro teclado ya después de este tutorial solo vamos a kluge a un método que funciona (apenas).

En primer lugar debe enlazar un botón externo para reemplazar la interrupción INT0 y controlar la pantalla manteniendo una tecla en el teclado y haciendo clic en el botón. Esto tiene menos problemas de teclado y podrás estar seguro de que tus tensiones se establecen correctamente en la tabla de búsqueda del teclado. Una vez que conoces que el teclado está conectado correctamente a continuación deshacerse del botón y vuelva a colocar la interrupción INT0. Hay algunos ruidos graves y problemas de voltaje que controla el teclado de esta manera por lo que es bueno saber que todo funciona por lo que problemas en el futuro pueden ser aislados a la clave de INT0.

Cuando que el alambre el teclado y amplificador de voltaje, es muy probable que los mismos valores de resistencia que he usado no va a trabajar. Así que tienes que hacer algunos experimentos para obtener valores que trabajan para usted.

Si nos fijamos en el diagrama que he adjuntado a este paso, verá cómo el amplificador de tensión se va a trabajar. Utilizamos dos transistores y algunas resistencias. Pin de los transistores de manera que trabajo (véase las hojas de datos) existe un voltaje mínimo que usted necesita para la entrada en el pin de la base de las Tranzas (el pin central) que saturarla y permitir que la corriente fluya entre el pin del colector y el emisor. En el caso del transistor 2N3904 que estamos utilizando aquí el voltaje es 0.65V. Ahora estamos tomando que la tensión de nuestra salida desde el teclado y no queremos cambiar eso por lo que vamos a poner una gran resistencia entre la salida desde el teclado y la base del primer transistor (utilicé 1Mohm) de salida. He etiquetado como R_1 en el diagrama. A continuación, queremos crear un divisor de tensión para que la base del transistor es "casi" de 0,65 voltios ya solo un pequeñito pedacito minúsculo más empuje en la parte superior y saturarla. Que pequeñito pedacito minúsculo vendrá desde la salida del teclado cuando presione un botón. Puesto que las teclas más bajas en el teclado están poniendo sólo a una pequeña tensión tenemos que estar muy cerca de saturación ya a fin de que sea suficiente. El divisor de tensión resistentes están etiquetados R_a y R_b en el diagrama. He utilizado R_a = 1Mohm y R_b = 560Kohm pero es casi seguro que tendrás que jugar con estos números para obtener para su configuración. Puede que desee tener un muro cercano a golpear su cabeza contra el y dos o tres vasos de whisky en la mano (recomiendo Laphroaig, caro, pero vale la pena si te gusta fumar. Si las cosas se ponen realmente locos, entonces haz una jarra de BV y reposar la noche)

Ahora vamos a mirar cómo los transistores van a hacernos un buen flanco ascendente va a la tecla de INT0 y genere la interrupción de keypress. Primero veamos lo que sucede cuando estoy no presionar una tecla. En ese caso el primer transistor (etiquetados como T1 en el diagrama) está apagado. Así que no es flujo de corriente entre el colector y el emisor. Así la base del transistor (T2 marcada) se tiró alto y así se saturarán permitiendo que la corriente fluya entre sus pines. Esto significa que el emisor de T2 se va desplazando bajo puesto que está conectado al colector que esté conectada a tierra. Así, la salida que va a nuestro pin de interrupción INT0 keypress (PD4) es baja y no habrá ninguna interrupción.

Ahora ¿qué pasa cuando presiono una tecla? Pues la base de T1 va por encima de 0.65V (en el caso de las teclas inferiores apenas supera!) actual se permitirá al flujo que se tire de la base de T2 en bajo voltaje y este se apagará T2. Pero vemos que cuando la T2 está apagada, entonces la salida es tirada alta y por lo tanto obtenemos una señal de 5V va a nuestros pines INT0 y provocará una interrupción.

Observe lo que el resultado está aquí. Si empujamos la 1 tecla, obtenemos 5V vas a PD4 sin cambiar significativamente la salida va a ADC0 y lo más importante, incluso si nos Presione asterisco, 0, Hash o marcar, también recibe una señal de 5V va a INT0 y también causando una interrupción! Esto es importante ya que si sólo fuimos directamente desde la salida de teclado a los pines INT0, esas teclas no están generando casi tensión y no serán suficiente para desencadenar ese pin de interrupción. Nuestro amplificador de voltaje ha resuelto este problema.

Artículos Relacionados

Tutorial de ensamblador AVR 11

Tutorial de ensamblador AVR 11

Bienvenido a Tutorial 11!En este breve tutorial, finalmente vamos a construir la primera parte de nuestro proyecto final.Lo primero que debes hacer es ir al último paso de este tutorial y ver el video. Luego vienen aquí. [pausa mientras haces eso...]
Tutorial de ensamblador AVR 1

Tutorial de ensamblador AVR 1

He decidido escribir una serie de tutoriales sobre cómo escribir programas del lenguaje ensamblador para el Atmega328p que es el microcontrolador utilizado en el Arduino. Si la gente sigue interesada voy a seguir poner a uno una semana o así hasta qu
Tutorial de ensamblador AVR 6

Tutorial de ensamblador AVR 6

Bienvenido a Tutorial 6!Tutorial de hoy será corto donde desarrollamos un método sencillo para comunicar datos entre uno atmega328p y otro con dos puertos conectan. Luego tomar los dados rodillo del Tutorial 4 y el analizador de registro de 5 Tutoria
Tutorial de ensamblador AVR 8

Tutorial de ensamblador AVR 8

Bienvenido a Tutorial 8!En este breve tutorial vamos a tomar un poco de diversión de introducir nuevos aspectos de la programación de lenguaje ensamblador para mostrar cómo mover nuestros componentes prototipos a un separado "" del circuito impr
Tutorial de ensamblador AVR 7

Tutorial de ensamblador AVR 7

Bienvenido a Tutorial 7!Hoy vamos a ver primero cómo limpiar un teclado y luego se muestra cómo utilizar los puertos de entrada analógicos para comunicarse con el teclado.Esto lo haremos utilizando como entrada de interrupciones y un solo cable. Se a
Tutorial de ensamblador AVR 10

Tutorial de ensamblador AVR 10

Bienvenido al Tutorial de 10!Lo siento que tomó tanto tiempo para salir esta próxima entrega, pero esta es una época bastante ajetreada del año. En cualquier caso, aquí está!Hemos recorrido un largo camino y probablemente ya eres lo suficientemente c
Tutorial de ensamblador AVR 5

Tutorial de ensamblador AVR 5

Hoy vamos a tomar un vistazo a los distintos lugares de la memoria en el microcontrolador Atmega328p y ver si podemos comprender mejor cómo se almacenan las cosas, donde se almacenan y cómo funcionan los punteros y tablas de búsqueda.El tutorial se s
Tutorial de ensamblador AVR 4

Tutorial de ensamblador AVR 4

Bienvenido a tutorial número 4!En este tutorial vamos construir un circuito que simulará el balanceo de dos dados. Entonces vamos primero a escribir un programa de fuerza bruta que hace el trabajo. A continuación simplificamos ese programa de varias
Tutorial de ensamblador AVR 2

Tutorial de ensamblador AVR 2

Este tutorial es una continuación de "AVR Assembler Tutorial 1"Si no has ido por 1 Tutorial debe parar ahora y hacer que uno primero.En este tutorial vamos a continuar nuestro estudio de programación del lenguaje ensamblador de la atmega328p en
Tutorial de ensamblador AVR 3

Tutorial de ensamblador AVR 3

Bienvenido a tutorial número 3!Antes de empezar quiero hacer un punto filosófico. No tenga miedo de experimentar con los circuitos y el código que estamos construyendo en estos tutoriales. Cambiar los cables alrededor de añadir nuevos componentes, sa
Un enfoque avanzado de programación de Arduino y AVR

Un enfoque avanzado de programación de Arduino y AVR

Este instructable es obligada lectura para todo aquel que esté familiarizado con núcleo AVR virutas y Arduino.Bien, para ser más específicos, al leer el instructivo, usted será capaz de:1) saber la diferencia correcta entre el AVR y Arduino.2) progra
Placa de desarrollo para microcontrolador Attiny84

Placa de desarrollo para microcontrolador Attiny84

Se trata de una placa de desarrollo para microcontrolador Attiny84. Tha Attiny84 chip tiene 11 pines direccionables con el IDE de Arduino, 8k de memoria flash para el almacenamiento de programa y 512 bytes de RAM disponible para las variables de pila
La tortura de Raven, aguda

La tortura de Raven, aguda

este es un pequeño dispositivo que diseñé para el sencillo propósito de ser discretamente molesta. Espera una cantidad predeterminada de tiempo, y luego empieza a emitir pitidos agudos. Yo he programado mina para tomar ventaja de una propiedad intere
Cariño, encogi lo Arduino: pasar de Arduino a ATtiny y escribir el código en C de AVR puro

Cariño, encogi lo Arduino: pasar de Arduino a ATtiny y escribir el código en C de AVR puro

Arduino es una plataforma de software y de gran dura - pero con todas sus características también está un poco hinchado y a menudo necesita sólo una pequeña parte de todas las funciones. A veces el proyecto requiere dispositivos más pequeños y más ba