Mostrando entradas con la etiqueta Matriz LED 8x8. Mostrar todas las entradas
Mostrando entradas con la etiqueta Matriz LED 8x8. Mostrar todas las entradas

miércoles, 21 de diciembre de 2016

Panel luminoso de Matrices LED 8x8 controlado mediante Bluetooth


En este POST aprenderemos a controlar mediante Bluetooth un panel luminoso compuesto por 4 matrices LED 8X8, es decir, lo que haremos en cuestión será mostrar un mensaje de texto en forma de bucle desplazándose de derecha a izquierda (Scroll horizontal) dentro de las 4 matrices LED 8x8 que conectaremos en cascada. Estos mensajes que vamos a visualizar en el panel los podemos enviar a través de Bluetooth desde un PC o desde un Smartphone con sistema operativo Android, aunque los que tengáis un sistema operativo iOS lo podréis realizar de una manera similar aunque no se incluya en este POST. No os voy a hablar más sobre la conexión, el funcionamiento y las características de las matrices LED 8X8 porque ya se explicó en otro POST, ahora bien, para que nuestro Arduino pueda recibir los mensajes a través de Bluetooth necesitamos añadirle el módulo Bluetooth HC-06 descrito y configurado justamente en el POST anterior, aunque lo debemos de conectar a nuestro Arduino como se muestra en la siguiente tabla.

  Tabla de conexiones entre nuestro Arduino y el módulo HC-06
 

Una vez realizadas las oportunas conexiones de todo el sistema lo primero que tenemos que hacer es compilar y cargar el programa que tenemos en la descarga, en nuestro Arduino, puesto que es válido para cualquiera de los dos métodos de envío de mensajes de texto (ASCII) a través de Bluetooth que se van a analizar en este POST. A continuación os describo detalladamente cada uno de los dos métodos de los que disponemos para interactuar a través de Bluetooth con nuestro Arduino junto con el módulo HC-06.

 

Envío de mensajes mediante Bluetooth desde un PC


Como ya os anticipaba con anterioridad, uno de los dos métodos que vamos a poder utilizar para enviar mensajes de texto a través de Bluetooth hacia el módulo HC-06 está basado en la utilización de un PC que tenga este tipo de comunicación o añadiéndole a nuestro PC un “Dongle Bluetooth”, que no es más ni menos que un completo y compacto HARDWARE “Plug and Play” que conectaremos en nuestro PC a través del puerto USB para que se pueda comunicar mediante Bluetooth con otros dispositivos que posean este tipo de protocolo de comunicación.

  Dongle Bluetooth

Para poder vincular y conectar el módulo HC-06 a nuestro PC a través de Bluetooth vamos a utilizar el software “BlueSoleil”, mediante el cual crearemos una conexión Bluetooth entre el PC y el módulo HC-06, asignándole un puerto serie del PC (COM) a dicha conexión. Posteriormente, para el envío de los mensajes de texto a través del puerto serie creado, vamos a utilizar el software “Octoplus Terminal”, que es un entorno gráfico muy simple de configurar y utilizar, que nos facilita enormemente dicha tarea. A continuación os dejo los enlaces de descarga de todo el software necesario así como un video donde se detalla todo el proceso de configuración y funcionamiento del sistema.









Envío de mensajes mediante Bluetooth desde un Smartphone


El segundo método que nos permite el envío de mensajes Bluetooth hacia el módulo HC-06 se basa en utilizar un Smartphone, puesto que están dotados de fábrica de este tipo de comunicación. Para ello debemos de instalar la aplicación "Bluetooth Terminal HC-05" desde la propia PLAY STORE del Smartphone o desde el siguiente enlace.

Aplicación Android Bluetooth Terminal HC-05

Una vez instalada la aplicación debemos de realizar una serie de procesos para vincular y conectar el módulo Bluetooth HC-06 al Smartphone y así poder utilizar la aplicación para enviar mensajes de texto (ASCII) mediante Bluetooth. A continuación os dejo el video donde se detalla todo el procedimiento a realizar.




Lista de Materiales:


  • Arduino UNO Rev.3. 
  • Cable USB tipo A-B.
  • Módulo Bluetooth HC-06.
  • PC con Bluetooth o Dongle Bluetooth.
  • Smartphone con S.O Android.
  • Panel luminoso compuesto por 4 Matrices LED 8x8.
  • Fuente de alimentación de 5VDC/3000mA (opcional).
  • Protoboard.
  • Cables de conexión.



Código del programa:


miércoles, 22 de junio de 2016

Panel luminoso de Matrices LED 8x8 con driver MAX7219


En este tutorial aprenderemos a controlar las matrices LED de 8×8 con Arduino, en concreto vamos a usar los módulos que llevan el driver MAX7219, y para controlarlos utilizaremos la librería “MaxMatrix.h”, que nos facilitarán enormemente el trabajo. Lo que haremos en cuestión, será mostrar un mensaje en forma de texto que se va a desplazar de derecha a izquierda (Scroll horizontal) a través de las 4 matrices LED 8x8 que conectaremos en cascada, repitiéndose constantemente. 

La Matriz LED de 8×8, está compuesta por 64 LED de 3mm, en color rojo. Internamente los LED, están montados con cátodo común dentro de un encapsulado sólido de fibra de vidrio para protegerles. Algunas de las principales características de las matrices LED 8x8 se describen a continuación: 

