Man i tried all the stuff above, i even connected the contrast pin to a digital out (pin 9) to select the voltage... like that:
void setup() {
pinMode(9, OUTPUT);
// set up the LCD's number of columns and rows:
lcd.begin(20, 4);
analogWrite(9, 145); //let's try...
// Print a message to the LCD.
lcd.print("hello, world!");
}
and the less value i put like
analogWrite(9, 20);
the bigger the contrast is. If i put analogWrite(9,200) i see like 0 contrast. But i can't see any data, only squares.
I think i burned something (like some driver, if there is any).