- La matriz de pantalla LED P10
- Componentes necesarios para el marcador de Arduino
- Diagrama de circuito para el marcador Arduino
- Explicación del código del marcador de Arduino
Un marcador electrónico es uno de los gadgets más importantes que se puede tener en cualquier torneo deportivo. Los viejos marcadores manuales que utilizan métodos convencionales consumen mucho tiempo y son propensos a errores, por lo que se hace necesario un marcador computarizado donde la unidad de visualización debe cambiarse en tiempo real. Es por eso que en este proyecto, construiremos un marcador inalámbrico controlado por Bluetooth en el que podemos cambiar la puntuación en el tablero con solo usar una aplicación de Android. El cerebro de este proyecto es un Arduino Nano, y para la parte de visualización, usaremos una matriz LED P10 para mostrar la puntuación de forma remota en tiempo real.
La matriz de pantalla LED P10
Una pantalla de matriz de LED P10 es la mejor manera disponible para hacer una placa de LED para uso en interiores o exteriores. Este panel tiene un total de 512 LED de alto brillo montados en una carcasa de plástico diseñada para obtener los mejores resultados de visualización. También viene con una clasificación IP65 para impermeabilización, lo que lo hace perfecto para uso en exteriores. Con esto, puede hacer un gran letrero LED combinando cualquier número de dichos paneles en cualquier estructura de fila y columna.
Nuestro módulo tiene un tamaño de 32 * 16, lo que significa que hay 32 LED en cada fila y 16 LED en cada columna. Entonces, hay un total de 512 LED presentes en cada letrero LED. Aparte de eso, tiene una clasificación IP65 para impermeabilización, puede ser alimentado por una sola fuente de alimentación de 5V, tiene un ángulo de visión muy amplio y el brillo puede llegar hasta 4500 nits. Por lo tanto, podrá verlo claramente a la luz del día. Anteriormente, también hemos utilizado esta pantalla P10 con Arduino para construir una placa LED simple.
Descripción de los pines de la matriz LED P10 :
Esta placa de pantalla LED utiliza un encabezado de correo de 10 pines para la conexión de entrada y salida, en esta sección, hemos descrito todos los pines necesarios de este módulo. Además, puede ver que hay un conector externo de 5 V en el medio del módulo que se utiliza para conectar la alimentación externa a la placa.
- Habilitar: Este pin se usa para controlar el brillo del panel LED, dándole un pulso PWM.
- A, B: estos se denominan pines selectores multiplex. Toman entrada digital para seleccionar cualquier fila multiplexada.
- Reloj de cambio (CLK), Reloj de almacenamiento (SCLK) y Datos: estos son los pines de control del registro de cambio normal. Aquí se utiliza un registro de desplazamiento 74HC595.
Interfaz del módulo de pantalla LED P10 con Arduino:
Conectar el módulo de pantalla de matriz P10 a Arduino es un proceso muy simple, en nuestro circuito, configuramos el pin 9 del Arduino como el pin de habilitación, el pin 6 como el pin A, el pin 7 como el pin B, el pin 13 es el CLK, el pin 8 es el SCLK, el Pin 11 es el DATA, y finalmente el Pin GND es el pin GND para el módulo y Arduino, una tabla completa a continuación explica claramente la configuración de los pines.
Módulo LED P10 |
Arduino UNO |
HABILITAR |
9 |
UN |
6 |
segundo |
7 |
CLK |
13 |
SCLK |
8 |
DATOS |
11 |
GND |
GND |
Nota: Conecte el terminal de alimentación del módulo P10 a una fuente de alimentación externa de 5 V, ya que 512 LED consumirán mucha energía. Se recomienda conectar una fuente de alimentación de CC de 5 V y 3 amperios a una sola unidad del módulo LED P10. Si planea conectar más módulos de números, aumente su capacidad SMPS en consecuencia.
Componentes necesarios para el marcador de Arduino
Como se trata de un proyecto muy simple, los requisitos de los componentes son muy genéricos, a continuación se muestra una lista de los componentes necesarios, debería poder encontrar todo el material enumerado en su tienda de pasatiempos local.
- Arduino Nano
- Pantalla de matriz LED P10
- Tablero de circuitos
- 5V, 3 AMP SMPS
- Módulo Bluetooth HC-05
- Conexión de cables
Diagrama de circuito para el marcador Arduino
El esquema para el marcador LED de Arduino se muestra a continuación, ya que este proyecto es muy simple, he utilizado el popular software fritzing para desarrollar el esquema.
El funcionamiento del circuito es muy sencillo, contamos con una aplicación Android y un módulo Bluetooth, para comunicarse exitosamente con el módulo Bluetooth, hay que emparejar el módulo HC-05 con la aplicación android. Una vez que estamos conectados, podemos enviar la cadena que queremos mostrar, una vez que se envía la cadena, Arduino procesará la cadena y la convertirá en una señal que la resistencia de cambio interna 74HC595 pueda entender, después de que los datos se envíen al turno. resistencia, está lista para mostrar.
Explicación del código del marcador de Arduino
Después de completar con éxito la configuración del hardware, ahora es el momento de programar Arduino Nano. La descripción paso a paso del código se proporciona a continuación. Además, puede obtener el código completo del marcador de Arduino en la parte inferior de este tutorial.
En primer lugar, debemos incluir todas las bibliotecas. Hemos utilizado la biblioteca DMD.h para controlar la pantalla LED P10. Puede descargarlo e incluirlo desde el enlace de GitHub proporcionado. Después de eso, debe incluir la biblioteca TimerOne.h, que se utilizará para la programación de interrupciones en nuestro código.
Hay muchos frentes disponibles en esta biblioteca, hemos utilizado “ Arial_black_16 ” para este proyecto.
#incluir
En el siguiente paso, se define el número de filas y columnas para nuestra placa de matriz LED. Hemos utilizado solo un módulo en este proyecto, por lo que tanto el valor de FILA como el valor de COLUMNA se pueden definir como 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Después de eso, se definen todas las variables utilizadas en el código. Se utiliza una variable de caracteres para recibir datos en serie de la aplicación de Android, se utilizan dos valores enteros para almacenar puntuaciones y se define una matriz que almacena los datos finales que se mostrarán en la matriz.
entrada de caracteres; int a = 0, b = 0; int bandera = 0; char cstr1;
Se define una función scan_module (), que comprueba continuamente si hay datos entrantes de Arduino Nano a través del SPI. Si es así, activará una interrupción para realizar ciertos eventos según lo definido por el usuario en el programa.
anular scan_module () { led_module.scanDisplayBySPI (); }
Dentro de setup (), el temporizador se inicializa y la interrupción se adjunta a la función scan_module, que se discutió anteriormente. Inicialmente, la pantalla se borró usando la función borrar pantalla (verdadero), lo que significa que todos los píxeles están definidos como APAGADOS.
En la configuración, la comunicación en serie también se habilitó mediante la función Serial.begin (9600) donde 9600 es la velocidad en baudios para la comunicación Bluetooth.
configuración vacía () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (verdadero); }
Aquí, se verifica la disponibilidad de datos en serie, si hay datos válidos provenientes de Arduino o no. Los datos recibidos de la aplicación se almacenan en una variable.
if (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Luego, el valor recibido se comparó con la variable predefinida. Aquí, en la aplicación de Android, se toman dos botones para seleccionar los puntajes de ambos equipos. Cuando se presiona el botón 1, el carácter 'a' se transmite a Arduino y cuando se presiona el botón 2, el carácter 'b' se transmite a Arduino. Por lo tanto, en esta sección, estos datos se comparan y, si se comparan, los valores de puntuación respectivos se incrementan como se muestra en el código.
if (input == 'a' && flag == 0) { flag = 1; a ++; } más si (entrada == 'b' && bandera == 0) { bandera = 1; b ++; } más;
Luego, los datos recibidos se convierten en una matriz de caracteres, ya que la función de matriz P10 solo puede mostrar el tipo de datos de caracteres. Es por eso que todas las variables se convierten y concatenan en una matriz de caracteres.
(Cadena ("INICIO:") + Cadena (a) + Cadena ("-") + Cadena ("TOTAL:") + Cadena (b)). ToCharArray (cstr1, 50);
Luego, para mostrar información en el módulo, la fuente se selecciona usando la función de selección (). Luego, la función drawMarquee () se usa para mostrar la información deseada en la placa P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * FILA), 0);
Finalmente, como necesitamos una pantalla de mensaje de desplazamiento, he escrito un código para cambiar todo nuestro mensaje de derecha a izquierda usando un cierto período.
inicio largo = milis (); tiempo largo = inicio; bandera booleana = falso; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timming = milis (); } }
Esto marca el final de nuestro proceso de codificación. Y ahora está listo para cargar.
Cuadro de indicadores controlado por teléfono inteligente : pruebas
Después de cargar el código en Arduino, es hora de probar el proyecto. Antes de eso, la aplicación de Android debe estar instalada en nuestro teléfono inteligente. Puede descargar la aplicación P10 Score Board desde el enlace proporcionado. Una vez instalada, abra la aplicación y la pantalla de inicio debería verse como la imagen de abajo.
Haga clic en el botón ESCANEAR para agregar el módulo Bluetooth con la aplicación. Esto mostrará la lista de dispositivos Bluetooth emparejados del teléfono. Si no ha emparejado el módulo Bluetooth HC-05 antes, empareje el módulo usando la configuración de Bluetooth de su teléfono y luego realice este paso. La pantalla se verá como se muestra:
Luego, de la lista, haga clic en “HC-05” ya que este es el nombre de nuestro módulo Bluetooth utilizado aquí. Después de hacer clic en él, se mostrará conectado en la pantalla. Entonces podemos proceder con el marcador.
Haga clic en cualquier botón entre "Casa" y "Ausente" como se muestra en la aplicación. Si se selecciona el botón Inicio, la puntuación de Inicio se incrementará en la pantalla P10. Del mismo modo, si se selecciona el botón Ausente, se incrementará la puntuación de Ausente. La siguiente imagen muestra cómo se ve la pantalla final.
Espero que te haya gustado el proyecto y hayas aprendido algo nuevo, si tienes alguna otra pregunta sobre el proyecto, no dudes en comentar a continuación o puedes hacer tu pregunta en nuestro foro.