Visualizzazione post con etichetta LCD. Mostra tutti i post
Visualizzazione post con etichetta LCD. Mostra tutti i post

martedì 17 dicembre 2013

LCD Shield SPFD5408 su Arduino

Mi sono comprato questo shield Arduino su un e-commerce cinese allettato dal prezzo modesto (circa una decina di euro spedizione compresa) e dato l'accoppiamento con un touch screen

Vista da sopra - Si osservi il pessimo montaggio del touch screen

Vista inferiore

Quando mi e' arrivato mi sono reso conto subito di un paio di cose:
1) lo shield e' montato in modo pessimo (il touch screen e' montato storto rispetto all'LCD)
2) tutti i piedini dell'Arduino sono coperti per cui in sostanza si puo' usare il solo shield

Ma i problemi non erano questi, il difficile e' stato farlo funzionare.

Sul sito del venditore viene dichiarato che ha un controller spfd5408 che non risulta supportato dalla libreria UTFT (quella standard per gli shield originali Arduino)

Frugando su Internet ho finalmente trovato questo link ad una libreria che permette di utilizzare questo dispositivo.

Il display (diciamolo francamente) fa abbastanza schifo un quanto se si accende tutto con il medesimo colore di fondo mostra delle bande di colore leggermente differenti.
Comunque vale la solita regola, spendi poco ottiene poco

Ecco il video della demo grafica (compresa negli esempi della libreria)



PS: la libreria non permette l'utilizzo dell' SD Reader

giovedì 21 marzo 2013

LCD su Arduino

Per questa prova ho utilizzato un display LCD di 16 caratteri su due righe che ha connessione I2C
In realta' confrontando la foto in basso si osserva come il display LCD standard e quello I2C sono sostanzialmente uguali a meno della piccola schedina rossa che e' aggiunta nella versione I2C

In alto display con connessione standard, in basso I2C

La connessione del modello I2C avviene come al solito ai contatti SDA,SCL, VCC e GND (Pin 4, Pin5 rispettivamente per SDA ed SDC su Arduino Uno)


Per utilizzare questo componente con Arduino e' sufficiente utilizzare la libreria LiquidCrystal_I2C (attenzione ne esistono differenti versioni a seconda del controller I2C montato sul display, ho fatto diverse prove prima di trovare la versione giusta che per me e' stata questa, in caso di problemi con la libreria lo schermo lampeggia o mostra una sola riga di caratteri a blocco)

I comandi sono piuttosto limitati e semplici (per esempio SetCursor manda il cursore ad una determinata coordinata dello schermo)

Un difettto che ho potuto verificare e' il tempo di refresh piuttosto lungo del display (al di sotto dei 500 millisecondi i caratteri flickerano in modo vistoso e fastidioso)

----------------------------------------------------------------------
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd


 /lcd.backlight();
  lcd.print("Hello, Luca");
}

void loop()
{
}

Geologi

  E so anche espatriare senza praticamente toccare strada asfaltata