Nell'articolo collegheremo un display a cristalli liquidi 1602 con un modulo FC-113 I2C ad Arduino, grazie al quale la connessione verrà effettuata utilizzando solo due cavi dati e due cavi di alimentazione.
È necessario
- -Arduino;
- - Display LCD 1602 (16 caratteri, 2 righe);
- - Adattatore I2C FC-113;
- - fili di collegamento.
Istruzioni
Passo 1
Il modulo FC-113 si basa sul microcircuito PCF8574T, che è un registro a scorrimento a 8 bit - espansore I/O per il bus seriale I2C. Nella figura, il microcircuito è designato DD1.
R1 è un resistore di regolazione per la regolazione del contrasto dell'LCD.
Il jumper J1 serve per accendere la retroilluminazione del display.
I pin 1… 16 sono utilizzati per collegare il modulo ai pin del display LCD.
I pad di contatto A1 … A3 sono necessari per modificare l'indirizzo del dispositivo I2C. Saldando i relativi jumper è possibile modificare l'indirizzo del dispositivo. La tabella mostra la corrispondenza di indirizzi e ponticelli: "0" corrisponde al circuito aperto, "1" - al ponticello installato. Per impostazione predefinita, l'indirizzo del dispositivo è 0x27, ad es. tutti e 3 i ponticelli sono aperti.
Passo 2
Il modulo è connesso ad Arduino come standard per il bus I2C: il pin SDA del modulo è connesso alla porta analogica A4, il pin SCL è connesso alla porta analogica A5 di Arduino. Il modulo è alimentato da + 5V da Arduino. Il modulo stesso è collegato tramite i pin 1 … 16 con i corrispondenti pin 1 … 16 sul display LCD.
Passaggio 3
Ora abbiamo bisogno di una libreria per lavorare con gli LCD tramite l'interfaccia I2C. Puoi usare, ad esempio, questo: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (link nella riga "Download Sample code and library").
L'archivio scaricato "LiquidCrystal_I2Cv1-1.rar" viene decompresso nella cartella "\librerie ", che si trova nella directory IDE di Arduino.
La libreria supporta una serie di funzioni standard per gli schermi LCD:
LiquidCrystal () - crea una variabile di tipo LiquidCrystal e accetta i parametri di connessione del display (numeri di pin), inizio () - inizializzazione del display LCD, impostazione dei parametri (numero di righe e simboli);
clear() - cancella lo schermo e riporta il cursore nella posizione iniziale;
home() - riporta il cursore nella posizione iniziale;
setCursor() - imposta il cursore nella posizione specificata;
write() - visualizza un carattere sullo schermo LCD;
print() - visualizza il testo sullo schermo LCD;
cursore () - mostra il cursore, ad es. sottolinea sotto il posto del carattere successivo;
noCursor() - nasconde il cursore;
lampeggio () - cursore lampeggiante;
noBlink() - annulla il lampeggio;
noDisplay() - spegne il display durante il salvataggio di tutte le informazioni visualizzate;
display() - accende il display salvando tutte le informazioni visualizzate;
scrollDisplayLeft() - scorre il contenuto del display di 1 posizione a sinistra;
scrollDisplayRight() - scorre il contenuto del display di 1 posizione verso destra;
autoscroll() - abilita lo scorrimento automatico;
noAutoscroll() - disattiva lo scorrimento automatico;
leftToRight() - imposta la direzione del testo da sinistra a destra;
rightToLeft() - direzione del testo da destra a sinistra;
createChar() - Crea un carattere personalizzato per lo schermo LCD.
Passaggio 4
Apriamo l'esempio: File -> Campioni -> LiquidCrystal_I2C -> CustomChars e ripetiamolo un po'. Mostriamo un messaggio, al termine del quale apparirà un simbolo lampeggiante. Tutte le sfumature dello schizzo sono commentate nei commenti al codice.
Passaggio 5
Diamo un'occhiata più da vicino al problema della creazione dei tuoi simboli per gli schermi LCD. Ogni carattere sullo schermo è composto da 35 punti: 5 di larghezza e 7 di altezza (+1 sottolineatura riservata). Nella riga 6 dello schizzo sopra, impostiamo un array di 7 numeri: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Convertiamo i numeri esadecimali in binari: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Questi numeri non sono altro che maschere di bit per ciascuna delle 7 righe del carattere, dove "0" indica un punto chiaro e "1" un punto scuro. Ad esempio, sullo schermo apparirà il simbolo del cuore specificato come maschera di bit, come mostrato in figura.
Passaggio 6
Carica lo schizzo su Arduino. Lo schermo mostrerà la scritta che abbiamo specificato con un cursore lampeggiante alla fine.