Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Proyecto Final
Catedrático
Índice de Contenido
Introducción
Un microcontrolador es un circuito integrado que nos ofrece las posibilidades de un
pequeño computador. En su interior encontramos un procesador, memoria, y varios
periféricos. El secreto de estos lo encontramos en su tamaño, su precio y su
diversidad.
Estos dispositivos frente a datos de entrada, sigue un programa, un algoritmo dado
por un programador y cambia su estado interior. Como objetos o dispositivos de
entrada o salida podemos encontrar diversos periféricos, desde simples líneas de
entrada digital que pueden estar a cero o a uno, hasta complejos puertos usados en
ordenadores que permiten comunicar con otros dispositivos externos.
Los microcontroladores de la serie LPC17XX son dispositivos muy potentes con
arquitectura ARM; y cuentan con distintos elementos útiles para una infinidad de
aplicaciones; entre ellas, un convertidor analógico-digital; y salidas RGB.
El propósito de este proyecto consiste en implementar un vúmetro que funcione con
un micrófono; de tal forma que encienda una tira de LEDs RGB, y sus colores
cambien al ritmo de la música o sonido presente alrededor del dispositivo. Se
añadirán adornos navideños.
Marco Teórico
Sistemas Analógicos y Digitales
Los circuitos electrónicos se pueden dividir en dos amplias categorías: digitales y
analógicos. La electrónica digital utiliza magnitudes con valores discretos, mientras
que la electrónica analógica emplea magnitudes con valores continuos.
Un sistema digital es cualquier dispositivo destinado a la generación, transmisión,
procesamiento o almacenamiento de señales digitales. También un sistema digital
es una combinación de dispositivos diseñado para manipular cantidades físicas o
información que estén representadas en forma digital; es decir, que sólo puedan
tomar valores discretos. La mayoría de las veces estos dispositivos son
electrónicos, pero también pueden ser mecánicos, magnéticos o neumáticos. Para
el análisis y la síntesis de sistemas digitales binarios se utiliza como herramienta el
álgebra de Boole.
Se dice que un sistema es analógico cuando las magnitudes de la señal se
representan mediante variables continuas, esto es análogas a las magnitudes que
dan lugar a la generación de esta señal. Un sistema analógico contiene dispositivos
que manipulan cantidades físicas representadas en forma analógica.
Conversión Analógico/Digital
Existen circuitos electrónicos diseñados de tal manera que son capaces de convertir
una señal analógica en una digital, y viceversa, con el propósito de procesar de
manera más sencilla las señales analógicas recibidas por un dispositivo del exterior;
pues el procesamiento de señales digitales es mucho más sencillo que el de señales
analógicas.
Un circuito integrado capaz de convertir una señal analógica en una señal digital es
el ADC0804 (ver figura 2), el cual cuenta con una respuesta bastante rápida, y con
buena precisión. La mayoría de los microcontroladores cuentan con un ADC.
Microcontroladores
Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado
programable, capaz de ejecutar las órdenes grabadas en su memoria. Está
compuesto de varios bloques funcionales, los cuales cumplen una tarea específica.
Un microcontrolador incluye en su interior las tres principales unidades funcionales
de una computadora: unidad central de procesamiento, memoria y periféricos de
entrada/salida.
Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a
velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja
potencia (mW o microwatts).
Por lo general, tendrá la capacidad de mantenerse a
la espera de un evento como pulsar un botón o de
otra interrupción; así, el consumo de energía durante
el estado de reposo (reloj de la CPU y los periféricos
de la mayoría) puede ser sólo de nanowatts, lo que
hace que muchos de ellos sean muy adecuados para
aplicaciones con batería de larga duración. Otros
microcontroladores pueden servir para roles de
rendimiento crítico, donde sea necesario actuar más
como un procesador digital de señal (DSP), con
Fig. 4 – Microcontrolador velocidades de reloj y consumo de energía más
Motorola 68HC11. altos.
Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM.
Para que pueda controlar algún proceso es necesario generar o crear y luego grabar
en la EEPROM o equivalente del microcontrolador algún programa, el cual puede
ser escrito en lenguaje ensamblador u otro lenguaje para microcontroladores; sin
embargo, para que el programa pueda ser grabado en la memoria del
microcontrolador, debe ser codificado en sistema numérico hexadecimal que es
finalmente el sistema que hace trabajar al microcontrolador cuando éste es
alimentado con el voltaje adecuado y asociado a dispositivos analógicos y discretos
para su funcionamiento.
Arquitectura ARM
ARM es una arquitectura RISC (Reduced Instruction Set Computer=Ordenador con
Conjunto Reducido de Instrucciones) de 32 bits y, con la llegada de su versión V8-
A, también de 64 Bits, desarrollada por ARM Holdings. Se llamó Advanced RISC
Machine, y anteriormente Acorn RISC Machine. La arquitectura ARM es el conjunto
de instrucciones de 32 y 64 bits más ampliamente utilizado en unidades
producidas.12 Concebida originalmente por Acorn Computers para su uso en
ordenadores personales, los primeros productos basados en ARM eran los Acorn
Archimedes, lanzados en 1987.
Un enfoque de diseño basado en RISC permite que los procesadores ARM
requieran una cantidad menor de transistores que los procesadores x86 CISC,
típicos en la mayoría de ordenadores personales.
Tecnología RGB
El led RGB (Red, Green, Blue) es un led que combina estos tres colores para formar
más de 16 millones de tonos de luz. De esta forma, dependiendo de la tonalidad
pasada como parámetro, podemos emitir un color de luz u otro.
Los colores del Led RGB vienen representados con números comprendidos entre
el valor 0 y el valor 255. De esta forma, para componer el color rojo pondríamos el
valor máximo del rojo y el valor mínimo de los otros colores, es decir, el rojo equivale
a "R=255; G=0; B=0". Y así sucesivamente con el resto de colores
Fig. 7 – a) Diagrama de colores RGB. b) Diagrama de pines de un LED RGB cátodo común.
Desarrollo
El propósito de este proyecto consiste en implementar un vúmetro que funcione con
un micrófono; de tal forma que encienda una tira de LEDs RGB, y sus colores
cambien al ritmo de la música o sonido presente alrededor del dispositivo. Se busca
añadir un aspecto navideño al diseño del proyecto.
Descripción General
Utilizamos el microcontrolador LPC1700, creando un código en C que relacionara
una entrada analógica (en este caso, la señal del micrófono) en una combinación
RGB ascendente, de tal forma que el volumen del audio que percibe el micrófono
define el color que se muestra en la salida RGB.
Se usó además un sistema de aislamiento, la salida RGB del LPC se conecta a un
optoacoplador como el mencionado en el marco teórico, el cual habilita la conexión
de la fuente de mayor amperaje que se usa para la tira de LEDs RGB que se usa.
Materiales
Los materiales que usamos son los siguientes:
Microcontrolador
1
LPC1771
Tablilla de Conexiones
(Protoboard) de dos 2
tiras
Cargador de 5V 1
Optoacoplador
3
MOC3011
Micrófono Elecret 1
Implementación
A continuación se muestra la implementación del circuito, de la tira, y de los adornos.
Código en C
El código usado es el siguiente:
#ifdef __USE_CMSIS
#include "LPC17xx.h"
#endif
#include <cr_section_macros.h>
#include <NXP/crp.h>
#include "lpc17xx_gpio.h"
#include "lpc17xx_timer.h"
#include "lpc17xx_adc.h"
#include "lpc17xx_pinsel.h"
int main(void) {
uint32_t analog = 0;
init_rgb();
init_adc();
while(1)
{
ADC_StartCmd(LPC_ADC,ADC_START_NOW);
analog=ADC_ChannelGetData(LPC_ADC,ADC_CHANNEL_0);
if(analog<=73)
{
GPIO_SetValue(0,RGB_RED);
Timer0_Wait(20);
GPIO_ClearValue (0,RGB_RED);
}
if(73<analog && analog<=146)
{
GPIO_SetValue (0,RGB_BLUE);
Timer0_Wait(20);
GPIO_ClearValue (0,RGB_BLUE);
}
if(146<analog && analog<=219)
{
GPIO_SetValue (0,(RGB_RED+RGB_BLUE));
Timer0_Wait(20);
GPIO_ClearValue (0,(RGB_RED+RGB_BLUE));
}
if(229<analog && analog<=302)
{
GPIO_SetValue (0,RGB_GREEN);
Timer0_Wait(20);
GPIO_ClearValue (0,RGB_GREEN);
}
if(302<analog && analog<=375)
{
GPIO_SetValue (0,RGB_GREEN+RGB_RED);
Timer0_Wait(20);
GPIO_ClearValue (0,RGB_GREEN+RGB_RED);
}
if(375<analog && analog<=448)
{
GPIO_SetValue (0,RGB_GREEN+RGB_BLUE);
Timer0_Wait(20);
GPIO_ClearValue (0,RGB_GREEN+RGB_BLUE);
}
if(448<analog && analog<=585)
{
GPIO_SetValue
(0,RGB_GREEN+RGB_BLUE+RGB_RED);
Timer0_Wait(20);
GPIO_ClearValue
(0,RGB_GREEN+RGB_BLUE+RGB_RED);
}
}
}
Conclusiones
Los microcontroladores de la serie LPC17XX son dispositivos muy potentes con
arquitectura ARM; y cuentan con distintos elementos útiles para una infinidad de
aplicaciones; entre ellas, un convertidor analógico-digital; y salidas RGB.
En este proyecto se implementó un vúmetro con sensor de audio; de tal forma que
encienda una tira de LEDs RGB, y sus colores cambien al ritmo de la música o
sonido presente alrededor del dispositivo.
Se decoró el proyecto para que tuviera presentación navideña; con un árbol de
navidad. La tira envuelve el proyecto, alumbrándolo todo cuando se utiliza.
Referencias
Malvino, Albert Paul (2000). Principios de Electrónica. McGraw-
Hill/Interamericana de España, S. A. U. ISBN 84-481-2568-1
“Sistema Digital y Sistema Analógico: Concepto, Ventajas, y Ejemplos
“Elizarras José Luis, Digitales I, Sistemas Digitales 1.
Consultado en:
http://sistemasdigitales1.blogspot.mx/2010/09/sistema-analogico.html
“ADC080x 8-Bit, µP-Compatible, Analog-to-Digital Converters”. – Texas
Instruments.
Consultado de: http://www.ti.com/lit/ds/symlink/adc0802-n.pdf
Vienna University of Technology, Introduction To Microcontrollers (Gunther
Gridling, Bettina Weiss), 26 de febrero de 2007