- La matriu de pantalla LED P10
- Components necessaris per al marcador d'Arduino
- Diagrama de circuits per al marcador de Arduino
- Explicació del codi del quadre de puntuació Arduino
Un marcador electrònic és un dels aparells més importants que tothom pot tenir durant qualsevol torneig esportiu. Els marcadors manuals antics que utilitzen mètodes convencionals requereixen molt de temps i són propensos als errors, de manera que es fa necessari un marcador informàtic on cal canviar la pantalla en temps real. És per això que en aquest projecte construirem un marcador sense fils controlat per Bluetooth en el qual podrem canviar la puntuació al tauler només mitjançant una aplicació per a Android. El cervell d’aquest projecte és un Arduino Nano i, per a la part de la pantalla, utilitzarem una matriu LED P10 per mostrar la puntuació a distància en temps real.
La matriu de pantalla LED P10
Una pantalla de matriu LED P10 és la millor manera disponible per fabricar una placa LED per a ús exterior o interior. Aquest panell té un total de 512 LED d’alta brillantor muntats en una carcassa de plàstic dissenyada per obtenir els millors resultats de visualització. També inclou una classificació IP65 per a la impermeabilització, cosa que el fa perfecte per a ús a l’aire lliure. Amb això, podeu crear un gran cartell LED combinant qualsevol nombre de panells en qualsevol estructura de columna i fila.

El nostre mòdul té una mida de 32 * 16, el que significa que hi ha 32 LED a cada fila i 16 LED a cada columna. Per tant, hi ha un total de 512 LED presents a cada rètol de leds. A part d’això, té una classificació IP65 per a la impermeabilització, pot alimentar-se mitjançant una sola font d’energia de 5V, té un angle de visió molt ampli i la brillantor pot arribar a 4500 nits. Per tant, podreu veure-ho clarament a la llum del dia. Anteriorment, també hem utilitzat aquesta pantalla P10 amb Arduino per construir una simple placa LED.
Pin Descripció de la matriu LED P10 :
Aquest tauler de visualització LED utilitza una capçalera de correu de 10 pins per a la connexió d’entrada i sortida, en aquesta secció hem descrit tots els pins necessaris d’aquest mòdul. A més, podeu veure que hi ha un connector extern de 5V al centre del mòdul que s’utilitza per connectar l’alimentació externa a la placa.

- Habilita: aquest pin s'utilitza per controlar la brillantor del tauler LED, donant-li un pols PWM.
- A, B: s’anomenen pins de selecció múltiplex. Prenen entrada digital per seleccionar qualsevol fila múltiplex.
- Rellotge de canvi (CLK), rellotge de botiga (SCLK) i dades: són els pins normals de control del registre de canvis. Aquí s’utilitza un registre de desplaçament 74HC595.
Interfície del mòdul de visualització LED P10 a Arduino:
Connectar el mòdul de visualització de la matriu P10 a Arduino és un procés molt senzill, al nostre circuit hem configurat el pin 9 de l’Arduino com a pin Enable, el pin 6 com a pin A, el pin 7 com a pin B, el pin 13 és el CLK, el pin 8 és el SCLK, el pin 11 és el DATA i, finalment, el pin GND és el pin GND per al mòdul i Arduino, una taula completa a continuació explica clarament la configuració del pin.
|
Mòdul LED P10 |
Arduino UNO |
|
HABILITAR |
9 |
|
A |
6 |
|
B |
7 |
|
CLK |
13 |
|
SCLK |
8 |
|
DADES |
11 |
|
GND |
GND |
Nota: Connecteu el terminal d'alimentació del mòdul P10 a una font d'alimentació externa de 5 V, perquè els 512 LED consumiran molta energia. Es recomana connectar una font d'alimentació de 5 V, 3 Amp CC a una sola unitat del mòdul LED P10. Si teniu previst connectar un mòdul de més números, augmenteu la vostra capacitat SMPS en conseqüència.
Components necessaris per al marcador d'Arduino
Com que es tracta d’un projecte molt senzill, els requisits de components són molt genèrics; a continuació es mostra una llista de components necessaris. Haureu de poder trobar tot el material a la vostra botiga d’aficionats local.
- Arduino Nano
- Pantalla de matriu LED P10
- Taula de pa
- SMV de 5 V, 3 AMP
- Mòdul Bluetooth HC-05
- Connexió de cables
Diagrama de circuits per al marcador de Arduino
A continuació es mostra l’ esquema del marcador Arduino LED, ja que aquest projecte és molt senzill, he utilitzat el popular programari fritzing per desenvolupar l’esquema.

