UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE INGENIERÍAS CARRERA DE INGENIERÍA ELECTRÓNICA SISTEMAS MICROPROCESADOS INFORME PROYECTO BIMESTRAL
“MATRIZ DE LEDS”
INTEGRANTES: HÉCTOR CARDENAS RICARDO RAMOS ESTEBAN SALAZAR
SEMESTRE SEPTIEMBRE 2009– FEBRERO 2010
SISTEMAS MICROPROCESADOS I
1. INTRODUCCIÓN
Es necesario reafirmar el principio de compromiso hacia el servicio a la comunidad mediante la realización de proyectos encaminados a la solución o implementación de equipos y elementos útiles en la vida diaria de las personas. La necesidad de la utilización de sistemas autónomos en su funcionamiento, nos obligan a quienes nos preparamos en el ámbito de la Electrónica a la búsqueda de procesos independientes, que permitan a las personas de cualquier índole, es decir, que no posean conocimientos de la Electrónica la manipulación y utilización de equipos prácticos y de costos mederados. Es por tal motivo que a continuación se describe el desarrollo del proyecto de una “Matriz de Led’s”, la cual mediante el uso de elementos de común uso dentro nuestra especialidad como es el microcontrolador Atmega16, el cual va a permitir el control de la matriz de leds.
2
SISTEMAS MICROPROCESADOS I
CONTENIDOS CONTENIDO DE TEMAS 1. Análisis del problema 1.1.
Planteamiento del problema a resolver
1.2.
Objetivos
1.3.
Hipótesis
1.4.
Justificación
1.5.
Metodología
1.6.
Alcance y limitaciones
2. DISEÑO DEL INDICADOR DE MENSAJES 2.1 Diagrama de bloques 2.2 Desarrollo de la etapa 1 2.3 Desarrollo del la etapa 2 2.4 Desarrollo de la etapa 3 2.5 Diagrama de Flujo 3 Análisis de costos 4 Pruebas realizadas con respecto a normas de diseño 5 CONCLUSIONES Y RECOMENDACIONES 6 BIBLIOGRAFIA 7 ANEXOS CONTENIDO DE FIGURAS: Figura modelo isis de circuito control …………………………………….. 7 Diagrama Base ..………………………………………………………….. . 11 Placa del Circuito de Control………….……………………………….
13
Foto prueba de escritura …………….……………………………………. 13 Simulación en isis ………………………………………………………….. 15 Foto matriz de Leds …..……………………………………………………. 15 CONTENIDO DE TABLAS: Tabla de costos …………………………………………………………………….. 9 Tabla de códigos de nombres …………………….……………………………… 8
3
SISTEMAS MICROPROCESADOS I
1. ANALISIS DE LA PROBLEMÁTICA A RESOLVER
1.1.
Planteamiento del problema :
Diseñar y construir un indicador de mensajes mediante diodos leds de alta luminosidad de 18 filas x 18 columnas en el que se observara lo siguiente: Aparece el nombre y apellido de cada integrante del grupo durante 5 segundos uno a continuación de otro. Aparecen los nombres moviéndose de izquierda a derecha. Aparecen los nombres moviéndose de derecha a izquierda. Aparece una figura navideña, estrella moviéndose.
1.2.
Objetivos:
Diseñar una matriz de leds que conste de 18 filas x 18 columnas. Escribir en una matriz de leds los nombres de los integrantes. Desplazar los nombres de derecha a izquierda. Desplazar los nombres de izquierda a derecha. Hacer practica la teoría que se recibió en clases.
1.3. Hipótesis: La escritura en la matriz de leds se realizará mediante el uso de métodos los cuales definirán que fila y columna se va a encender, se lo realizara a una determina velocidad consiguiendo formar una o un grupo de letras al principio estarán estáticas pero con un nuevo método conseguiremos que el conjunto de leds encendidos se trasladen, de izquierda a derecha y de derecha a izquierda. Para efecto de lo cual se utilizará código hexadecimal. El uso de demultiplexores nos permitirá optimizar el número de puertos que tenemos a nuestra disposición en el ATMEGA16, dado que el número de filas y columnas que debemos manejar son mayores a las 32 salidas que poseemos en el micro controlador. 4
SISTEMAS MICROPROCESADOS I
1.4. Justificación: El presente trabajo nos permite poner en práctica la teoría recibida en clases mediante el diseño y construcción de una matriz de leds, la implementación y diseño de un programa que active simultáneamente una fila y una columna determinada, mediante el uso de un microcontrolador.
1.5. Metodología:
La metodología utilizada es variada, debido a la complejidad y diversidad del proyecto. A continuación los métodos utilizados en el desarrollo: Inductivo.- al momento de estudiar las aplicaciones de un microcontrolador, para llegar hasta la aplicación en un letrero luminoso con una matriz de leds. Experimental.- en el transcurso del proyecto cuando realizamos las
visualizaciones
de
los
programas
ejecutados
en
el
microcontrolador en la matriz de leds. Ciéntifico.- al momento de utilizar conceptos dados en la asignatura
y
cálculos
respectivos
para
la
codificación
y
decodificación de las letras a mostrar.
1.6. Alcance y limitaciones:
Este proyecto lo es de una gran gama de aplicaciones como por ejemplo en el sistema de transporte Trolebús, en rótulos para asignar turnos en instituciones públicas y privadas, en los carteles de empresas de transporte de pasajeros, Por otro lado tenemos que analizar también las limitaciones que este proyecto presenta, una de las mas grandes es que el texto que vamos a mostrar es poco flexible, es decir tendremos que modificar líneas de programación para poder mostrar una secuencia de caracteres distintos.
5
SISTEMAS MICROPROCESADOS I
2. DISEÑO DEL INDICADOR DE MENSAJES: 2.1 Diagrama de bloques: CONTROL uC
ALIMENTACION. Manejamos lógica TTL
MATRIZ DE LEDS ************ ************ ************ ************
2.2 Desarrollo de la etapa 1: Etapa de alimentación: por practicidad vamos a utilizar una fuente de voltaje de 5v, para lo cual podemos utilizar un cargador de celular.
6
SISTEMAS MICROPROCESADOS I
2.3 Desarrollo de la etapa 2 Etapa de control: Esta etapa es la de más importancia puesto que controlara todo el sistema de leds, es decir se decidirá que fila y que columna se enciende logrando así dibujar una letra. La programación ha sido desarrollada mediante el software BASCOM AVR, programa especialmente diseñado para el desarrollo de la programación de microcontroladores del tipo AVR, el dispositivo en el que insertamos las líneas que se ejecutaran es el AVR ATMEGA16 el cual tiene 32 salidas de las cuales utilizamos:
Todos los pines del puerto A. Todos los pines del puerto B. 2 pines del puerto C. 6 pines del puerto D. Distribución de Utilización de Pines: Los 8 pines del puerto A, los 8 pines del puerto B y los 2 pines del puerto C son utilizados en el control de las 18 filas, con las cuales encendemos un led en una columna especifica. Los 6 pines que se ocupan del puerto D están destinados a controlar las columnas que se encenderán 4 van al demultiplexor 74LS154 que maneja 16 salidas en base a 4 entradas, como tenemos 18 columnas nos faltarían 2 pines mas para completar la totalidad de salidas, estos 2
7
SISTEMAS MICROPROCESADOS I
pines son parte de los 6 del puerto D, estos van conectados directamente mediante transistores a las columnas que activaran.
Diagrama en ISIS del circuito de control 1
2.4. Desarrollo de la etapa 3 Etapa matriz de leds: En esta sub bloque se ha hecho uso no solo de los pines de salida que vienen del micro controlador debido a la falta de recursos (falta de pines en el microcontrolador) sino también del demultiplexador 74LS245 el cual maneja 16 salidas con solo 4 entradas como son 18 las columnas que deberemos manejar se utilizara 2 pines mas del micro controlador los cuales se conectaran a la matriz por medio de transistores. Como generamos cada nombre de los intregrantes? Se realizo un bosquejo en excell, al cual se le dio una secuencia de 0 y 1 solamente en los puntos (leds) que necesitaramos encender, a continuación un ejemplo de cómo se obtuvo el código:
8
SISTEMAS MICROPROCESADOS I
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1
0 1 1 1 1 1
1 1
1 1 1 1 1
1
1 1 1 1 1
0 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1
1 1
2 1 1 1 1
4 1 1 1 1 1
1 1 1
1 1 1
1
1
1
1 1
5
6
7 1
8 1
9
1 1 1 1
1
1 1 1 1
1
1 1 1 1 1
1 1 1 1
3
4
1
1 1 1 1
1
1 1 1
1 1 1 1
5
1 1 1 1 1
6
7
1
1 1 1 1 1
1
1
1
1 1
1 1 1 1 1 1 1
E 1 1 1 1 1
F 1 1 1
S1 S2 1 Ctrl nibble 1 bajo A 1 1
1 1 1 1 1
1
1
Ctrl nibble alto A
1 1 1 1
8 1
1
1
9 1 1 1 1
A 1 1 1 1
Ctrl nibble bajo B
Ctrl nibble alto B Ctrl nibble bajo C
B
C
D
E
1 1 1 1
1 1 1 1 1
1 1 1
F
S1 S2
1 1 1
1 1 1 1 1
1 1 1 1
D
1 1
1
1
C
1
1
1
B 1
1
1
2
1 1 1 1
1 1 1
A 1 1 1 1
1
1
1
3
1 1 1
1 1
1
1 9
SISTEMAS MICROPROCESADOS I
2.5. Diagrama de Flujo: INICIO
Inicialización de los puertos A, B, C, D como puerto s de salida.
Codificación de los nombres en formato hexadecimal.
Impresión del número hexadecimal en los pines de salida del micro.
Implementación de un subproceso para guardar el código de distintas columnas, y llamarlo al momento de realizar el barrido
Impresión del código del dibujo navideño a presentar
FIN
10
SISTEMAS MICROPROCESADOS I
3. ANALISIS DE COSTOS.
Construir un indicador mediante diodos led´s de alta luminosidad de 18 filas por 18 columnas.
Lista de componentes:
Elemento
Cantidad
Diodo Atmega 16 Demultiplexor Baquelita Acido Buses de datos Transistor Caja Pintura en aerosol Gasolina Total
400 1 1 2 5 4 2 1 1 10
Valor Unitario 0,125 6 2 1,5 1 0,5 0,35 25 2,5 1,45
Valor Total 50 6 2 3 5 2 0,7 25 2,5 14,5 110,7
Observaciones:
El costo de c/u de los leds se redujo gracias a la unión de varios grupos para la obtención de un descuento representativo.
La caja, se busco economía pero también diseño. Los demás gastos, como acidos, baquelitas, pintura, etc son gastos que estarán presentes en cualquier tipo de proyecto electrónico. Cabe recalcar que el gasto mas importante por cantidad fueron los leds, se recomienda realizar una compra conjunta ya que cuanto mas sea la cantidad que se va a comprar el descuente es mayor.
11
SISTEMAS MICROPROCESADOS I
4. PRUEBAS REALIZADAS CON RESPECTO A NORMAS DE DISEÑO,
Pauta principal 1
La base para el inicio del proyecto en el proceso de programación de una matriz de leds partió desde este punto, un archivo publicado en un blog como el que estamos preparando. Si bien este ejemplo fue hecho con un PIC la lógica que se usa para programar el AVR es la misma. Fue un gran avance hallar un hardware en el cual el control de las filas se realiza no directamente desde los pines
del micro controlador sino mediante un
demultiplexor y transistores, los mismos que podrían ser usados para amplificar la corriente que llega a los leds.
5. Conclusiones y Recomendaciones Conclusiones: El uso de sub rutinas nos pueden ahorrar lineas de código, solamente llamandolas ya no tendremos que volver a escribir lineas y lineas de comando. El comando Goto nos lleva hasta una subrutina y nos mantiene en ella, cosa que no es recomendable cuando queremos solamente 12
SISTEMAS MICROPROCESADOS I
hacer uso de la sub rutina y continuar con el programa. Una alternativa, es utilizar el método Gosub, el mismo realiza una sub rutina y una vez terminada nos vuelve a la linea del programa principal. El barrido en este proceso es uno de los puntos mas importantes ya que no solo es un aspecto estetico si no tambien muy útil, cuando la matriz no nos alcance para poder escribir una palabra completa, podremos hacer uso del barrido de caracteres por la matriz, de esta manera mostraremos partes de la palabra total dividida en tiempos. El uso de un demultiplexor nos permitio ampliar la capacidad de control de pines del micro controlador, con el demultiplexor logramos con 4 entradas manejar 16 salidas. La corriente que podemos entregar a la matriz puede ser amplificada utilizando transistores entre el pin de salida del micro controlador y el pin del led. Recomendaciones: Se tendra que buscar un diseño de la matriz de leds que no presente muchos problemas al conectar los leds, es decir que no tengamos que puentear nada. Optimizar al maximo las lineas de código con el uso de sub rutinas. El manejo del micro no soldandolo directamente el micro a la matriz, sino mediante un adaptador 5. BIBLIOGRAFÍA http://www.datasheetcatalog.net/es/datasheets_pdf/7/4/L/S/74LS154.shtml http://www.datasheetcatalog.net/es/datasheets_pdf/A/T/M/E/ATMEGA16.shtml
13
SISTEMAS MICROPROCESADOS I
6. ANEXOS:
Placa de Circuito de Control
Primera prueba de escritura 1
14
SISTEMAS MICROPROCESADOS I
Prueba en ISIS del circuito 1
matriz de leds 1
15