Paso 38: Construir el controlador: tablero AVR
Esta tabla es el cerebro del cubo del LED. El componente principal es un ATmega32 de AVR de Atmel.
Se trata de un microcontrolador de 8 bits con 32 KB de memoria de programa y 2 KB de RAM. El ATmega32 tiene 32 pines GPIO (IO de propósito General). Dos de ellas se utilizará para comunicaciones en serie (TX + RX). Tres pernos del IO se utilizan para ISP (In-circuit Serial Programming). Esto nos deja con 27 GPIO para manejar el cubo de LED, botones y LEDs de estado.
Un grupo de 8 GPIO (8 bits, un byte) se llama un puerto. El ATmega32 tiene 4 puertos. PORTA, PORTB, PORTC y PORTD. En PORTC y PORTD algunos de los pines se utilizan para TX/RX y ISP. El PORTA y PORTB, todos los pernos están disponibles. Utilizamos estos puertos para el bus de datos de la matriz de cierre y capa transistor seleccione matriz.
PORTA está conectado con el bus de datos en la matriz de cierre.
Cada pin en el PORTC es conectado a un par de transistores que una capa de tierra.
El selector de dirección de la matriz de cierre (74HC138) esté conectado a la broca 0-2 en PORTB. Activar salida (OE) está conectado al PORTB bit 3.
En la primera imagen, verá el AVR tablero derecho hacia arriba.
La grande 40 pines PDIP (plástico Dual Inline Package) de la viruta en el centro del tablero es el ATmega32, el brainz! Justo a la izquierda del ATmega, ves el oscilador de cristal y es dos condensadores. A ambos lados de lo ATmega hay un condensador de 100nF filtrado. Uno de tierra/VCC y otra de AVCC/GND.
En la esquina superior izquierda, hay un dos conectores y dos capacitores de filtrado. Uno de 10uF y un 100nF. El LED sólo está conectado a VCC mediante una resistencia e indica poder.
El conector de 16 pines grande arriba el ATmega se conecta directamente a la Junta de matriz de cierre a través de un cable de cinta. El pinout de este corresponde a los pines en el otro tablero.
El más pequeño 10 pines a la izquierda, es un jefe de programación AVR ISP estándar. Es GND, VCC, RESET, SCK, MISO y MOSI, que se utilizan para la programación. Junto a él, hay un puente. Cuando esto está en el lugar, la junta puede ser alimentada desde el programador.
PRECAUCIÓN: No alimentar el tablero del programador cuando el actual cubo del LED está conectado al controlador. Esto posiblemente podría soplar el programador e incluso el puerto USB el programador está conectado a.
La segunda imagen muestra la parte inferior. Otra vez todas las líneas GND y VCC se sueldan como huellas en la protoboard o desnudo alambre. Tuvimos algunos izquierda más sobre recta metálica, por lo que usamos esto.
Los cables naranja conectan el ATmega de restablecer, pines SCK, MOSI y MISO la cabecera Programación ISP.
Los alambres verdes conectan PORTA el bus de datos.
Los cables azules son la dirección seleccionar líneas para el 74HC138 y salida permiten (OE) para la matriz de cierre.
1) comenzar colocando el zócalo de 40 pines del IC, el conectador de la ISP 10 pines con un jumper al lado y el conector de bus de datos de 16 pines.
2) de la soldadura en lugar del conector de alimentación, condensadores y LED indicador de energía.
3) Conecte todas las líneas GND y VCC con rastros de soldadura o alambre. Coloque un condensador de 100nF entre cada par de GND/VCC pasadores en el ATmega.
4) de la soldadura en el cristal y los dos condensadores de 22pF. Cada condensador se conecta a un pin de la cristal y la tierra.
5) ejecutar todo el bus de datos, seleccione dirección y OE cables y los cables de la ISP.
Transistores, botones y RS232 se añadirán en pasos posteriores.
En este momento, la Junta AVR puede ser conectada a un programador ISP y se debería reconocer el ATmega.