Montre nous ton vrai cablage si tu peux faire une photo.
Pour le code ça a l'air bon mais essaye aussi avec lcd.print("test");
Je ne suis pas sur que lcd.write fonctionne?
Pour le cablage tu peux nous mettre la correspondance par exemple:
/// LCD ///
LCD1 VSS => Ground
LCD2 VDD => +5V
LCD3 V0 => digital pin 6 PWM Contrast
LCD4 RS => digital pin 4
LCD5 RW => digital pin 7
LCD6 E => digital pin 8
LCD7 DB0 => not connected
LCD8 DB1 => not connected
LCD9 DB2 => not connected
LCD10 DB3 => not connected
LCD11 DB4 => digital pin 13
LCD12 DB5 => digital pin 12
LCD13 DB6 => digital pin 11
LCD14 DB7 => digital pin 10
LCD15 LED+ => digital pin 5 PWM Backlight
LCD16 LED- => Ground
Pour l'initialisation perso j'ai 7 valeurs peut etre qu'il t'en manque une:
Par exemple, correspondant au cablage indiqué ci dessus:
LiquidCrystal lcd(4, 7, 8, 13, 12, 11, 10);
// RS, RW, Enable, 4,5,6,7 (Refer to the back of your LCD for details)
Donc pour le tiens il manque peut etre le pin 2?:
LiquidCrystal lcd(11, 10, 6, 5, 4, 3,2);
Mais dans ce cas par rapport à ton schéma tu n'as pas le Enable de connecté sur le pin 6 de l'arduino.
A toi de voir mais je pense que tu as une discordance entre ton cablage et ton init.
D'autre part il me semble que tu as inversé les colonnes et lignes dans l'init, il faut:
const int numRows = 2;
const int numCols = 16;
lcd.begin(numRows, numCols);// set up the LCD's number of rows and columns