·         Voltaje de Trabajo: 4.7 -5.3 V
·         Tensión típica: 5 V
·         Consumo de corriente: 320mA
·         Corriente de trabajo máxima: 2A
·         Temperatura: 0 -50 °C
·         Temperatura de trabajo: 25 

El driver MAX7219 (de Maxim) que contiene cada módulo,  sirven para implementar una interfaz  SPI (Serial Peripheral Interface, que es básicamente un bus de comunicación a nivel de circuitos integrados en el que la transmisión de datos se realiza en serie, es decir un bit después de otro) en cada uno de ellos,  para que se puedan comunicar con nuestro Arduino exclusivamente por medio de 3 pines digitales de salida (DIN, CS y CLK), además de dos pines para la alimentación (+5V) y la masa (GND). A continuación se detallan sus principales características: 

·        Entrada y salida en serie, para necesitar menos pines.
·        Controla displays de 7 segmentos de hasta 8 dígitos, Bar graph displays (Barras de LED) y Matrices de 8×8 o de hasta 64 LED individuales.
·        Solo requiere una resistencia externa para los 64 LED.
·        Incluye decodificador BCD (No hay necesidad de dibujar matrices de caracteres, las lleva incluidas. Mayúsculas, minúsculas y hasta números y signos).
·        Se encarga del multiplexado de los caracteres y dígitos.
·        Incluye memoria de los caracteres.
·        Es compatible con interfaz SPI y QSPI.

Para conectar en cascada las 4 matrices LED 8x8 con driver MAX7219 (aunque por este método podríamos conectar hasta 8), que nos van a hacer falta para desarrollar este proyecto, es imprescindible conectar a nuestro Arduino la matriz LED 8x8 que se encuentra más a la derecha de todas, teniendo en cuenta que el mensaje de texto se va a mover hacia la izquierda. A continuación se muestra la relación de los pines a conectar:

Correspondencia de los pines entre nuestro Arduino y el driver MAX7219

Posteriormente necesitamos conectar las salidas del módulo situado más a la derecha (CLK, CS, DOUT, GND y VCC) a las entradas del siguiente (CLK, CS, DIN, GND y VCC) y así sucesivamente con los restantes módulos, hasta llegar al que esté situado más a la izquierda, el cual no necesita que sus salidas estén conectadas. Como en las matrices LED 8x8 con driver MAX7219 viene rotulado en la parte inferior la función de cada pin y cuales son de salida y cuáles de entrada, solo necesitaremos un poco de paciencia para poder realizar correctamente las conexiones. Un pequeño detalle a tener en cuenta es que el pin “DIN” es el correspondiente a la entrada de datos y el pin “DOUT” es el correspondiente a la salida de datos, con lo que tenemos una referencia a mayores para poder distinguir que grupo de pines son de entrada y cuáles de salida.


Conexión de las 4 matrices LED 8x8 con driver MAX7219

Cabe aclarar que debido a la existencia de infinidad de fabricantes de este tipo de módulos, nos podemos encontrar con el problema de que al adquirirlos, nos vengan sin soldar o que no tengan terminales de conexión en sus pines de E/S, por lo que tendremos que ingeniárnoslas para realizar las conexiones entre los módulos mediante pequeños cablecitos, un soldador, estaño y bastante paciencia, ya que precisamente es lo que a mí me ocurrió al adquirirlos a muy bajo precio en “China”, aunque viendo los resultados obtenidos, merece la pena ahorrarse un dinero aunque tengamos que desempolvar nuestras herramientas de soldadura.

Diferentes versiones de matriz LED 8x8 con driver MAX7219

Por último os comento que dentro de la programación podremos cambiar tanto el mensaje o mensajes de texto que queráis mostrar, como el brillo de los LEDS (si alimentamos el panel luminoso a través de nuestro Arduino es recomendable que esté en el nivel 1 para evitar fallos al subir el programa), el número de módulos conectados en cascada (máximo 8) o incluso la velocidad con la que se va a desplazar el texto, aunque para poder realizar todo esto es necesario recurrir al código del programa donde deberemos modificar las líneas de código necesarias, aunque no os preocupéis porque el código está comentado al detalle. Es muy importante subir el programa a nuestro Arduino sin tener alimentado el panel luminoso (pines +5V y GND), puesto que teniendo en cuenta que cada matriz LED 8x8 tiene un consumo aproximado de 350mA tendríamos un consumo total de unos 1400mA, un consumo excesivamente elevado para la salida USB de nuestro PC, lo que hará que al intentar subir el programa a nuestro Arduino, el puerto serie se nos desconecte dándonos un error en el IDE de Arduino. Después de subir el programa conectaremos nuevamente la alimentación del panel luminoso y procederemos a resetear nuestro Arduino para que los mensajes comiencen a deslizarse de derecha a izquierda a través de las matrices LED 8x8. (Es muy recomendable alimentar el panel luminoso con una fuente de alimentación de 5VDC para que esto no suceda).




Lista de Materiales:

·         Arduino UNO Rev.3.

·         Cable USB tipo A-B.

·         4 Matrices LED 8x8 con driver MAX7219.

·         Soldador de 30W y estaño (en el caso de que sea necesario).

·         Fuente de alimentación de 5VDC/3000mA (opcional).

·         Protoboard.

·         Cables de conexión.



Código del programa:





Video: