Sensor de luz Arduino (ky-018)

El sensor de luminosidad de Arduino (ky-018) permite hacer que la luz se encienda automáticamente. La base de este módulo es un elemento semiconductor: una fotorresistencia. Vamos a ver cómo conectar correctamente el sensor de luz a la placa Arduino (LDR Arduino) y a desglosar dos sencillos programas para utilizar las entradas digitales y analógicas del microcontrolador para encender automáticamente el LED.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • sensor de luminosidad ky-018;
  • placa de pruebas;
  • LEDs y resistencias de 220 Ohm;
  • cables de conexion.

Funcionamiento del sensor de luz Arduino

El sensor de luz Arduino datasheet
El sensor de luz Arduino ky-018 (datasheet)

El sensor de luz está disponible en dos versiones: con trimmer (sensor ky-018 digital) y sin trimmer (sensor ky-018 analógico). Ambas versiones tienen tres pines para conectar con Arduino Nano o Uno. Dos pines se utilizan para alimentar el sensor – 5V y GND, mientras que el tercer pin emite una señal analógica (marcada S) o digital (marcada D0) y se conecta a los respectivos puertos del microcontrolador Arduino Uno (Nano).

El módulo de luz (ky-018) se basa en una fotorresistencia normal, así que si no tienes el sensor de luz del kit de inicio, puedes construir un simpleú mismo e circuito divisor de tensión con una fotorresistencia y conectarlo al microcontrolador – conecta la fotorresistencia al Arduino (LDR). La diferencia es que tendrás que reproducir el sencillo circuito del sensor montándolo tn una protoboard y Arduino Uno.

Cómo conectar el sensor de luz Arduino

Conectar un sensor de luz Arduino analógico
Cómo conectar un sensor de luz Arduino ky-018 analógico

La imagen muestra el esquema de conexión de un sensor de luz a un Arduino mediante una señal analógica. El módulo se alimenta de 5 voltios y la tensión varía de 0 a 5 voltios en la salida del módulo ky-018 (S) en función de la luz ambiental de la habitación. Cuando esta señal se aplica a la entrada analógica del microcontrolador, el Arduino convierte la señal mediante un convertidor analógico-digital (ADC) a un rango de valores de 0 a 1023.

Programa Arduino sensor de luz analógico

void setup() {
   pinMode(A1, INPUT);
   analogWrite(A1, LOW);
   pinMode(9, OUTPUT);

   Serial.begin(9600);
}

void loop() {
   int light = analogRead(A1);
   Serial.print("Light = ");
   Serial.println(light);

   if (light > 100) { digitalWrite (9, LOW); }
   if (light < 100) { digitalWrite (9, HIGH); }
  
}

Explicación del código sensor de luminosidad Arduino analógico:

  1. en el ejemplo, enviamos los datos del sensor de luz convertidos por el convertidor analógico-digital (ADC) del Arduino al puerto serie;
  2. para saber la tensión que entra en la entrada, multiplique el valor resultante por 0,0048.
Cómo conectar un sensor de luz Arduino ky-018 digital
Cómo conectar un sensor de luz Arduino ky-018 digital

El siguiente programa utiliza la señal digital del sensor de luz de fotorresistencia. El módulo ky-018 dispone de una resistencia de ajuste para configurar la sensibilidad. En otras palabras, puedes establecer el nivel de iluminación necesario para que el módulo envíe una señal verdadera (una lógica) al microcontrolador Arduino Uno. Conecta el LED al pin 12 (como se muestra en la imagen anterior) y carga el siguiente programa.

Programa Arduino sensor de luz digital

void setup() {
   pinMode(9, OUTPUT);
   pinMode(2, INPUT);

   Serial.begin(9600);
}

void loop() {
   Serial.print("Signal - ");
   Serial.println(digitalRead(2));

   if (digitalRead(2) == HIGH) { digitalWrite (9, LOW); }
   if (digitalRead(2) == LOW) { digitalWrite (9, HIGH); }
}

Explicación del código sensor de luminosidad Arduino digital:

  1. el bucle void loop del ejemplo utiliza la sentencia condicional if para encender y apagar el LED conectado al pin 12 del Arduino;
  2. utilizar un trimmer para ajustar la sensibilidad del módulo.

Conclusión. El módulo ky-018 Arduino sensor de luz está compuesto por una fotorresistencia o LDR (Light Dependent Resistor) y un amplificador operacional LM358. La resistencia de una fotorresistencia no varía linealmente con la cantidad de luz detectada. La nueva versión del módulo sensor de luz tiene un fototransistor, la salida del módulo sigue variando de 0 a 5V pero la curva de salida de este módulo es lineal.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *