Problema con mi lcd 16x2 (me salen caracteres raros)

Hola buenas, soy un novato en esto de arduino y estoy programando las cosas basicas que te vienen en el libro de proyectos del arduino, resulta que acabo de llegar a este de la pantalla y cuando termino de programarlo solo me saltan caracteres raros que no hay DIOS que entienda, este es el codigo a ver si me echais una mano

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


const int switchPin = 6;
int switchState = 0;
int prevSwitchState = 0;
int reply;

void setup() {

  lcd.begin(16, 2);
  pinMode(switchPin, INPUT);


  lcd.print("Que dice");


  lcd.setCursor(0, 1);
  lcd.print("la bola");

}

void loop() {


  switchState = digitalRead(switchPin);


  if (switchState != prevSwitchState) {
    if (switchState == LOW) {
      reply = random(8);

      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("la bola dice:");
      lcd.setCursor(0, 1);


      switch (reply) {
        case 0:
          lcd.print("Si");
          break;
        case 1:
          lcd.print("Probablemente");
          break;
        case 2:
          lcd.print("Desde luego");
          break;
        case 3:
          lcd.print("Tiene buena pinta");
          break;
        case 4:
          lcd.print("No estoy segura");
          break;
        case 5:
          lcd.print("Vuelve a preguntar");
          break;
        case 6:
          lcd.print("Tengo dudas");
          break;
        case 7:
          lcd.print("No");
          break;
      }
    }
  }
  prevSwitchState = switchState;
}

PD: El cableado esta igual que dice el libro (al igual que el programa).

Has probado un simple "Hello world" y dime que funciona?

TemasTurbas:
PD: El cableado esta igual que dice el libro (al igual que el programa).

Hola,

Pues si todo esta igual, tiene que funcionar.

Por favor revisa el cableado, que el pin RW este a masa, que RS lo tengas en el pin 12, que E en el pin 11, que los pines de datos estén en su sitio d4 en pin 5, d5 en pin 4, de 6 pin 3 y d7 pin 2. Que el display lo alimentes con 5V si es de 5 o con 3.3V si es de 3.3.
Creo que no se me olvida nada.

te recomiendo probar con otro lcd o puedes checar tus conexiones, ya que a mi me pasaba lo mismo