El funcionament del circuit és molt senzill, tenim una aplicació per a Android i un mòdul Bluetooth, per comunicar-nos amb èxit amb el mòdul Bluetooth, heu d’aparellar el mòdul HC-05 amb l’aplicació per a Android. Un cop estem connectats, podem enviar la cadena que volem mostrar, un cop enviada la cadena, Arduino processarà la cadena i la convertirà en un senyal que la resistència de desplaçament interna 74HC595 pugui entendre, després que les dades s’envien al desplaçament. resistència, està llest per mostrar.
Explicació del codi del quadre de puntuació Arduino
Després de completar amb èxit la configuració del maquinari, ara és el moment de programar Arduino Nano. A continuació es proporciona la descripció gradual del codi. A més, podeu obtenir el codi complet del marcador Arduino a la part inferior d’aquest tutorial.
Primer de tot, hem d’incloure totes les biblioteques. Hem utilitzat la biblioteca DMD.h per controlar la pantalla LED P10. Podeu descarregar-lo i incloure'l des de l'enllaç GitHub indicat. Després d’això, heu d’incloure la biblioteca TimerOne.h, que s’utilitzarà per a la programació d’interrupcions al nostre codi.
Hi ha molts fronts disponibles en aquesta biblioteca, hem utilitzat " Arial_black_16 " per a aquest projecte.
#incloure
Al següent pas, es defineix el nombre de files i columnes per a la nostra placa de matriu LED. Hem utilitzat només un mòdul en aquest projecte, de manera que tant el valor ROW com el valor COLUMN es poden definir com a 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Després, es defineixen totes les variables utilitzades al codi. S'utilitza una variable de caràcter per rebre dades de sèrie des de l'aplicació d'Android, s'utilitzen dos valors enters per emmagatzemar puntuacions i es defineix una matriu que emmagatzema les dades finals que es mostraran a la matriu.
entrada de caràcters; int a = 0, b = 0; int flag = 0; char cstr1;
Es defineix una funció scan_module (), que comprova contínuament si hi ha dades entrants d’Arduino Nano a través de l’ SPI. Si és així, desencadenarà una interrupció per fer certs esdeveniments tal com els defineix l'usuari al programa.
void scan_module () { led_module.scanDisplayBySPI (); }
A l’interior setup (), s’inicialitza el temporitzador i la interrupció s’adjunta a la funció scan_module, de la qual es va parlar anteriorment. Inicialment, la pantalla es va esborrar mitjançant la funció clear screen (true), el que significa que tots els píxels es defineixen com a OFF.
A la configuració, la comunicació en sèrie també es va habilitar mitjançant la funció Serial.begin (9600), on 9600 és la velocitat en bauds de la comunicació Bluetooth.
configuració nul·la () { Serial.begin (9600); Temporitzador1.inicialitzar (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (true); }
Aquí es comprova la disponibilitat de les dades serials, si hi ha dades vàlides que provenen o no d’Arduino. Les dades rebudes de l'aplicació s'emmagatzemen en una variable.
if (Serial.available ()> 0) { flag = 0; entrada = Serial.read ();
Després, es va comparar el valor rebut amb la variable predefinida. Aquí, a l'aplicació Android, es prenen dos botons per seleccionar les puntuacions dels dos equips. Quan es prem el botó 1, el caràcter 'a' es transmet a Arduino i quan es prem el botó 2, el caràcter 'b' es transmet a Arduino. Per tant, en aquesta secció es coincideixen aquestes dades i, si es coincideixen, s’incrementen els valors de puntuació respectius tal com es mostra al codi.
if (entrada == 'a' && flag == 0) { flag = 1; a ++; } else if (entrada == 'b' && flag == 0) { flag = 1; b ++; } altra cosa;
A continuació, les dades rebudes es converteixen en una matriu de caràcters, ja que la funció de la matriu P10 només és capaç de mostrar el tipus de dades de caràcters. És per això que totes les variables es converteixen i concatenen en una matriu de caràcters.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
A continuació, per mostrar informació al mòdul, es selecciona el tipus de lletra mitjançant la funció selection (). A continuació, s’utilitza la funció drawMarquee () per mostrar la informació desitjada al tauler P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Finalment, com que necessitem una visualització de missatges de desplaçament, he escrit un codi per canviar tot el missatge de direcció dreta a esquerra amb un determinat període.
inici llarg = millis (); temps llarg = inici; bandera booleana = fals; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timming = millis (); } }
Això marca el final del nostre procés de codificació. I ara ja està a punt per penjar-lo.
Quadre de puntuació controlat per telèfon intel·ligent : proves
Després de penjar codi a Arduino, és hora de provar el projecte. Abans d’això, cal instal·lar l’aplicació Android al nostre telèfon intel·ligent. Podeu descarregar l'aplicació P10 Score Board des de l'enllaç indicat. Un cop instal·lada, obriu l'aplicació i la pantalla d'inici hauria de semblar a la imatge següent.

Feu clic al botó ESCANEAR per afegir el mòdul Bluetooth amb l'aplicació. Es mostrarà la llista de dispositius Bluetooth emparellats del telèfon. Si no heu emparellat abans el mòdul Bluetooth HC-05, emparegeu el mòdul mitjançant la configuració Bluetooth del telèfon i, a continuació, feu aquest pas. La pantalla tindrà l'aspecte que es mostra:

A continuació, a la llista, feu clic a "HC-05" ja que aquest és el nom del nostre mòdul Bluetooth que s'utilitza aquí. Després de fer-hi clic, es mostrarà connectat a la pantalla. Després podem continuar amb el marcador.
Feu clic a qualsevol botó entre "Inici" i "Fora", tal com es mostra a l'aplicació. Si el botó Inici està seleccionat, la puntuació de Inici s’incrementarà a la pantalla P10. De la mateixa manera, si se selecciona el botó Aus, la puntuació de Aus s'incrementarà. La imatge següent mostra l'aspecte de la pantalla final.

Espero que us hagi agradat el projecte i hàgiu après alguna cosa nova, si teniu alguna altra pregunta sobre el projecte, no dubteu a comentar-ho a continuació o podeu fer la vostra pregunta al nostre fòrum.
