Datos extraños del sensor LDR de arduino

Recibo datos extraños de mi sensor LDR.

Sin cambios significativos en la luz, pasa constantemente de 0 a su valor máximo de 1023 y viceversa.

¿Cual podría ser el problema? ¿Es posible que mi sensor LDR esté roto?

Código:

int ldr = 0;             //analog pin to which LDR is connected
int ldr_value = 0;        //variable to store LDR values

void setup()
{
  Serial.begin(9600);   //start te serial monitor
}

void loop()
{
  ldr_value = analogRead(ldr);          //reads the LDR values
  Serial.println(ldr_value);                 //prints the LDR values to serial monitor
  delay(1000);                  //wait
}

Producción:

0
0
0
0
0
26
102
206
349
505
643
813
957
1023
1023
1023
964
821
633
434
249
83
0
0
0
0

etcétera

¿Puedes mostrar el esquema de cómo lo conectaste?
Como este communityofrobots.com/sites/default/files/images/u1/… Editar: No, eso no es cierto, perdí un cable. Estupido estupido estupido. ¡Gracias de cualquier manera!

Respuestas (1)

Esto sugiere que no lo conectó correctamente. Supondré que tiene su LDR conectado a tierra y la resistencia en serie que forma el divisor a Vcc. Si el valor es cero, eso significaría que la resistencia del LDR es menos de 1/1000 de la resistencia en serie. Eso es posible. Pero entonces el 1023 no es posible, porque eso significaría que la resistencia del LDR es mayor que 1000 veces la resistencia en serie, y los LDR no tienen un rango de > 1000 000 entre la resistencia clara y oscura.

Si tiene un multímetro, mida la resistencia a la luz y la oscuridad del LDR y elija una resistencia en serie entre esos valores. La resistencia en serie va entre Vcc y la entrada del ADC, la LDR entre la entrada del ADC y tierra.

editar
Dices que el pin no estaba conectado, y aun así tienes estas variaciones de entrada. Si los graficas, obtienes un seno perfecto:

ingrese la descripción de la imagen aquí

No es imposible que el ADC recogiera esto del ruido que irradia la red eléctrica. El seno es mucho más lento que la frecuencia de la red, pero ese es un artefacto que puede obtener con el submuestreo.

De hecho, perdí un cable, el puerto de entrada analógico estaba conectado a una fila vacía en mi protoboard.