Sensor LDR http://saber.patagoniatec.com/ldr-arduino-argentina-ptec/ Este artículo está copiado del link de arriba. Un LDR (Light Dependent Resistor) es una resistencia que varia su valor en función de la luz recibida, cuanta más luz recibe, menor es su resistencia. Está fabricado con un semiconductor de alta resistencia como puede ser el sulfuro de cadmio. Si la luz que incide en el dispositivo es de alta frecuencia, los fotones son absorbidos por la elasticidad del semiconductor dando a los electrones la suficiente energía para saltar la banda de conducción. El electrón libre que resulta (y su hueco asociado) conduce electricidad, de tal modo que disminuye la resistencia. Las células de sulfuro del cadmio se basan en la capacidad del cadmio de variar su resistencia según la cantidad de luz que incide la célula. Cuanto más luz incide, más baja es la resistencia. Las células son también capaces de reaccionar a una amplia gama de frecuencias, incluyendo infrarrojo (IR), luz visible, y ultravioleta (UV). En el LDR con el que trabajamos nosotros nos da una variación de 0,9Ω por cada LUX de variación, y el tiempo que tardar en cambiar su valor resistivo por cada 10 LUX es de 70ms cuando pasa de luz a oscuridad (aumento de resistencia) y de 15ms cuando pasa de oscuridad a luz (disminución de resistencia). De todas maneras, salvo que necesitemos una respuesta de variación extremadamente rápida y precisa, el LDR nos servirá para la mayoría de proyectos que vayamos a utilizar. Si utilizamos el LDR como resistencia inferior del divisor de tensión, nos dará la tensión máxima cuando tengamos el LDR en plena oscuridad, ya que estará oponiendo el máximo de su resistencia al paso de la corriente derivándose esta por Vout al completo, si lo utilizamos como resistencia superior, el resultado será el inverso, tendremos la tensión máxima cuando esté completamente iluminado, ya que se comportará prácticamente como un circuito abierto, con una resistencia de 50Ω o 100Ω. Programa int PinSensor = A0; int Valor; void setup() { Serial.begin(9600); } void loop() { Valor = analogRead(PinSensor); Serial.println(Valor); delay(500); } 1 El programa también está en el archivo ZIP que han bajado. 2