Arduino e LCD nessun carattere

Ciao a tutti, ho un problema con Arduino Uno e un LCD 16x2.
L'LCD è quello nello starter kit quindi compatibile HD44780.
I cablaggi sono perfetti. Tutto sommato funziona perché con questo codice

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.cursor();
lcd.setCursor(5,1);
}
void loop() {
}

Mi fa vedere correttamente il cursore sulla 5a colonna della 1a riga.

Se io aggiungo il comando lcd.print("ciao");
sparisce il cursore e non si vede più niente.
Stessa cosa se il comando lo metto nel loop

Qualcuno può aiutarmi a capire dove sbaglio?

Tra l'altro ho notato che con questo codice mi sposta solamente il cursore

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.cursor();
lcd.setCursor(5,1);
}
void loop() {
lcd.print("A");
delay(500)
lcd.print("B");
delay(500)
lcd.print("C");
delay(500)
}

Mentre con le lettere minuscole nemmeno il cursore vedo.

ciao

...I cablaggi sono perfetti...

Lo sono sicuramente ma comunque ricontrollali ;).
Con uno sketch di esempio fornito con l'IDE di Arduino ti funziona?
ciao
pippo72

Domani li faccio da capo i collegamenti, perché l'unica cosa che mi è rimasto come motivo per il non funzionamento.

Ho provato l'HelloWorld di sketch predefinito ma non va.

Penso che il problema sia nei pin D7-D6-D5-D4, perché il resto li ho controllati con i LED e funzionano come descritto nella libreria.

C'era un goccio di saldatura che metteva in corto il pin4 RS e il pin5 R/W.
Ora funziona tutto.
grazie pippo per il suggerimento