Ciao!
Durante la realizzazione di un progetto con un display 16x2 (tipo quello di cui parlo in
questo post), mi è capitato di essere a corto di pin sul mio Arduino.
Per ovviare al problema ho deciso di trasformare il display "normale" in un display i2c, per fare ciò ho utilizzato un pratico modulo (
link eBay) pensato appositamente allo scopo.
La modifica hardware è piuttosto semplice, in quanto è sufficiente saldare il modulo interfaccia al display. Ecco il display "prima" e "dopo".
Il display andrà collegato poi al nostro Arduino attraverso l'interfaccia I2C in questo modo:
Come vedete il collegamento è molto più semplice e richiede meno pin rispetto al collegamento "tradizionale".
Dopo aver sistemato la parte hardware dovremo ovviamente programmare il nostro Arduino considerando la diversa interfaccia
Per prima cosa è necessario scaricare ed installare
questa libreria
Poi caricate nella vostra scheda il seguente sketch di prova:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Imposta l'indirizzo del display, il numero massimo di colonne e il numero massimo di righe
LiquidCrystal_I2C lcd(0x27, 20, 2);
void setup()
{
// inizializza
lcd.begin();
// Accendi la retroilluminazione e scrivi il messaggio sul display
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hello world!");
lcd.setCursor(0,1);
lcd.print("Ciao mondo!");
}
void loop()
{
}
Come potete vedere, alla riga 5, è necessario mettere l'indirizzo i2c del display (0x27 in questo caso).
L'indirizzo del vostro display potrebbe essere diverso, potete scoprire l'indirizzo i2c del vostro display leggendo
questo post.
Questo è tutto, per qualsiasi domanda lascia pure un commento!
Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!