Il WEMOS Matrix LED shield è appositamente progettato per essere utilizzato con le schede Wemos D1 Mini e Wemos D1 Mini Pro, può essere utilizzato per creare immagini, un testo scorrevole e altro.
Per altri shield specifici per Wemos D1 mini vedere l’articolo Wemos D1 mini – Raccolta Shield disponibili
Indice
Descrizione del modulo
Il Matrix LED shield per Wemos D1 Mini (vedere sito del produttore) è appositamente progettato per essere utilizzato con le schede Wemos D1 Mini e Wemos D1 Mini Pro, può essere utilizzato per creare immagini, un testo scorrevole e altro. Il controllo della matrice di led è affidata al chip TM1640.
Per informazioni del modulo Wemos D1 mini vedere articolo Modulo WeMos – LOLIN D1 mini
Wemos D1 mini |
Wemos D1 mini Pro |
Caratteristiche del Matrix LED shield
- Tensione di alimentazione: 5 VDC
- 8 livelli di intensità regolabile
- LED a matrice di punti 8 × 8
- Pin utilizzati: D5 CLK, D7 DIN
Dove trovare il WEMOS Matrix LED shield
Il Matrix LED shield, può essere acquistato presso il sito Homotix, codice WEMATR .
Il suo costo è di 3,93 € al momento della pubblicazione di questo articolo.
Se lo acquisterete presso il sito potrete usufruire di uno sconto inserendo il l’apposito codice di sconto.
Circuito elettrico
I pin utilizzati per l’interfacciamento tra il modulo Wemos D1 Mini e il WEMOS Matrix LED shield sono quelli di alimentazione 5V, +3,3V GND e quello D5 e D7 per il segnali seriali di comando (CLK, DIN).
dato che il Wemos D1 Mini accetta segnali con livello a 3,3V mentre l’integrato TM1640 che pilota la matrice di led ha segnali a 5V, è presente una parte di circuito che serve per “traslare” i segnali tra i due livelli di tensione, il circuito utilizza dei transistor di tipo FET tipo BSS138 (datasheet)
Per pilotare la matrice di led è utilizzato un circuito tipo TM1640 (datasheet), si tratta di un drive specifico per LED (Light Emitting Diode Display) che integra una MCU di interfaccia digitale, latch digitale, circuito di pilotaggio ad alta tensione LED, ecc. Alcune sue caratteristiche:
- Tecnica CMOS Power;
- La modalità di visualizzazione (8 sezioni × 16 bit) supporta l’uscita digitale a catodo comune;
- Circuito di regolazione della luminosità (ciclo di lavoro regolabile tra 8 livelli);
- Interfaccia seriale doppia linea (CLK, DIN);
- Modalità di oscillazione: oscillazione RC incorporata (450KHz + 5%);
- Circuito di reset accensione incorporato;
- Circuito di soppressione automatica incorporato.
La matrice 8×8 a led è il tipo 788AS (datasheet), misura 20×20 mm con led tondi da 1,9mm
Pins
D1 mini | GPIO | Shield |
D5 | 14 | CLK |
D7 | 13 | DIN |
Libreria per la gestione della matrice
Per facilitare la gestione della matrice è disponibile presso il sito del produttore un link per scaricare la libreria oppure scaricando direttamente il file zip.
Dal momento che hai scaricato la libreria zip, apri il tuo IDE Arduino, fai clic su Sketch> #Includi libreria> Aggiungi libreria da file. ZIP.
Scegli il file zip che hai appena scaricato, se l’installazione della libreria è corretta, vedrai Libreria aggiunta alle tue librerie nella finestra di avviso. Ciò significa che la libreria è stata installata correttamente.
Creazione dei simboli da mostrare sulla matrice
Per la creazione dei simboli, numeri o altro ancora vi consiglio un semplice programma, chiamato LED Matrix Editor, è uno strumento online per la modifica e la creazione di animazioni per matrici LED 8×8. È gratuito e facile da usare.
Istruzioni d’uso
- Cliccare sul LED per commutare un singolo oggetto
- Cliccare sui numeri di riga o colonna per attivare l’intera riga o colonna
- Clicca sull’icona per cancellare / riempire tutta la matrice
- Sposta la matrice su, giù, sinistra o destra usando i pulsanti freccia
- Inverti matrice tramite pulsante
- Inserisci, aggiorna o cancella le immagini
- Riordina le immagini utilizzando il trascinamento della selezione nel riquadro inferiore
- Utilizzare i segnalibri del browser per salvare le immagini
- Utilizza la cronologia di navigazione per annullare / ripristinare il tuo lavoro
- Scegli il tipo di codice generato (numeri interi a 64 bit o matrici di byte)
- Copia il codice C generato nel tuo progetto
- Utilizza set predefiniti di caratteri e icone
- Riproduci animazione con ritardo inter-frame configurabile (in millisecondi)
- Scegli il colore della matrice
Test del modulo
Componenti minimi
La prova sono necessari solo Modulo Wemos D1 Mini e il Matrix LED shield.
L’alimentazione potrà essere fornita da PC a cui è collegato il modulo Wemos, oppure tramite una Power bank.
Wemos D1 Mini |
Matrix LED shield |
Alimentazioni tramite batteria ricaricabile
Tripler Base |
Wemos D1 Mini |
Battery Shield |
Matrix LED shield |
Batteria LI-ion o LIPo 3.7V |
|
Alimentazione a batteria 9V
Tripler Base |
Wemos D1 Mini |
Matrix LED shield |
|
Batteria 9V |
Sketch del programma
Per l’utilizzo del modulo è necessario, come riportato nel capitolo “Libreria per la gestione della matrice” caricare la libreria “WEMOS_Matrix_LED.h“.
Occorre poi verificare di aver impostato nell’IDE correttamente la scheda Wemos Di mini e che questa sia correttamente riconosciuta, verificando a quale porta risulta collegata.
Appena caricato il programma, sul display appariranno prima di tutto tre “facce” con varie espressioni, seguite da dei caratteri a formare la scritta “WWW.ADRIROBOT.IT“.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#include <WEMOS_Matrix_LED.h> MLED mled(5); //set intensity=5 byte faccia_1[8] = {0b00000000, 0b01100110, 0b01100110, 0b00011000, 0b00011000, 0b00000000, 0b00111100, 0b01000010}; byte faccia_2[8] = {0b00000000, 0b01100110, 0b01100110, 0b00011000, 0b00011000, 0b00000000, 0b01111110, 0b00000000}; byte faccia_3[8] = {0b00000000, 0b01100110, 0b01100110, 0b00011000, 0b00011000, 0b01000010, 0b00111100, 0b00000000}; byte spazio_Char[8] = {0b0000000, 0b0000000, 0b0000000, 0b0000000, 0b0000000, 0b0000000, 0b0000000, 0b0000000}; byte A_Char[8] = {0b0000000, 0b0111100, 0b1100110, 0b1100110, 0b1111110, 0b1100110, 0b1100110, 0b1100110}; byte B_Char[8] = {0b0000000, 0b1111100, 0b1100110, 0b1100110, 0b1111100, 0b1100110, 0b1100110, 0b1111100}; byte D_Char[8] = {0b0000000, 0b1111100, 0b1100110, 0b1100110, 0b1100110, 0b1100110, 0b1100110, 0b1111100}; byte I_Char[8] = {0b0000000, 0b0111100, 0b0011000, 0b0011000, 0b0011000, 0b0011000, 0b0011000, 0b0111100}; byte O_Char[8] = {0b0000000, 0b0111100, 0b1100110, 0b1100110, 0b1100110, 0b1100110, 0b1100110, 0b0111100}; byte R_Char[8] = {0b0000000, 0b1111100, 0b1100110, 0b1100110, 0b1111100, 0b1111000, 0b1101100, 0b1100110}; byte T_Char[8] = {0b0000000, 0b1111110, 0b1011010, 0b0011000, 0b0011000, 0b0011000, 0b0011000, 0b0011000}; byte W_Char[8] = {0b0000000, 0b1100011, 0b1100011, 0b1100011, 0b1101011, 0b1111111, 0b1110111, 0b1100011}; byte point_Char[8] = {0b0000000, 0b0000000, B00000000, 0b0000000, 0b0000000, 0b0000000, 0b0001100, 0b0001100}; #define TIME 500 #define PAUSE 1000 void setup() { } void loop() { drawChar(faccia_1); delay(PAUSE); drawChar(faccia_2); delay(PAUSE); drawChar(faccia_3); delay(PAUSE); drawChar(W_Char); delay(TIME); drawChar(spazio_Char); delay(TIME); drawChar(W_Char); delay(TIME); drawChar(spazio_Char); delay(TIME); drawChar(W_Char); delay(TIME); drawChar(point_Char); delay(TIME); drawChar(A_Char); delay(TIME); drawChar(D_Char); delay(TIME); drawChar(R_Char); delay(TIME); drawChar(I_Char); delay(TIME); drawChar(R_Char); delay(TIME); drawChar(O_Char); delay(TIME); drawChar(B_Char); delay(TIME); drawChar(O_Char); delay(TIME); drawChar(T_Char); delay(TIME); drawChar(point_Char); delay(TIME); drawChar(I_Char); delay(TIME); drawChar(T_Char); delay(TIME); drawChar(spazio_Char); delay (PAUSE); } void drawChar(byte character[8]) { for (int y = 7; y >= 0; y--) { for (int x = 0; x <= 7; x++) { if (character[(7 - y)] & (B10000000 >> x)) { mled.dot(x, y); // draw dot } else { mled.dot(x, y, 0); //clear dot } } mled.display(); } } |
Wemos D1 mini – Raccolta Shield disponibili
Per la scheda Wemos D1 mini, prodotta dalla WEMOS/LOLIN sono disponibili vari shield che appartengono a varie categorie: Display & Interactive Shield, Environment, Power, Control, Others.
Per l’elenco vedere articolo Wemos D1 mini – Raccolta Shield disponibili