- La matrice del display a LED P10
- Componenti necessari per Arduino Scoreboard
- Schema del circuito per il tabellone segnapunti di Arduino
- Spiegazione del codice del tabellone segnapunti di Arduino
Un tabellone elettronico è uno dei gadget più importanti che chiunque può avere durante un torneo sportivo. Il vecchio tabellone segnapunti manuale che utilizza metodi convenzionali richiede molto tempo ed è soggetto a errori, quindi diventa necessario un tabellone segnapunti computerizzato in cui l'unità di visualizzazione deve essere modificata in tempo reale. Questo è il motivo per cui in questo progetto costruiremo un tabellone segnapunti wireless controllato tramite Bluetooth in cui possiamo cambiare il punteggio sul tabellone semplicemente utilizzando un'applicazione Android. Il cervello di questo progetto è un Arduino Nano e per la parte del display utilizzeremo una matrice LED P10 per mostrare la partitura da remoto in tempo reale.
La matrice del display a LED P10
Un display a matrice di LED P10 è il modo migliore disponibile per realizzare una scheda LED per uso esterno o interno. Questo pannello ha un totale di 512 LED ad alta luminosità montati su un alloggiamento in plastica progettato per i migliori risultati di visualizzazione. Inoltre è dotato di un grado di impermeabilità IP65 che lo rende perfetto per l'uso esterno. Con questo, puoi creare un grande cartello LED combinando un numero qualsiasi di tali pannelli in qualsiasi struttura di riga e colonna.
Il nostro modulo ha una dimensione di 32 * 16, il che significa che ci sono 32 LED in ogni riga e 16 LED in ogni colonna. Quindi, ci sono un totale di 512 LED presenti in ogni insegna a led. Oltre a questo, ha un grado di impermeabilità IP65, può essere alimentato da una singola fonte di alimentazione da 5 V, ha un angolo di visione molto ampio e la luminosità può arrivare fino a 4500 nit. Quindi, sarai in grado di vederlo chiaramente alla luce del giorno. In precedenza abbiamo anche utilizzato questo display P10 con Arduino per costruire una semplice scheda LED.
Descrizione dei pin della matrice LED P10 :
Questo tabellone LED utilizza un'intestazione di posta a 10 pin per la connessione di ingresso e uscita, in questa sezione abbiamo descritto tutti i pin necessari di questo modulo. Inoltre, puoi vedere che c'è un connettore 5V esterno nel mezzo del modulo che viene utilizzato per collegare l'alimentazione esterna alla scheda.
- Abilita: questo pin viene utilizzato per controllare la luminosità del pannello LED, inviandogli un impulso PWM.
- A, B: Questi sono chiamati pin di selezione multiplex. Prendono input digitale per selezionare qualsiasi riga multiplex.
- Shift clock (CLK), Store clock (SCLK) e Data: questi sono i normali pin di controllo del registro a scorrimento. Qui viene utilizzato un registro a scorrimento 74HC595.
Interfacciamento del modulo display LED P10 ad Arduino:
Il collegamento del modulo display a matrice P10 ad Arduino è un processo molto semplice, nel nostro circuito abbiamo configurato il pin 9 di Arduino come pin di abilitazione, pin 6 come pin A, pin 7 come pin B, pin 13 è CLK, pin 8 è lo SCLK, il Pin 11 è il DATA, e infine il Pin GND è il pin GND per il modulo e Arduino, una tabella completa di seguito spiega chiaramente la configurazione dei pin.
Modulo LED P10 |
Arduino UNO |
ABILITARE |
9 |
UN |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
DATI |
11 |
GND |
GND |
Nota: collegare il terminale di alimentazione del modulo P10 a una fonte di alimentazione esterna da 5 V, poiché 512 LED consumano molta energia. Si consiglia di collegare un alimentatore CC da 5 V, 3 Amp a una singola unità del modulo LED P10. Se hai intenzione di collegare più moduli di numeri, aumenta di conseguenza la tua capacità SMPS.
Componenti necessari per Arduino Scoreboard
Poiché si tratta di un progetto molto semplice, i requisiti dei componenti sono molto generici, di seguito viene mostrato un elenco dei componenti richiesti, dovresti essere in grado di trovare tutto il materiale elencato nel tuo negozio di hobby locale.
- Arduino Nano
- Display a matrice LED P10
- Breadboard
- 5 V, 3 AMP SMPS
- Modulo Bluetooth HC-05
- Collegamento dei cavi
Schema del circuito per il tabellone segnapunti di Arduino
Lo schema per il tabellone LED di Arduino è mostrato di seguito poiché questo progetto è molto semplice, ho usato il popolare software fritzing per sviluppare lo schema.
Il funzionamento del circuito è molto semplice, abbiamo un'applicazione Android e un modulo Bluetooth, per comunicare con successo con il modulo Bluetooth, devi accoppiare il modulo HC-05 con l'applicazione Android. Una volta collegati, possiamo inviare la stringa che vogliamo visualizzare, una volta inviata la stringa, Arduino elaborerà la stringa e la convertirà in un segnale che il resistore di shift interno 74HC595 può capire, dopo che i dati sono stati inviati allo shift resistore, è pronto per essere visualizzato.
Spiegazione del codice del tabellone segnapunti di Arduino
Dopo il completamento con successo della configurazione hardware, ora è il momento della programmazione di Arduino Nano. Di seguito viene fornita la descrizione graduale del codice. Inoltre, puoi ottenere il codice completo del tabellone segnapunti di Arduino in fondo a questo tutorial.
Prima di tutto, dobbiamo includere tutte le librerie. Abbiamo utilizzato la libreria DMD.h per controllare il display a led P10. Puoi scaricarlo e includerlo dal collegamento GitHub fornito. Successivamente, è necessario includere la libreria TimerOne.h, che verrà utilizzata per la programmazione degli interrupt nel nostro codice.
Ci sono molti fronti disponibili in questa libreria, abbiamo usato " Arial_black_16 " per questo progetto.
#includere
Nella fase successiva, il numero di righe e colonne viene definito per la nostra scheda a matrice di LED. Abbiamo utilizzato un solo modulo in questo progetto, quindi sia il valore ROW che il valore COLUMN possono essere definiti come 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Successivamente, vengono definite tutte le variabili utilizzate nel codice. Una variabile carattere viene utilizzata per ricevere dati seriali dall'app Android, due valori interi vengono utilizzati per memorizzare i punteggi e viene definito un array che memorizza i dati finali da visualizzare su Matrix.
input di caratteri; int a = 0, b = 0; flag int = 0; char cstr1;
Viene definita una funzione scan_module (), che controlla continuamente eventuali dati in arrivo da Arduino Nano tramite SPI. Se sì, allora attiverà un interrupt per l'esecuzione di determinati eventi come definito dall'utente nel programma.
void scan_module () { led_module.scanDisplayBySPI (); }
All'interno di setup (), il timer viene inizializzato e l'interruzione è collegata alla funzione scan_module, discussa in precedenza. Inizialmente, lo schermo è stato cancellato utilizzando la funzione clear screen (true), il che significa che tutti i pixel sono definiti come OFF.
Nella configurazione, la comunicazione seriale è stata abilitata anche utilizzando la funzione Serial.begin (9600) dove 9600 è la velocità di trasmissione per la comunicazione Bluetooth.
void setup () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (true); }
Qui viene controllata la disponibilità dei dati seriali, se ci sono dati validi provengono da Arduino o meno. I dati ricevuti dall'App vengono memorizzati in una variabile.
if (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Quindi, il valore ricevuto è stato confrontato con la variabile predefinita. Qui, nell'applicazione Android, vengono presi due pulsanti per selezionare i punteggi per entrambe le squadre. Quando si preme il pulsante 1, il carattere "a" viene trasmesso ad Arduino e quando si preme il pulsante 2, il carattere "b" viene trasmesso ad Arduino. Quindi, in questa sezione, questi dati vengono abbinati e, se abbinati, i rispettivi valori di punteggio vengono incrementati come mostrato nel codice.
if (input == 'a' && flag == 0) { flag = 1; a ++; } else if (input == 'b' && flag == 0) { flag = 1; b ++; } altro;
Quindi, i dati ricevuti vengono convertiti in un array di caratteri, poiché la funzione matrice P10 è in grado di visualizzare solo il tipo di dati carattere. Questo è il motivo per cui tutte le variabili vengono convertite e concatenate in un array di caratteri.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Quindi, per visualizzare le informazioni nel modulo, il carattere viene selezionato utilizzando la funzione di selezione (). Quindi la funzione drawMarquee () viene utilizzata per visualizzare le informazioni desiderate sulla scheda P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Infine, poiché abbiamo bisogno di una visualizzazione del messaggio scorrevole, ho scritto un codice per spostare l'intero messaggio dalle direzioni da destra a sinistra utilizzando un certo periodo.
inizio lungo = millis (); tempo lungo = inizio; flag booleano = false; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); temporizzazione = millis (); } }
Questo segna la fine del nostro processo di codifica. E ora è pronto per il caricamento.
Quadro di valutazione controllato da smartphone - Test
Dopo aver caricato il codice su Arduino, è il momento di testare il progetto. Prima di ciò, l'applicazione Android deve essere installata sul nostro smartphone. È possibile scaricare l'applicazione P10 Score Board dal collegamento fornito. Una volta installata, apri l'app e la schermata iniziale dovrebbe essere simile all'immagine sottostante.
Fare clic sul pulsante SCAN per aggiungere il modulo Bluetooth con l'App. Questo mostrerà l'elenco dei dispositivi Bluetooth accoppiati del telefono. Se non hai ancora accoppiato il modulo Bluetooth HC-05, accoppia il modulo utilizzando l'impostazione Bluetooth del tuo telefono, quindi esegui questo passaggio. Lo schermo apparirà come mostrato:
Quindi, dall'elenco, fare clic su "HC-05" poiché questo è il nome del nostro modulo Bluetooth utilizzato qui. Dopo aver fatto clic su di esso, apparirà connesso sullo schermo. Quindi possiamo procedere con il tabellone.
Fare clic su qualsiasi pulsante tra "Casa" e "Fuori" come mostrato nell'App. Se è selezionato il pulsante Home, il punteggio di Home verrà incrementato nel display P10. Allo stesso modo, se si seleziona il pulsante Away, il punteggio di Away verrà incrementato. L'immagine sotto mostra l'aspetto della schermata finale.
Spero che il progetto ti sia piaciuto e abbia imparato qualcosa di nuovo, se hai altre domande sul progetto, sentiti libero di commentare in basso o puoi porre la tua domanda nel nostro forum.