Collegamento di LCD 1602 ad Arduino: descrizione, funzioni, istruzioni, caratteristiche, problemi e soluzioni

Sommario:

Collegamento di LCD 1602 ad Arduino: descrizione, funzioni, istruzioni, caratteristiche, problemi e soluzioni
Collegamento di LCD 1602 ad Arduino: descrizione, funzioni, istruzioni, caratteristiche, problemi e soluzioni
Anonim

Ogni radioamatore, dopo un semplice lavoro fai-da-te, arriva all'obiettivo di costruire qualcosa di grandioso usando sensori e pulsanti. Dopotutto, è molto più interessante visualizzare i dati sul display che sul monitor della porta. Ma allora sorge la domanda: quale display scegliere? E in generale, come collegarlo, cosa è necessario per connettersi? Le risposte a queste domande saranno discusse in questo articolo.

Display LCD 1602 per collegamento ad arduino
Display LCD 1602 per collegamento ad arduino

LCD 1602

Tra le molte opzioni tra i display, vorrei individuare il display LCD1602 basato sul controller HD4478. C'è questo display in due colori: lettere bianche su sfondo blu, lettere nere su sfondo giallo. Anche il collegamento dell'LCD 1602 ad Arduino non causerà alcun problema, poiché è presente una libreria integrata e non è necessario scaricare nulla in più. I display differiscono non solo per il prezzo, ma anche per le dimensioni. Spesso i radioamatori usano 16x 2, ovvero 2 righe di 16 caratteri. Ma c'è anche 20 x 4, dove ci sono 4 righe di 20 caratteri. Dimensioni e colore non giocano alcun ruolo nel collegare il display lcd 1602 ad Arduno, sono collegati allo stesso modo. L'angolo di visione è di 35 gradi, il tempo di risposta del display è di 250 ms. Può funzionare a temperature da -20 a 70 gradi Celsius. Quando funziona, utilizza 4 mA per lo schermo e 120 mA per la retroilluminazione.

Piedinatura del display LCD 1602
Piedinatura del display LCD 1602

Dove si usa?

Questo display ha la sua popolarità non solo tra i radioamatori, ma anche tra i grandi produttori. Ad esempio, anche le stampanti e le macchine da caffè utilizzano LCD1602. Ciò è dovuto al suo prezzo basso, questo display costa 200-300 rubli sui siti cinesi. Vale la pena acquistarlo lì, poiché nei nostri negozi i margini per questo display sono molto alti.

Connetti ad Arduino

Collegare LCD 1602 ad Arduino Nano e Uno non è diverso. È possibile lavorare con il display in due modalità: 4 bit e 8. Quando si lavora con un display a 8 bit, vengono utilizzati sia il bit inferiore che quello superiore e con uno a 4 bit solo quelli inferiori. Non ha senso lavorare con 8-bit, dato che verranno aggiunti altri 4 contatti per connettersi, cosa sconsigliabile, perché la velocità non sarà maggiore, il limite di aggiornamento del display è di 10 volte al secondo. In generale, per collegare l'LCD 1602 all'Arduino vengono utilizzati molti cavi, il che causa qualche inconveniente, ma ci sono schermature speciali, ma ne parleremo più avanti. La foto mostra il collegamento del display ad Arduino Uno:

Collegamento del display ad arduino
Collegamento del display ad arduino

Esempio di codice:


includi //Aggiungere la libreria richiesta LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Imposta la dimensione dello schermo lcd.setCursor(0, 0); // Posiziona il cursore all'inizio della riga 1 lcd.print("Hello, world!"); // Visualizza testo lcd.setCursor(0, 1); // Posiziona il cursore all'inizio della riga 2 lcd.print("fb.ru"); // Testo di output } void loop(){ }

Cosa fa il codice? Innanzitutto è collegata la libreria per lavorare con il display. Come accennato in precedenza, questa libreria è già inclusa nell'IDE di Arduino e non è necessario scaricarla e installarla in aggiunta. Successivamente vengono definiti i contatti che sono collegati ai pin: rispettivamente RS, E, DB4, DB5, DB6, DB7. Quindi viene impostata la dimensione dello schermo. Poiché stiamo lavorando con una versione con 16 caratteri e 2 righe, scriviamo tali valori. Impostiamo il cursore all'inizio della prima riga e visualizziamo il nostro primo testo Hello World. Quindi, posiziona il cursore sulla seconda riga e visualizza il nome del sito. È tutto! È stato considerato il collegamento di lcd 1602 ad Arduino Uno.

Cos'è I2C e perché è necessario?

Come accennato in precedenza, il collegamento del display richiede molti pin. Ad esempio, quando si lavora con più sensori e un display LCD, 1602 contatti potrebbero semplicemente non essere sufficienti. Spesso i radioamatori utilizzano le versioni Uno o Nano, dove non ci sono molti contatti. Poi le persone hanno escogitato scudi speciali. Ad esempio, I2C. Consente di collegare il display con soli 4 pin. Questo è due volte meno. Il modulo I2C è venduto sia separatamente, dove è necessario saldarlo da soli, sia già saldatoDisplay LCD 1602.

Modulo I2C per display LCD 1602
Modulo I2C per display LCD 1602

Collegamento con modulo I2C

