Per alcuni dei nostri progetti potrebbe tornarci utile utilizzare un display in modo da poter visualizzare temperatura, umidità, o qualsiasi altra cosa ci passa per la testa e, nel post di oggi, vedremo come Utilizzare un display I2C LCD SSD1306 con Arduino Nano.
In commercio ci sono diversi modelli di display utilizzabili con le board Arduino, quello che utilizzeremo in questo progetto è un OLED LCD I2C 0.96″ 128×64 Pixel con Chip SSD1306.
Utilizzare un display I2C LCD SSD1306 con Arduino
Materiale occorrente
Per la realizzazione ci servono i pochi materiali elencati di seguito:
- Arduino Nano ATmega328P CH340G: (Link Amazon – Link eBay)
- Display LCD I2C 0.96 128×64 Pixel SSD1306: (Link Amazon – Link eBay)
- Breadboard: basetta forata sperimentale (Link Amazon – Link eBay)
- Jumper Wire: cavetti elettrici (Link Amazon – Link eBay)
- Arduino IDE: ambiente di sviluppo per programmare il micro controllore Arduino (per l’installazione e la configurazione vi rimando a questi post)
Panoramica sul Display LCD I2C 0.96 128×64 Pixel con Chip SSD1306
Sono disponibili diverse versioni del display, di varie dimensioni e di diverso colore.
Oltre alla versione con interfaccia I2C (utilizzata per questa guida) è disponibile anche la versione con interfaccia SPI.
Queste alcune specifiche:
- Risoluzione: 128 x 64
- Angolo di visione 160°
- Consumo massimo: 0.08W ± a pieno schermo illuminato
- Voltaggio: 3V ~ 5V DC
- Dimensioni: 26.7 (W) x 19.26 (H) mm (2)
Montaggio e collegamenti
Effettuiamo i collegamenti tra il Display e il micro-controllore come mostrato nella tabella seguente:
COLLEGAMENTO PIEDINI | ||
---|---|---|
Arduino Nano | I2C LCD SSD1306 | Jumper Wire |
3.3 | + | Rosso |
GND | – | Nero |
A4 | SDA | Giallo |
A5 | SCL | Verde |
Questo il circuito realizzato con Fritzing
E questo il circuito reale
Come utilizzare un display I2C LCD SSD1306 con Arduino Nano
Installazione e setup librerie
Prima di implementare e testare lo sketch dobbiamo installare le librerie necessarie per poter gestire il display:
- Adafruit_SSD1306
- Adafruit_GFX
Possiamo installarle direttamente dall’IDE di Arduino utilizzando il gestore delle librerie cliccando su Sketch -> #include librerie -> Gestione librerie
Nella barra di ricerca del gestore (1) cerchiamo, e installiamo (2), le librerie necessarie come mostrato nelle immagini:
Adafruit_SSD1306
Adafruit_GFX
Lo Sketch
Dopo aver visto come effettuare i collegamenti e come installare le librerie necessarie, possiamo passare all’implementazione dello sketch.
Creiamo un nuovo file con Arduino IDE e copiamo ed incolliamo lo sketch seguente:
Il codice è abbastanza commentato. La parte più significativa è la dichiarazione e l’inizializzazione della variabile display. Lo sketch può essere utilizzato anche per altri LCD, che utilizzano il chip SSD1306, modificando le dimensioni dei pixel e l’indirizzo I2C.
Come utilizzare un display I2C LCD SSD1306 con Arduino Nano
Configurazione IDE e test dello sketch
Ora non ci resta che caricare il nostro sketch sul Micro-Controllore e vedere se tutto funziona correttamente.
Cominciamo collegando la board Arduino Nano al nostro PC, tramite la porta USB, e configuriamola dal pannello Strumenti dell’IDE in questo modo
- Scheda -> Arduino Nano
- Processore -> ATmega328P
- Porta -> COM3 (N.B. la porta potrebbe essere differente)
Incolliamo lo sketch, che abbiamo visto poco prima, e carichiamolo sulla board Arduino Nano cliccando sul pulsante Carica (contrassegnato da una freccia rivolta verso destra)
Se non vengono visualizzati messaggi di errore e lo sketch viene caricato correttamente vedremo comparire, sull’LCD, le due righe orizzontali e il testo che abbiamo inserito nel codice
La libreria Adafruit_SSD1306, oltre a disegnare righe orizzontali e testo, permette anche di visualizzare immagini e grafici. Alcuni sketch di prova sono disponibili tra gli esempi della libreria raggiungibili da Arduino IDE cliccando su File -> Esempi -> Adafruit SSD1306 -> ssd1306_128x64_i2c
A presto 😉