Lezione 20/31: Utilizzo di LCD1602 con Arduino per visualizzare testo | Robojax
Introduzione
L'LCD1602 è uno dei display alfanumerici più popolari per i progetti Arduino e, quando abbinato a un modulo I2C, diventa estremamente facile da usare. In questo tutorial imparerai come visualizzare testo, numeri e caratteri personalizzati, oltre a come far scorrere il testo sullo schermo. Ti mostreremo anche come combinare l'LCD con altri sensori per creare strumenti di monitoraggio pratici. Questa guida fa parte di un corso Arduino più ampio ed è progettata per aiutarti a costruire dispositivi utili per la tua casa, scuola o officina.
Ecco alcune idee pratiche su cosa puoi costruire con questa conoscenza:
- Un monitor di temperatura e umidità per una serra o un terrario per rettili.
- Un semplice voltmetro per controllare i livelli delle batterie nei tuoi progetti.
- Un sensore di distanza per un assistente al parcheggio o un cestino intelligente che mostra quanto è pieno.
Panoramica dell'Hardware
L'LCD1602 è un display da 16 caratteri per 2 linee. Il modulo sul retro è un adattatore I2C (o I²C), che riduce il numero di cavi necessari da una connessione parallela standard a solo quattro: GND, VCC, SDA e SCL. Questo rende il cablaggio molto più semplice e libera molti pin digitali sul tuo Arduino.
Il display è dotato di retroilluminazione, che può essere accesa o spenta tramite software. Ha anche un piccolo potenziometro sul modulo I2C per regolare il contrasto. Se accendi il display e non vedi nulla, ruota semplicemente questa vite finché il testo non diventa visibile (nel video a 02:47).
Esistono diverse versioni di questo display, come l'LCD2004 che ha 20 caratteri e 4 linee. L'indirizzo I2C può anche essere modificato saldando i ponticelli A0, A1 e A2 sul modulo (nel video a 03:51). L'indirizzo predefinito è spesso 0x27, ma può variare, quindi è sempre una buona idea eseguire uno scanner I2C per trovare quello corretto per il tuo modulo specifico.
Componenti Hardware
Per seguire la dimostrazione principale in questo video, avrai bisogno dei seguenti componenti:
- Arduino Uno (o qualsiasi scheda compatibile)
- LCD1602 con modulo I2C
- Breadboard e cavi jumper
Per le sezioni successive, avrai bisogno anche di un sensore DHT11, un potenziometro o un sensore a ultrasuoni, a seconda del progetto che vuoi costruire.
Guida al Cablaggio
Collegare l'LCD è semplice. Lo schema di cablaggio mostra chiaramente le connessioni.
Collega i pin del modulo I2C al tuo Arduino come segue:
- GND a GND di Arduino
- VCC a 5V di Arduino
- SDA a A4 di Arduino
- SCL a A5 di Arduino
Se la tua scheda Arduino ha pin SDA e SCL dedicati, puoi collegarti anche a quelli (nel video a 05:47).
Installazione della Libreria
Questo modulo richiede la libreria "Arduino Liquid Crystal I2C". Puoi scaricarla dal link fornito nella descrizione del video o dal sito web di Robojax. Una volta scaricata, installala nel tuo IDE Arduino andando su Sketch > Includi Libreria > Aggiungi Libreria .ZIP e selezionando il file scaricato (nel video a 06:41).
Spiegazione del Codice
Poiché non sono stati forniti frammenti di codice, spiegheremo la struttura generale del codice utilizzato nel video.
Il codice inizia includendo le librerie necessarie: Wire.h per la comunicazione I2C e la libreria LiquidCrystal_I2C.h per il display. La parte chiave è creare un oggetto per l'LCD. Dovrai impostare l'indirizzo I2C corretto e le dimensioni del tuo display:
// Imposta l'indirizzo LCD a 0x27 per un display da 16 caratteri e 2 linee
LiquidCrystal_I2C lcd(0x27, 16, 2);
Se il tuo display non mostra nulla, potresti dover cambiare 0x27 in 0x3F o in un altro indirizzo trovato dal tuo scanner I2C. I valori 16 e 2 rappresentano il numero di colonne e righe del tuo display.
Nella funzione setup(), inizializzi l'LCD e accendi la retroilluminazione:
void setup() {
lcd.init();
lcd.backlight();
}
Per stampare testo, usi la funzione lcd.setCursor(colonna, riga) per posizionare il cursore, seguita da lcd.print() per visualizzare i tuoi dati. Ad esempio, per stampare sulla seconda riga, useresti lcd.setCursor(0, 1). Il video spiega anche come stampare caratteri speciali come il simbolo del grado usando lcd.write(223) (nel video a 31:42).
Dimostrazione
Il video dimostra diverse funzionalità chiave dell'LCD. Prima mostra la stampa di base del testo "Hello World" e come usare la funzione lcd.scrollDisplayLeft() per far scorrere il testo sullo schermo. Successivamente, combina l'LCD con un sensore DHT11 per visualizzare temperatura e umidità, con un potenziometro per visualizzare la tensione e con un sensore a ultrasuoni per visualizzare la distanza.
Per la visualizzazione della temperatura, il codice legge il sensore e stampa il valore. Per mostrare un numero intero senza decimali, puoi convertire il valore float in un intero, come mostrato nel video (nel video a 32:21).
Per il voltmetro, il codice legge il valore analogico dal potenziometro, lo scala a un intervallo di tensione di 0-5V e lo visualizza sullo schermo (nel video a 34:31).
La dimostrazione finale combina il display LCD con un sensore a ultrasuoni per visualizzare la distanza misurata in centimetri (nel video a 37:55).
Progetti correlati da questo video
Questo video contiene anche altri tutorial di progetti. Puoi trovarli qui:
- Lezione 20/31: Visualizzazione di temperatura e umidità dal DHT11 su schermo LCD
- Lezione 20/31: Visualizzazione della tensione su LCD1602
Capitoli
- [00:00] Introduzione all'LCD1602 e panoramica del corso
- [01:30] Panoramica hardware dell'LCD1602 e del modulo I2C
- [02:47] Regolazione del contrasto del display e della retroilluminazione
- [03:14] Collegamenti dei pin e selezione dell'indirizzo I2C
- [05:28] Schema di cablaggio per l'LCD
- [06:16] Installazione della libreria richiesta
- [07:24] Codice di base per stampare testo
- [11:10] Esempio di cursore lampeggiante
- [13:46] Caratteri personalizzati e stampa di simboli speciali
- [18:51] Esempio di visualizzazione seriale
- [23:16] Testo scorrevole sull'LCD
- [36:51] Combinazione dell'LCD con un sensore a ultrasuoni
/*
Lesson 20/31: Displaying text on LCD screen
Get this code and watch video Download and resource page https://robojax.com/RJT603
YouTube video https://www.youtube.com/watch?v=NXAswOc_2zg
*/
/*
This is code for LCD1602 Display with I2C module
* watch the video for this code https://youtu.be/q9YC_GVHy5A
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purpose only.
* This library is based on work done by DFROBOT (www.dfrobot.com).
*/
/*
* This code has been modefied from the Arduino library
* Updated by Ahmad Nejrabi on Jan 20, 2018 at 11:09
* in Ajax, Ontario, Canada
* for Robojax.com
*
* This is code for LCD1602 Display with I2C module
* which can display text on the screen.
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
// Robojax code for LCD with I2C
// initialize the LCD,
lcd.begin();
// Turn on the blacklight and print a message.
//lcd.backlight();
// Robojax code for LCD with I2C
}
void loop()
{
lcd.clear();
lcd.setCursor (0,0);
lcd.print("SunFounder ");
lcd.setCursor (0,1);
lcd.write(244);
delay(500);
//end of loopcode Robojax code for LCD with I2C
}
Common Course Links
Common Course Files
Cose di cui potresti avere bisogno
-
AmazonAcquista LCD1602-I2C da Amazonamzn.to
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
-
Amazon
-
eBayAcquista LCD1602-I2C da eBayebay.us
-
AliExpressAcquista 10 pezzi di LCD1602-I2C da AliExpresss.click.aliexpress.com
Risorse e riferimenti
-
DocumentazioneDocumentazione per il kit di apprendimento SunFounder 3 in 1 IoT/Smart Car.docs.sunfounder.com
-
Esterno
-
EsternoLibreria LCD di RoboJax (ZIP)robojax.com
File📁
Librerie Arduino (zip)
-
Codice sorgente del kit di apprendimento Smart Car 3-in-1 di SunFounder
3in1-kit-main-v2.zip12.80 MB