Collegare LCD 1602 ad Arduino Nano con I2C occupa poco spazio, solo 4 pin: massa, alimentazione e 2 uscite dati. Colleghiamo alimentazione e terra rispettivamente a 5V e GND su Arduino. I restanti due contatti: SCL e SDA sono collegati a qualsiasi pin analogico. Nella foto potete vedere un esempio di collegamento di lcd 1602 ad arduino con modulo I2C:

Visualizza le connessioni utilizzando il modulo I2C
Visualizza le connessioni utilizzando il modulo I2C

Codice programma

Se fosse necessario utilizzare una sola libreria per lavorare con un display senza modulo, allora sono necessarie due librerie per lavorare con un modulo. Uno di questi è già nell'IDE di Arduino - Wire. Un' altra libreria, LiquidCrystal I2C, deve essere scaricata separatamente e installata. Per installare la libreria in Arduino, il contenuto dell'archivio scaricato deve essere caricato nella cartella principale delle Librerie. Esempio di codice utilizzando I2C:


include include LiquidCrystal_I2C lcd(0x27, 16, 2); // Imposta il display void setup() { lcd.init(); lcd.backlight();// Attiva la retroilluminazione del display lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Imposta il cursore sulla seconda riga e sul carattere nullo. lcd.setCursor(0, 1); // Stampa il numero di secondi dall'avvio di arduino lcd.print(millis()/1000); }

Come puoi vedere, il codice è quasi lo stesso.

Come aggiungo il mio simbolo?

Il problema con questi display è che non c'èsupporto per cirillico e simboli. Ad esempio, è necessario caricare un carattere sul display in modo che possa rifletterlo. Per fare ciò, il display ti consente di creare fino a 7 dei tuoi personaggi. Presenta la tabella:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

Se 0 - non c'è niente lì, se 1 - è un'area ombreggiata. Nell'esempio sopra, puoi vedere la creazione del personaggio "faccina sorridente". Utilizzando un programma di esempio in Arduino, sarebbe simile a questo:


include include // Include la libreria richiesta // Smile symbol bitmask byte smile[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; LCD a cristalli liquidi (7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Imposta la dimensione dello schermo lcd.createChar(1, smile); // Crea il carattere numero 1 lcd.setCursor(0, 0); // Posiziona il cursore all'inizio della riga 1 lcd.print("\1"); // Visualizza lo smiley (carattere numero 1) - "\1" } void loop(){ }

Come puoi vedere, è stato creatola maschera di bit è la stessa della tabella. Una volta creato, può essere visualizzato come variabile sul display. Ricorda che solo 7 caratteri possono essere memorizzati in memoria. In linea di principio, questo è sufficiente. Ad esempio, se vuoi mostrare il simbolo del grado.

Aggiunta di caratteri personalizzati all'LCD 1602
Aggiunta di caratteri personalizzati all'LCD 1602

Problemi in cui il display potrebbe non funzionare

Ci sono momenti in cui il display non funziona. Ad esempio, si accende, ma non mostra i caratteri. Oppure non si accende affatto. Innanzitutto, controlla se hai collegato correttamente i contatti. Se si collegava lcd 1202 ad Arduino senza I2C, è molto facile che si aggroviglino nei cavi, il che può causare il funzionamento errato del display. Dovresti anche assicurarti che il contrasto del display sia aumentato, poiché al minimo contrasto non è nemmeno visibile se l'LCD 1602 è acceso o meno. Se questo non aiuta, forse il problema potrebbe risiedere nella saldatura dei contatti, questo è quando si utilizza il modulo I2C. Inoltre, un motivo comune per cui il display potrebbe non funzionare è l'impostazione errata dell'indirizzo I2C. Il fatto è che ci sono molti produttori e possono impostare un indirizzo diverso, devi correggerlo qui:


LiquidCrystal_I2C lcd(0x27, 16, 2);

Tra parentesi puoi vedere due valori, 0x27 e 16, 2 (16, 2 è la dimensione del display e 0x27 è solo l'indirizzo I2C). Invece di questi valori, puoi provare a inserire 0x37 o 0x3F. Bene, un altro motivo è semplicemente un LCD 1602 difettoso. Considerando che quasi tutto per Arduino è prodotto in Cina, non puoi essere sicuro al 100% che l'acquistoil prodotto non è difettoso.

Pro e contro LCD 1602

Diamo un'occhiata ai pro e ai contro dell'LCD 1602.

Pro

  • Prezzo. Questo modulo può essere acquistato a un prezzo molto conveniente nei negozi cinesi. Il prezzo è di 200-300 rubli. A volte venduto anche con un modulo I2C.
  • Facile da collegare. Probabilmente nessuno al giorno d'oggi collega un LCD 1602 senza I2C. E con questo modulo, la connessione richiede solo 4 pin, non ci saranno "ragnatele" di fili.
  • Programmazione. Grazie alle librerie già pronte, lavorare con questo modulo è facile, tutte le funzioni sono già registrate. E se devi aggiungere il tuo personaggio, ci vogliono solo un paio di minuti.

Contro

Durante il periodo di utilizzo da parte di migliaia di radioamatori, non sono stati identificati grandi svantaggi, solo ci sono casi di acquisto di un matrimonio, poiché vengono utilizzate principalmente opzioni di visualizzazione cinesi

Questo articolo ha discusso come collegare il display LCD 1602 ad Arduino e ha anche presentato programmi di esempio per lavorare con questo display. È davvero uno dei migliori della sua categoria, non è solo che migliaia di radioamatori lo scelgono per i loro progetti!

Consigliato: