Você está na página 1de 10

Matriz de leds controlada por bluetooth

1. Objetivos

1.1. Objetivo general

 Controlar una matriz de leds 8x8 a través de una aplicación Android.

1.2. Objetivos específicos

 Manejar una matriz de leds y generar caracteres.


 Manejar el multiplexor MAX7219.
 Controlar la matriz a través de comunicación bluetooth.

2. Marco teórico

2.1.¿Qué es una Matriz de leds?

Desde el punto de vista del hardware básicamente consiste en una


matriz de pixeles similar a los de la pantalla de un monitor,
generalmente de un solo color (la mayoría de las veces rojos),
aunque también existen los bicolores o multicolores,
aprovechando los LEDs RGB.

La matriz está compuesta por una serie de filas y columnas la


intersección entre ambas contiene un led, para que este encienda,
tiene que recibir simultáneamente un 0 en la fila y un 1 en la
columna, cuando se da esta condición la electrónica del circuito se
encarga de encender el led correspondiente.

1
2.2.¿Qué es multiplexación?

La multiplexacion es uno de los procesos más importantes en las técnicas para la transmisión de datos,
ya que a través de esta operación es pasible utilizar de forma óptima los canales de comunicación,
generando así la transmisión de información en términos de gigabit/segundo en una sola línea de
transmisión, dentro de las más utilizadas se encuentran: la multicanalización por división de frecuencia
(FDM), siendo esta una técnica meramente analógica y que se
puede implementar en un sistema digital mediante el sistema
PCM de la ITU, que consiste en la conversión de señales
análogas y digitales, multicanalización por división de tiempo
(TDM), está en una técnica implementada en sistemas digitales
para la transmisión de datos, multicanalización por división de
código (CDM) siendo esta una de las más eficientes en
aplicaciones digitales y WDM.
La multiplexación es la combinación de dos o más canales de
información en un solo medio de transmisión usando un
dispositivo llamado multiplexor.

2.2.1. Tipos de multiplexacion

Existen muchas estrategias de multiplexación según el protocolo de comunicación empleado, que puede
combinarla para alcanzar el uso más eficiente; los más utilizados son:
 La multiplexación por división de tiempo o TDM (Time división multiplexing).
 La multiplexación por división de frecuencia o FDM (Frequency-division multiplexing) y su
equivalente para medios ópticos, por división de longitud de onda
 WDM (de Wavelength).
 La multiplexación por división en código CDM (Code división multiplexing);
 Cuando existe un esquema o protocolo de multiplexación pensado para que múltiples usuarios
compartan un medio común, como por ejemplo en telefonía o Wi Fi, suele denominarse control
de acceso al medio o método de acceso múltiple. Como métodos de acceso múltiple se destacan:
 El acceso múltiple por división de frecuencia o FDMA;
 El acceso múltiple por división de tiempo o TDMA.
 El acceso múltiple por división de código o CDMA.
 El acceso múltiple por división de longitudes de onda WDMA.

2.3.¿Qué Max7219?

El MAX7219 es un controlador de display LED multiplexado de 8 dígitos y 7segmentos o una matriz


8x8 de cátodo común, con entrada y salida serie, que soporta una corriente de segmento de hasta 40mA
mientras opera desde un suministro de 5V (pin 19). Tiene 24 pines.

Incluye un decodificador BCD, multiplexor de máximo 10MHz, controladores de corriente, y una RAM
estática de 8x8. Es compatible con SPI, solo requiere una resistencia externa (pin 18) para establecer
corriente máxima de cada LED. Además incluye un modo de apagado de baja potencia (150µA), control
de brillo analógico y digital, un registro analógico y digital, un registro de límite analógico y digital, un
registro de límite de escaneo que permite al usuario visualizar de 1 a 8 dígitos y un modo de prueba que
fuerza a todos los LED.

2
Como si fuera poco se pueden poner en cascada hasta 8 MAX7219 gracias a la salida DOUT (pin 25).

Pin Pin
Función Descripción
MAX Arduino
LOAD o CS 12 Selección de digito 10
CLK 13 Reloj 11
DIN 1 Entrada datos 12
DOUT 25 Salida

2.3.1. Factores que determinan el brillo

Hay tres factores que determinan el brillo del display.

a) El valor de la resistencia Rset que limita la corriente máxima que pasa a través de los LED.Rset es el
control de brillo analógico.

