Sommario:
- Passo 1:
- Passo 2:
- Passaggio 3: per iniziare - Hardware
- Passaggio 4: per iniziare - Software
- Passaggio 5: i LED bicolore
- Passaggio 6: il display a 7 segmenti
- Passaggio 7:
- Passaggio 8:
- Passaggio 9:
- Passaggio 10: i pulsanti
Video: Moduli display LED Arduino e TM1638: 11 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Se hai bisogno di un modo semplice e veloce per aggiungere input e output dell'utente a un progetto, questi moduli di visualizzazione sono interessanti e divertenti.
Contengono otto cifre LED rosse a 7 segmenti, otto LED rossi/verdi e anche otto pulsanti per l'input dell'utente. Le unità possono anche essere collegate a margherita, consentendo fino a cinque alla volta, e un cavo corto è incluso con ogni modulo, così come alcuni distanziatori e bulloni corti, come mostrato nell'immagine.
Passo 1:
I distanziatori sono lunghi quanto basta per sollevare il PCB sopra una superficie, tuttavia per montare le schede in qualsiasi punto utile occorrono quelli più lunghi. Si consiglia inoltre di rimuovere le prese IDC se si desidera montare il modulo vicino alla superficie di un pannello. Questo sarebbe un semplice compito di dissaldatura in quanto sono prese a foro passante.
Passo 2:
La scheda è controllata da un IC TM1638.
Questo è un LED e un driver di interfaccia IC di "Titan Micro Electronics". Puoi anche acquistare questi circuiti integrati da PMD Way. Puoi anche scaricare la scheda tecnica per maggiori dettagli.
Passaggio 3: per iniziare - Hardware
Hardware: la connessione a una scheda compatibile con Arduino (o altro MCU) è abbastanza semplice. I pinout sono mostrati sul retro del PCB e corrispondono al raccordo sul cavo a nastro. Se guardi la fine del cavo come tale.
Il foro in alto a destra è il pin uno, con quello in alto a sinistra che è il pin due, il pin nove in basso a destra e il pin dieci in basso a sinistra. Pertanto i pinout sono:
- Vcc (5V)
- GND
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- non collegato.
Per l'uso di Arduino, i pin 1~4 sono il minimo necessario per utilizzare un modulo. Ogni modulo aggiuntivo richiederà un altro pin digitale collegato a STB2, STB3, ecc. Ne parleremo più avanti. Si noti che ogni modulo impostato alla massima luminosità con ogni LED acceso consuma 127 mA, quindi sarebbe saggio utilizzare l'alimentazione esterna con più di un modulo e altre connessioni con schede Arduino.
Passaggio 4: per iniziare - Software
Software: scarica e installa la libreria T1638 da qui. Grazie e complimenti a rjbatista su gmail dot com per la libreria. L'inizializzazione dei moduli nello schizzo è semplice. Includi la libreria con:
#includere
quindi utilizzare uno dei seguenti per ogni modulo:
Modulo TM1638 (x, y, z);
x è il pin digitale Arduino collegato al pin 4 del cavo del modulo, y è il pin digitale Arduino collegato al pin 3 del cavo del modulo e z è il pin stroboscopico. Quindi, se avessi un modulo con dati, clock e strobo collegato ai pin 8, 7 e 6, useresti:
modulo TM1638 (8, 7, 6);
Se avessi due moduli, con lo strobo del modulo uno collegato al digitale 6 di Arduino e lo strobo del modulo due collegato al digitale 5, useresti:
Modulo TM1638 (8, 7, 6); Modulo TM1638 (8, 7, 5);
e così via per più moduli. Ora per controllare il display…
Passaggio 5: i LED bicolore
Il controllo dei LED rosso/verde è facile. Per riferimento sono numerati da zero a sette da sinistra a destra. Per accendere o spegnere un singolo LED, utilizzare quanto segue:
module.setLED(TM1638_COLOR_RED, x); // imposta il numero LED x su redmodule.setLED(TM1638_COLOR_GREEN, x); // imposta il numero LED x su verde module.setLED(TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // imposta il numero LED x su rosso e verde
L'uso del metodo sopra può essere semplice e in qualche modo inefficiente. Un modo migliore consiste nell'indirizzare tutti i LED in un'unica istruzione. Per fare ciò inviamo due byte di dati in esadecimale al display. L'MSB (byte più significativo) è costituito da otto bit, ciascuno dei quali rappresenta un LED verde acceso (1) o spento (0). L'LSB (byte meno significativo) rappresenta i LED rossi.
Un modo semplice per determinare il valore esadecimale per controllare i LED è semplice, l'immagine ha una fila di LED: i primi otto sono verdi e i secondi otto sono rossi. Impostare ogni cifra su 1 per on e 0 per off. Converti i due numeri binari in esadecimali e usa questa funzione:
module.setLEDs(0xgreenred);
Dove verde è il numero esadecimale per i LED verdi e rosso è il numero esadecimale per i LED rossi. Ad esempio, per accendere i primi tre LED come rossi e gli ultimi tre come verdi, la rappresentazione binaria sarà:
00000111 11100000 che in esadecimale è E007.
Quindi useremmo:
module.setLEDs(0xE007);
che produce l'immagine come mostrato sopra.
Passaggio 6: il display a 7 segmenti
Per cancellare il display numerico (ma non i LED sottostanti), utilizzare semplicemente:
module.clearDisplay();
o per accendere ogni segmento E tutti i LED, utilizzare quanto segue
module.setupDisplay(true, 7); // dove 7 è l'intensità (da 0~7)
Per visualizzare i numeri decimali utilizzare la funzione:
module.setDisplayToDecNumber(a, b, false);
dove a è l'intero, b è la posizione del punto decimale (0 per nessuno, 1 per la cifra 8, 2, per la cifra 7, 4 per la cifra 6, 8 per la cifra 4, ecc.) e l'ultimo parametro (vero/ false) attiva o disattiva gli zeri iniziali. Lo schizzo seguente mostra l'uso di questa funzione:
#include // definisce un modulo su data pin 8, clock pin 9 e strobe pin 7 modulo TM1638 (8, 9, 7); unsigned long a=1; void setup(){} void loop() { for (a=10000; a<11000; a++) { module.setDisplayToDecNumber(a, 4, false); ritardo(1); } for (a=10000; a<11000; a++) { module.setDisplayToDecNumber(a, 0, true); ritardo(1); } }
…con i risultati mostrati nel video.
Passaggio 7:
Una delle caratteristiche più interessanti è la possibilità di scorrere il testo su uno o più display. Per fare ciò non ha davvero bisogno di una spiegazione come lo schizzo dimostrativo incluso:
tm_1638_scrolling_modules_example.pde
incluso con la libreria TM1638 è facile da seguire. Basta inserire il testo nella stringa const char, assicurarsi che i moduli siano cablati secondo la definizione del modulo all'inizio dello schizzo e il gioco è fatto. Per vedere i caratteri disponibili, visita la pagina delle funzioni. Nota che il display è solo a sette segmenti, quindi alcuni caratteri potrebbero non sembrare perfetti, ma nel contesto ti daranno una buona idea: guarda il video in questo passaggio.
Passaggio 8:
Infine, puoi anche indirizzare individualmente ogni segmento di ogni cifra. Considera il contenuto di questo array:
valori in byte = { 1, 2, 4, 8, 16, 32, 64, 128 };
ogni elemento rappresenta le cifre 1~8. Il valore di ogni elemento determina quale segmento della cifra si accende. Per i segmenti a~f, dp i valori sono 1, 2, 4, 6, 16, 32, 64, 128. Quindi i risultati dell'utilizzo dell'array sopra nella seguente funzione:
module.setDisplay(values);
sarà per l'immagine.
Passaggio 9:
Naturalmente puoi combinare i valori per ogni cifra per creare i tuoi caratteri, simboli, ecc. Ad esempio, utilizzando i seguenti valori:
valori in byte = { 99, 99, 99, 99, 99, 99, 99, 99 };
abbiamo creato secondo l'immagine in questo passaggio.
Passaggio 10: i pulsanti
I valori dei pulsanti vengono restituiti come valore in byte dalla funzione:
module.getButtons();
Poiché ci sono otto pulsanti, ognuno rappresenta un bit di un numero binario che viene restituito come byte. Il pulsante a sinistra restituisce uno decimale e quello a destra restituisce 128. Può anche restituire pressioni simultanee, quindi premendo i pulsanti uno e otto restituisce 129. Considera lo schema seguente, che restituisce i valori delle pressioni del pulsante in forma decimale, quindi visualizza il valore:
#include // definisce un modulo su data pin 8, clock pin 9 e strobe pin 7 modulo TM1638 (8, 9, 7); pulsanti di byte; void setup(){} void loop() { button=module.getButtons(); module.setDisplayToDecNumber(buttons, 0, false); }
e i risultati nel video.
Questi tabelloni sono utili e, si spera, trovino una casa nei tuoi progetti. Questo post ti è stato presentato da pmdway.com: offre tutto per i produttori e gli appassionati di elettronica, con consegna gratuita in tutto il mondo.
Consigliato:
Temperatura display Arduino sul display LED TM1637: 7 passaggi
Arduino Display Temperature su LED Display TM1637: In questo tutorial impareremo come visualizzare la temperatura utilizzando LED Display TM1637 e sensore DHT11 e Visuino.Guarda il video
Utilizzo di un display Grande a 4 Cifre 8886 Display con Wemos ESP8266 Arduino NodeMCU: 6 passaggi
Usa Un Display Grande a 4 Cifre 8886 Display Con Wemos ESP8266 Arduino NodeMCU: Questo progetto è un semplice esempio che mostra come collegare un display del tipo 8886-Display e, per comodità nostra, un Wemos D1 - ma potrebbe essere un Arduino o un NodeMCU o qualsiasi altro microcontrollore che state usando per un progetto.Esi
Display TTGO (a colori) con Micropython (display a T TTGO): 6 passaggi
Display TTGO (a colori) con Micropython (TTGO T-display): Il TTGO T-Display è una scheda basata sull'ESP32 che include un display a colori da 1,14 pollici. La tavola può essere acquistata per un premio inferiore a 7$ (inclusa la spedizione, premio visto su banggood). Questo è un premio incredibile per un ESP32 che include un display.T
Display LCD I2C / IIC - Utilizzare un display LCD SPI sul display LCD I2C utilizzando il modulo SPI su IIC con Arduino: 5 passaggi
Display LCD I2C / IIC | Utilizzare un display LCD SPI per il display LCD I2C utilizzando il modulo da SPI a IIC con Arduino: Ciao ragazzi poiché un normale LCD 1602 SPI ha troppi fili da collegare, quindi è molto difficile interfacciarlo con arduino ma c'è un modulo disponibile sul mercato che può convertire il display SPI in display IIC, quindi è necessario collegare solo 4 fili
Come creare un orologio in tempo reale utilizzando Arduino e display TFT-Arduino Mega RTC con display TFT da 3,5 pollici: 4 passaggi
Come creare un orologio in tempo reale utilizzando Arduino e display TFT|Arduino Mega RTC con display TFT da 3,5 pollici: visita il mio canale Youtube.Introduzione:- In questo post realizzerò "Orologio in tempo reale" utilizzando LCD touch TFT da 3,5 pollici, Arduino Mega 2560 e modulo RTC DS3231….Prima di iniziare…controlla il video dal mio canale YouTube..Nota:- Se stai usando Arduin