Problemas con LCD 20x4 y Arduino Mega

Buenas, tengo un lcd 20x4 que compré aquí ( http://www.ebay.es/itm/291002285440?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649 ).

Lo he cableado correctamente ( es la tercera que pantalla que cableo, y he comprobado varias veces que este correctamente cableada), pero a la hora de mostrar el texto, no lo hace correctamente, lo hace con un brillo muy bajo, pero si no lo inicializo con lcd.begin(20,4) o quito el cable de vcc y lo vuelvo a conectar, los caracteres se muestran con un blanco brillante, el color que en teoria deberia tener los caracteres.

El problema es que es para mi proyecto fin de carrera de la universidad y me estoy volviendo loco para configurarlo. He probado a configurar un pin digital para encender y apagar la pantalla, este es el codigo:

  lcd.begin(20, 4);
  delay(1000);
  digitalWrite(pinOnScreen,HIGH);

Pero cuando hago esto, la pantalla me muestra caracteres extraños, como O,o,ö y ?. Pasa lo mismo cuando desconecto y conecto de nuevo la alimentacion a vcc.

En la primera imagen no se ven los caracteres porque estan muy oscuros, pero están ahí. En la segunda es despues de haber desconectado la alimentación y vuelto a conectar.

La ultima imagen corresponde a cuando he subido el código marcando como comentario la inicialización de la pantalla.

Os dejo un video donde se ve de lo que estoy hablando...

Espero que podais ayudarme, que es bastante importante.

Gracias y un saludo!

void respuesta() {
Hola, ¿no la habrás recibido defectuosa?; }

Fue fallo mio, habia puesto una resistencia de un valor distinto al que habia calculado para el pin V0

void respuesta() {
Me alegro de que hayas podido resolver el problema; }