b) El límite de escaneo de display. Siempre trabajara con 8 dígitos y cada uno prendera 125ms. Si pones
setScanLimit(0,3) solo activa 4 (0~3) y cada uno prendera 250ms. Si pones setScanLimit(0,5) cada
digito prende 167ms.

c) El método setIntensity (int addr, int intensity) que le permite controlar el brillo en 16 pasos discretos.
0= mínimo brillo, 15= máximo brillo, <15 ignorados. 0 nose apaga, para eso se usa el método
shutDown(). El método SetIntensity() es el control de brillo digital, mediante modulación de ancho
de pulso entre 1/32 y 31/32.

3. Material y equipos

 Placa Arduino MEGA 2560  Cable USB para la placa Arduino


 Conectores  Matriz de led 8x8
 Proto Board  Multiplexor MAX7219
 Computadora portátil con IDE Arduino  HC-05 Bluetooth
instalado  Resistores de 220

4. Esquemas y circuitos
3
4.1.Esquema de conexión de la matriz de leds 8x8 controlada por bluethooth

4.2.Circuito matriz de leds 8x8 controlada por bluetooth

4
5. Marco práctico

- Primero, se armó el circuito en el programa Proteus versión 7 entorno ISIS; se utilizaron los mismos
componentes que se requerían para el circuito físico.

- Una vez acomodados los pines de conexión en el circuito del simulador se procedió a codificar el
programa para manejar la matriz en el IDE de Arduino. Con la referencia de los pines necesarios para
las conexiones, la codificación es más fácil ya que se asignan a las variables los pines conectados.

- Luego se compiló el programa para depurar cualquier error que se haya podido cometer; después de
depurar los errores detectados por el IDE se copió la dirección del archivo con extensión .hex y se
cargó el programa al Arduino Mega 2560 del Proteus.

- Se hizo correr el programa y se verificó que las condiciones escritas en el código se cumplían
correctamente en la simulación del circuito.

- Ya con el código simulado y probado teoricamente, se procedió a grabar el programa en la placa


Arduino Mega 2560.

- Con el programa ya grabado en la placa, se realizaron las conexiones necesarias para la matriz de
leds y para el módulo bluetooth.

- Para poder probar el funcionamiento del programa se requirió instalar una aplicación Android en un
teléfono móvil y realizar la vinculación del mismo con el módulo HC-05.

- Finalmnte se procedió a probar el funcionamiento del circuito y el cumplimiento de las sentencias


del código escrito y grabado en la placa Arduino.

6. Anexos, tablas y código de programación

6.1.Código para el control de la matriz de leds 8x8 mediante bluetooth

5
1

6
3

7
5

8
7

Primero, se requiere incluir la librería MaxMatrix.h, la cual define los pines a los cuales el módulo está
conectado
Para mostrar los caracteres se requiere definirlos en un arreglo, se observa que los caracteres están
formados donde hay ceros y unos pero que están rotados 90 grados, sin embargo, los ejemplos de la
librería sugieren que se utilice ese arreglo para que posteriormente otras funciones sean más fáciles.

9
En la sección del set up del programa, solamente se requiere inicializar el modulo y establecer el brillo
de la matriz; en el bucle loop, utilizando la función setDo(), se puede definir cualquier led de manera
individual para alumbrarse en la posición X o Y (fila/columna) y utilizándola función clear() se limpia
la pantalla.
Para mostrar los caracteres predefinidos se utiliza la función writeSprite(), los primeros dos argumentos
son las posiciones X y Y, definidas desde la esquina superior. Al final, se utilizan la función shiftLeft()
para desplazar los caracteres a la izquierda.

7. Conclusiones

Se controló la matriz de leds a través de una aplicación en Android vinculada al circuito a través del
bluetooth.
Se generaron diferentes caracteres mediante arreglos de programación.
Se utilizó el multiplexor Max7219 para facilitar el manejo del circuito y para simplificar las conexiones
ya que con tres pines se podía controlar la matriz de leds que de otra forma habría requerido 16
conexiones.

8. Bibliografía

[1] http://arduino.perut.org/e_16htm
[2] http://produccioneros.blogspot.com/2009/06/teoria-de-funcionamiento-de-una-matriz
[3] https://howtomechatronics.com/tutorials/arduino/8x8-led-matrix-max7219

10

Você também pode gostar