¿los pines analógicos hacen lecturas sin nada?

Hola, antes de nada dejar claro que soy muy muy novato en el mundo del Arduino, asi que posiblemente se trate solamente de algun tipo de error o falta de conocimiento tonto... pero mi problema es el siguiente:

Quiero programar un led en el pin13 para que se encienda en cuanto el pin A0 reciba cualquier voltaje superior a 0V. Este es el Sketch que he cargado:

const byte ledPin = 13;
const byte handPin = A0;

void setup() {

  Serial.begin(9600);
  pinMode (ledPin, OUTPUT);
  pinMode (handPin, INPUT);

}

void loop() {

  int value = analogRead(handPin);
  Serial.print ("Lectura : ");
  Serial.print (value);
  delay (1000); //para poder leer en el serial
  if (handPin > 0) {
    digitalWrite (ledPin, HIGH);
  }
  else  {
    digitalWrite (ledPin, LOW);
  }
}

La cosa es que el led esta constantemente encendido. Al mirar el Serial veo que toma lecturas de entre 270 y 310 constantemente... y eso es lo que no entiendo. En el pin A0 no tengo nada conectado, solo un cable con el final al aire. No deberia marcar 0??

Gracias por vuestra ayuda

cable al aire nunca!! cable con una resistencia de minimo 10K a gnd si. Y no leeras nada mas que algo alrededor de 0

Cuando la pones flotante, lee barbaridades.

En tu código si usas A0 como entrada analogica no la definas como entrada digital esto no

pinMode (handPin, INPUT);

Todo lo demas bien.

usa un potgenciometro de 10k con un extremo a 5V otro a GND y el cursor a la entrada A0 para probar lo que quieres.