Arduino UNO R4 - Módulo LDR

Este tutorial explica cómo usar un Arduino UNO R4 y un sensor de luz LDR para verificar y medir los niveles de luz. Aprenderemos lo siguiente en detalle:

Módulo de sensor de luz LDR para Arduino UNO R4

Acerca del módulo de sensor de luz LDR

El módulo de sensor de luz LDR se puede usar para detectar la luz o medir los niveles de luz a su alrededor. Ofrece dos opciones: una salida digital y una salida analógica.

Diagrama de pines

El módulo de sensor de luz LDR tiene cuatro pines:

  • Pin VCC: Conecte este pin a VCC (3.3V a 5V).
  • Pin GND: Conecte este pin a GND (0V).
  • Pin DO: Esta es una salida digital. Muestra ALTO cuando está oscuro y BAJO cuando hay luz. Puede cambiar el nivel de oscuridad y luminosidad ajustando el potenciómetro.
  • Pin AO: Esta es una salida analógica. El valor de salida baja cuando está más brillante y sube cuando está más oscuro.
Pinout del módulo de sensor de luz LDR
image source: diyables.io

También tiene dos luces LED:

  • Un indicador PWR-LED indica cuándo la alimentación está encendida.
  • Un indicador DO-LED muestra el estado de la luz en el pin DO: se ilumina ante la presencia de luz y se apaga en la oscuridad.

Cómo funciona

Para el pin DO:

  • El módulo tiene un potenciómetro para ajustar el umbral de luz.
  • Si el nivel de luz ambiental es mayor que el umbral establecido con el potenciómetro, el pin de salida del sensor (DO) está en bajo, y el DO-LED (una pequeña luz en el módulo) está apagado.
  • Si el nivel de luz ambiental es menor que el umbral, el pin de salida del sensor (DO) está en alto, y el DO-LED está encendido.

Para el pin AO:

  • El pin AO ofrece una lectura que cambia con el nivel de luz.
  • Cuando hay mucha luz, la lectura del pin AO es menor.
  • Cuando está más oscuro, la lectura del pin AO es mayor.
  • El potenciómetro no afecta el valor del pin AO. Solo cambia el umbral para el pin DO.

De esta manera, puedes ajustar la sensibilidad con el potenciómetro para el pin DO, mientras sigues obteniendo lecturas precisas del nivel de luz desde el pin AO.

Diagrama de Cableado

El módulo de sensor de luz tiene dos salidas. Puedes usar una o ambas, según tus necesidades.

Diagrama de cableado del módulo de sensor de luz LDR para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Código Arduino UNO R4 - Leer valor desde el pin DO

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-ldr-module */ #define DO_PIN 2 // The Arduino UNO R4 pin connected to DO pin of the ldr module void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int light_state = digitalRead(DO_PIN); if (light_state == HIGH) Serial.println("The light is NOT present"); else Serial.println("The light is present"); }

Pasos R\u00e1pidos

Siga estas instrucciones paso a paso:

  • Si es la primera vez que usa el Arduino Uno R4 WiFi/Minima, consulte el tutorial sobre configuración del entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecte el módulo de sensor de luz al Arduino Uno R4 de acuerdo con el diagrama proporcionado.
  • Conecte la placa Arduino Uno R4 a su computadora mediante un cable USB.
  • Inicie el IDE de Arduino en su computadora.
  • Seleccione la placa Arduino Uno R4 adecuada (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Copie el código anterior y ábralo en el IDE de Arduino.
  • Haga clic en el botón Subir en el IDE de Arduino para enviar el código al Arduino UNO R4.
  • Bloquee y desbloquee la luz del módulo de sensor LDR con su mano u otro objeto.
  • Revise los resultados en el Monitor Serial.
COM6
Send
The light is present The light is present The light is NOT present The light is NOT present The light is NOT present The light is present The light is present The light is present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Si ves que el LED permanece encendido todo el tiempo o está apagado incluso cuando hay luz, puedes girar el potenciómetro para ajustar la sensibilidad a la luz del sensor.

Ahora puedes ajustar el código para encender un LED o una luz cuando detecta luz, o para hacer que un servomotor gire. Para obtener más detalles y guías paso a paso, consulta los tutoriales al final de este documento.

Código de Arduino UNO R4 - Leer valor del pin AO

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-ldr-module */ #define AO_PIN A0 // The Arduino UNO R4 pin connected to AO pin of the ldr module void setup() { // initialize serial communication Serial.begin(9600); } void loop() { int light_value = analogRead(AO_PIN); Serial.println(light_value); }

Pasos R\u00e1pidos

Sigue estas instrucciones paso a paso:

  • Copia el código que ves arriba y ábrelo con el IDE de Arduino.
  • Presiona el botón Subir en el IDE de Arduino para transferir el código al Arduino UNO R4.
  • Bloquea y luego expón el módulo de sensor de luz LDR usando tu mano u otro objeto.
  • Verifica el Monitor Serial para ver el resultado.
COM6
Send
145 146 146 572 678 945 956 1001 1002 1012 1013 645 546 346 172
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de funciones

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!