Tabla de contenido:

Pantalla de matriz de 8x8 con BT: 5 pasos (con imágenes)
Pantalla de matriz de 8x8 con BT: 5 pasos (con imágenes)

Video: Pantalla de matriz de 8x8 con BT: 5 pasos (con imágenes)

Video: Pantalla de matriz de 8x8 con BT: 5 pasos (con imágenes)
Video: tutorial de matriz de led 8x8 en PICC(BIEN EXPLICADO) 2024, Noviembre
Anonim

Compré una matriz de 8x8 de 4 paneles en Ebay (China) hace unos meses.

Me decepcionó un poco cuando me di cuenta de que estaba cableado de lado a lado, ¡no de arriba a abajo para lo que están escritos la mayoría de los ejemplos en la red! Vea el paso 2.

Supongo que podría haber modificado el código (no estoy seguro de cómo), pero mi pereza habitual me dijo que buscara algo ya escrito. ¡Me encontré con un ejemplo y me quedé con él!

Jugué con mensajes fijos, pero luego decidí intentar programar el mensaje a través de Bluetooth.

¡Entonces quise guardar y recuperar mensajes!

Hubo muchas pruebas y errores, pero después de unas horas de codificación lo hice funcionar.

¡¡Todavía estoy tratando de encontrarle un uso práctico !!:-)

Paso 1: la pantalla

La pantalla
La pantalla
La pantalla
La pantalla

Como se mencionó anteriormente, la pantalla está cableada de izquierda a derecha, en lugar de de arriba a abajo.

¡Estoy seguro de que se podría haber modificado otro código para compensar esto!

No recuerdo de dónde descargué el código de trabajo, sin embargo, una búsqueda de "cosmicvoid matrix o LedControlMS.h" puede ayudar. La biblioteca LedControlMS.h es necesaria para este proyecto.

La única parte de este código que modifiqué fue el número de pantallas, ya que parece que estaba configurado en 5, simplemente lo cambié a 4.

¡He pedido otra pantalla x4 para poder ver cómo funciona con 8 matrices en lugar de 4!

Paso 2: el bit de Bluetooth

El bit de Bluetooth
El bit de Bluetooth

¡Cada vez que juego con un dispositivo Bluetooth, siempre me refiero a este excelente instructivo!

www.instructables.com/id/Modify-The-HC-05-B…

Este Instructable le dirá todo lo que necesita saber sobre cómo configurar y emparejar el HC-05 con un teléfono móvil o tableta.

Lo emparejé con un Samsung Galaxy 6 Edge y un Tab A sin ningún problema.

Modifiqué la velocidad de comunicación a 57600.

Paso 3: Comunicación BT y el programa

BT Communication y el programa
BT Communication y el programa

Para comunicarme con el HC-05 descargué una aplicación gratuita de Play Store, hay varias disponibles, la que elegí se llama Bluetooth Terminal HC-05, ¡es una aplicación excelente!

Una vez que haya emparejado el HC-05 con un teléfono o tableta, ocurre lo siguiente.

Cuando se reinicia el arduino, el programa lee todos los mensajes almacenados en la EEPROM y los muestra en el teléfono / tableta - vea la imagen.

La información que se muestra es la ubicación de memoria (0-9), la longitud del mensaje y el mensaje en sí en cada ubicación.

Arreglé el código para almacenar un mensaje de hasta 90 caracteres en la dirección 5 para Msg 0, 105 para Msg 1 …….905 para Msg 9.

Dirección 0, 100…. 900 contienen la longitud del mensaje.

Se muestra el último mensaje almacenado / recuperado.

Enviar cualquier cosa al Arduino a través de BT reemplaza el mensaje actual.

Para almacenar el mensaje mostrado (use tilde "~"), envíe ~ 0 para almacenar en la ubicación 0, ~ 5 para almacenar en la ubicación 5, etc.

Para recuperar y mostrar un mensaje almacenado, use "^" (quilate), por ejemplo, ^ 3 cargará y mostrará el mensaje en la ubicación Mem 3.

Cuando se almacena o recupera un mensaje, la ubicación actual de la memoria se almacena en la dirección EEPROM 1023; esto se usa en el encendido para mostrar el último mensaje mostrado.

Paso 4: el código y el poder

Como de costumbre, mi código está ordenado como el dormitorio de un adolescente, ¡pero tengo muchos comentarios allí!

Puede haber algún código superfluo ya que hubo un poco de prueba y error.

La rutina de visualización mostrará lo que esté en la matriz msg . La fuente no está completa, por lo que la visualización de algunos caracteres provocará resultados impredecibles.

Si alguien pudiera decirme cómo modificar el signo $ por el signo £ o, mejor aún, agregarlo, ¡estaría extremadamente agradecido

Puede ser necesario codificar un mensaje en la ubicación 0 solo para dar un punto de partida, ¡esto se puede sobrescribir cuando el programa está en funcionamiento!

p.ej

EEPROM.write (0, '5'); // longitud del mensaje almacenado en la ubicación 0

EEPROM.write (5, 'L'); // mensaje almacenado en la ubicación 05EEPROM.write (6, 'o');

EEPROM.write (7, 'c');

EEPROM.write (8, '');

EEPROM.write (9, '0');

Sin mensajes almacenados, en el encendido, la pantalla será impredecible y el teléfono / tableta mostrará información extraña pero consistente porque, como con la mayoría de las EEPROM, los datos predeterminados en cada ubicación son FF Hex (225 Decimal).

Este prototipo fue construido usando un Arduino Uno, pero usaré un mini profesional para el proyecto terminado.

Tengo la intención de utilizar 3 pilas de 1,5 V, por lo que, para ahorrar energía, apagaré el HC-05 después de seleccionar un mensaje. Simplemente desconectar / volver a conectar la alimentación no es suficiente, ya que enviará información confusa a la pantalla.

¡Parece necesario aislar los pines TR y RX antes de conectar / desconectar la alimentación!

Paso 5: Actualización 2020 - Pantallas Matrix 2 X 4 (8x8)

Después de comprender mejor el MAX7219, ¡he logrado vincular 2 pantallas juntas!

había solo un par de líneas de código que necesitaban ser cambiadas - ver ino adjunto.

Recomendado: