Sommario:

Display a matrice 8x8 con BT: 5 passaggi (con immagini)
Display a matrice 8x8 con BT: 5 passaggi (con immagini)

Video: Display a matrice 8x8 con BT: 5 passaggi (con immagini)

Video: Display a matrice 8x8 con BT: 5 passaggi (con immagini)
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Novembre
Anonim

Ho acquistato una matrice 8x8 a 4 pannelli da Ebay (Cina) qualche mese fa.

Sono rimasto un po' deluso quando mi sono reso conto che era cablato da un lato all'altro, non dall'alto verso il basso per il quale sono scritti la maggior parte degli esempi in rete! Vedi il passaggio 2.

Immagino che avrei potuto modificare il codice (non so come), ma la mia solita pigrizia mi ha detto di cercare qualcosa di già scritto. Mi sono imbattuto in un esempio e mi sono bloccato!

Ho giocato con i messaggi fissi ma poi ho deciso di provare a programmare il messaggio via Bluetooth.

Poi volevo salvare e recuperare i messaggi!

Ci sono stati molti tentativi ed errori, ma dopo poche ore di codifica l'ho fatto funzionare.

Sto ancora cercando di trovarne un uso pratico!!:-)

Passaggio 1: il display

Il display
Il display
Il display
Il display

Come accennato in precedenza, il display è cablato da sinistra a destra, anziché dall'alto verso il basso.

Sono sicuro che altro codice avrebbe potuto essere modificato per compensare questo!

Non ricordo da dove ho scaricato il codice funzionante, tuttavia, una ricerca per "matrice cosmicvoid o LedControlMS.h" può aiutare. La lib LedControlMS.h è necessaria per questo progetto.

L'unica parte di questo codice che ho modificato era il numero di display in quanto sembra che fosse impostato su 5, l'ho appena cambiato in 4.

Ho ordinato un altro display x4 così posso vedere come funziona con 8 matrici anziché 4!

Passaggio 2: il Bluetooth Bit

Il Bluetooth Bit
Il Bluetooth Bit

Ogni volta che gioco con un dispositivo Bluetooth, mi riferisco sempre a questo eccellente tutorial!

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

Questo Instructable ti dirà tutto ciò che devi sapere su come configurare e associare l'HC-05 a un telefono cellulare o tablet.

Ho abbinato un Samsung Galaxy 6 Edge e un Tab A senza problemi.

Ho modificato la velocità di comunicazione a 57600.

Passaggio 3: comunicazione BT e programma

BT Communication e il programma
BT Communication e il programma

Per comunicare con l'HC-05 ho scaricato un'App gratuita dal Play Store, ce ne sono diverse disponibili, - quella che ho scelto si chiama Bluetooth Terminal HC-05 - è un'ottima App!

Dopo aver associato l'HC-05 a un telefono o tablet, si verifica quanto segue.

Quando l'arduino viene ripristinato, il programma legge tutti i messaggi memorizzati nella EEPROM e li visualizza sul telefono / tablet - vedi immagine.

Le informazioni visualizzate sono la posizione della memoria (0-9), la lunghezza del messaggio e il messaggio stesso in ciascuna posizione.

Ho predisposto il codice per memorizzare fino a un messaggio di 90 caratteri all'indirizzo 5 per Msg 0, 105 per Msg 1 …….905 per Msg 9.

Indirizzo 0, 100 …. 900 contengono la lunghezza del messaggio.

Viene visualizzato l'ultimo messaggio memorizzato/richiamato.

L'invio di qualsiasi cosa ad Arduino tramite BT sostituisce il messaggio corrente.

Per memorizzare il messaggio visualizzato (usare la tilde "~"), inviare ~0 per memorizzare nella posizione 0, ~5 per memorizzare nella posizione 5 ecc.

Per recuperare e visualizzare un messaggio memorizzato utilizzare "^" (carati), ad es. ^3 caricherà e visualizzerà il messaggio nella posizione Mem 3.

Quando un messaggio viene memorizzato o recuperato, la posizione di memoria corrente viene memorizzata all'indirizzo EEPROM 1023 - questo viene utilizzato all'accensione per visualizzare l'ultimo messaggio visualizzato.

Passaggio 4: il codice e il potere

Come al solito, il mio codice è ordinato come una camera da letto per adolescenti, ma ho molti commenti lì dentro!

Potrebbe esserci del codice superfluo in quanto ci sono stati un po' di tentativi ed errori.

La routine di visualizzazione visualizzerà tutto ciò che è nell'array msg. Il carattere non è completo, quindi la visualizzazione di alcuni caratteri causerà risultati imprevedibili!

Se qualcuno là fuori potesse dirmi come modificare il segno $ per il segno £ o meglio ancora aggiungerlo, allora sarei estremamente grato

Potrebbe essere necessario codificare un messaggio nella posizione 0 solo per dare un punto di partenza, questo può essere sovrascritto quando il programma è attivo e funzionante!

per esempio

EEPROM.write(0, '5'); // lunghezza del messaggio memorizzato nella posizione 0

EEPROM.write(5, 'L'); //msg memorizzato nella posizione 05EEPROM.write(6, 'o');

EEPROM.write(7, 'c');

EEPROM.write(8, ' ');

EEPROM.write(9, '0');

Senza messaggi memorizzati, all'accensione, il display sarà imprevedibile e il telefono / tablet visualizzerà informazioni strane ma coerenti perché, come con la maggior parte delle EEPROM, i dati predefiniti in ogni posizione sono FF Hex (225 Decimal).

Questo prototipo è stato costruito utilizzando un Arduino Uno, ma utilizzerò un pro mini per il progetto finito.

Ho intenzione di utilizzare 3 batterie da 1,5 V, quindi per risparmiare energia, spegnerò l'HC-05 dopo aver selezionato un messaggio. La semplice disconnessione/riconnessione dell'alimentazione non è sufficiente in quanto invierà informazioni confuse al display.

Sembrerebbe necessario isolare i pin TR e RX prima di collegare/scollegare l'alimentazione!

Passaggio 5: aggiornamento 2020 - Display a matrice 2 X 4 (8x8)

Dopo una migliore comprensione del MAX7219, sono riuscito a collegare 2 display insieme!

c'erano solo un paio di righe di codice che dovevano essere cambiate - vedi ino allegato.

Consigliato: