Arduino Nano - Sensor de luz

Este tutorial explica cómo usar el sensor de luz con Arduino Nano. En detalle:

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Sensor de Luz
1×10 kΩ Resistor
1×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

El sensor de luz LDR es muy asequible, pero requiere una resistencia para el cableado, lo que puede hacer que la configuración sea más compleja. Para simplificar el cableado, puedes usar un módulo de sensor de luz LDR como alternativa.

Acerca del sensor de luz

El sensor de luz utilizado en este tutorial es una fotorresistencia, también conocida como fotocélula, resistencia dependiente de la luz, o LDR.

No solo se utiliza para detectar la luz, sino también para medir la cantidad de brillo o iluminación ambiental.

Esquema de pines del sensor de luz

Una fotorresistencia tiene dos pines que no es necesario distinguirlos, ya que es un tipo de resistencia y son simétricos.

Pinout del sensor de luz

Cómo funciona

La cantidad de luz a la que está expuesta la superficie de la fotorresistencia determinará su resistencia. Al medir esta resistencia, podemos medir la intensidad de la luz ambiental.

Cómo funciona el sensor de luz

WARNING

El valor del sensor de luz solo indica la intensidad de la luz y no es una medida exacta del flujo luminoso. Por lo tanto, solo debe usarse en aplicaciones que no requieren un alto grado de precisión.

Arduino Nano - Sensor de Luz

Los pines A0 a A7 del Arduino Nano pueden utilizarse como entradas analógicas. Estos pines de entrada analógica convierten la tensión (que va de 0 voltios a VCC) en valores enteros (de 0 a 1023), conocidos como valor ADC o valor analógico.

Conecta uno de los pines de la fotorresistencia a un pin de entrada analógica. Utiliza la función analogRead() para leer el valor analógico del pin. Esto nos permitirá determinar los niveles de luz de forma relativa.

Diagrama de Cableado

Diagrama de cableado del sensor de luz para Arduino Nano

This image is created using Fritzing. Click to enlarge image

Código de Arduino Nano

El código a continuación lee el valor de una fotocélula y determina el nivel de iluminación de forma cualitativa.

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-light-sensor */ void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { // reads the input on analog pin A0 (value between 0 and 1023) int analog_value = analogRead(A0); Serial.print("Analog reading: "); Serial.print(analog_value); // The raw analog reading // We'll have a few threshholds, qualitatively determined if (analog_value < 10) { Serial.println(" - Dark"); } else if (analog_value < 200) { Serial.println(" - Dim"); } else if (analog_value < 500) { Serial.println(" - Light"); } else if (analog_value < 800) { Serial.println(" - Bright"); } else { Serial.println(" - Very bright"); } delay(500); }

Pasos R\u00e1pidos

  • Copia el código y ábrelo con el IDE de Arduino.
  • Haz clic en el Subir botón del IDE para transferir el código al Arduino Nano.
  • Abre el Monitor Serial.
  • Ilumina el sensor.
  • Consulta el resultado en el Monitor Serial.
COM6
Send
Analog reading: 163 - Dim Analog reading: 152 - Dim Analog reading: 187 - Dim Analog reading: 188 - Dim Analog reading: 957 - Very bright Analog reading: 972 - Very bright Analog reading: 981 - Very bright
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Sensor de Luz y LED

  • Cuando esté oscuro, el código a continuación encenderá el LED. De lo contrario, el LED se apagará.
/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-light-sensor */ const int LIGHT_SENSOR_PIN = A0; // The Arduino Nano pin connected to light sensor's pin const int LED_PIN = 2; // The Arduino Nano pin connected to LED's pin const int ANALOG_THRESHOLD = 500; int analog_value; void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { analog_value = analogRead(LIGHT_SENSOR_PIN); // read the input on analog pin if(analog_value < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }
  • El diagrama de cableado para el código anterior:
Diagrama de cableado LED para sensor de luz con Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

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.

Rétate a ti mismo

  • Cuando la luz de tu habitación esté tenue, actívala automáticamente.
  • Consulte Arduino Nano - Relay para obtener más información.

※ 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!