HD44780 20x4 issue (showing all squares)

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). :frowning: