Al mostrar valor de variable INT por LCD2004A salen caracteres raros SOLUCIONADO

Hola, tengo un LDR o fotorresistor y una pantalla LCD 2004A. El caso es que hago que el LDR funcione, y a través del monitor serie, sí que me aparece el valor que recoge el LDR, que varía dependiendo de la luz, pero cuando quiero que me lo muestre por la pantalla, en vez de aparecerme el mismo valor que aparece en el monitor serie, me aparecen caracteres raros... hasta letras que parecen chinas. No creo que sea de que esté mal conectado el LCD ya que el texto "Valor LDR = " sí que me aparece correctamente, es lo que tendría que venir después de ese texto lo que me aparece con el caracter raro...

¿¿¿ Porqué podría ser???

#include <LiquidCrystal.h>

LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);

int LDRPin = A0;
int valorLDR = 0;   
int M1_Izq = 52; //Direccion
int M1_Derecha = 50; //Direccion

 
void setup()
{
Serial.begin(9600);  
pinMode(M1_Izq, OUTPUT);
pinMode(M1_Derecha, OUTPUT);
pinMode(LDRPin, INPUT);
lcd.begin(20, 4);
} 
 
void loop()
{

  //Guardamos el valor leido en una variable
 valorLDR = analogRead(LDRPin);
 // Impresión de los valores leídos por el sensor por pantalla
[b]Serial.print("LDR = ");
Serial.println(valorLDR);[/b]
delay (10000);// tiempo de retardo


 if (valorLDR < 110){
   cerrar();} //Esta función es para CERRAR
 else{
   abrir();
   } //Esta función es para ABRIR
}

void cerrar() //Esta función es para CERRAR
{
  boolean inPin1 = LOW;
  boolean inPin2 = HIGH;
  digitalWrite(M1_Derecha, inPin2);
  digitalWrite(M1_Izq, inPin1);
  Serial.print("CERRANDO ");
  lcd.setCursor(0,0);
  lcd.write("LDR: ");
  lcd.setCursor(0,2);
  [b]lcd.write(valorLDR);[/b]
  lcd.setCursor(0,1);
  lcd.write("CERRANDO");
  
}

void abrir() //Esta función es para CERRAR
{
  boolean inPin2 = LOW;
  boolean inPin1 = HIGH;
  digitalWrite(M1_Derecha, inPin2);
  digitalWrite(M1_Izq, inPin1);
  Serial.print("ABRIENDO ");
  lcd.setCursor(0,0);
  lcd.write("LDR: ");
  lcd.setCursor(0,2);
 [b] lcd.write(valorLDR);[/b]
  lcd.setCursor(0,1);
  lcd.write("ABRIENDO");

}


void girar(int direccion)
{
  boolean inPin1 = LOW;
  boolean inPin2 = HIGH;

  if(direccion == 1){
    inPin1 = HIGH;
    inPin2 = LOW;
  }
    digitalWrite(M1_Izq, inPin1);
    digitalWrite(M1_Derecha, inPin2);
}

(SOL

Hola, ¿has probado con LCD.print?
Write envía byte si pones write(65) no imprime 65 su no la letra A.

Pefecto!! funcionó correctamente!!

Muchas gracias