Imaginá tener un sistema que prende o apaga la luz automáticamente según la luminosidad del entorno. Con este proyecto, vas a crear un control de luz automático que utiliza un sensor de luz (LDR) y un LED para demostrar cómo puede funcionar este sistema en tu hogar.

 

Materiales necesarios:

  • Ardunio UNO (u otro compatible)
  • LED (de cualquier color)
  • Resistencia de 220 ohmios (para el led)
  • LDR (resistor de luz)
  • Resistencia de 10k ohmios (Para el LDR)
  • Protoboard y cables de conexión

 

 

¡Conseguí los materiales!

 

Paso 1: Conexión de Hardware

LDR

  • Un terminal del LDR al pin A0 (analógico) del Arduino.
  • El otro terminal del LDR a VCC (5V).
  • Colocá una resistencia de 10k ohmios entre el pin A0 y GND (tierra).

 

LED

  • Conectá el ánodo (la pata más larga) del LED a un pin digital, por ejemplo, el pin 9.
  • Conectá el cátodo (la pata más corta) del LED a una resistencia de 220 ohmios y luego a GND.

 

Paso 2: Código Arduino

Para este proyecto no vas a necesitar instalar librerías adicionales de Arduino, ya que el código utiliza funciones básicas del sistema.

const int LDR_PIN = A0;   // Pin donde está conectado el LDR

const int LED_PIN = 9;   // Pin donde está conectado el LED

int sensorValue = 0;      // Variable para almacenar el valor del sensor

void setup() {

  pinMode(LED_PIN, OUTPUT); // Configura el pin del LED como salida

  Serial.begin(9600);       // Inicia la comunicación serial

}

void loop() {

  sensorValue = analogRead(LDR_PIN); // Lee el valor del LDR

  Serial.println(sensorValue);        // Muestra el valor en el monitor serial

  // Ajusta el umbral según tu entorno

  if (sensorValue < 500) { // Si la luz es baja

    digitalWrite(LED_PIN, HIGH); // Enciende el LED

  } else {

    digitalWrite(LED_PIN, LOW);  // Apaga el LED

  }

 

  delay(100); // Espera un poco antes de la próxima lectura

}

 

Paso 3: Explicación del código
  1. Constantes y Variables: Se definen los pines para el LDR y el LED, y se crea una variable para almacenar el valor del sensor.
  2. Función Setup: Se configura el pin del LED como salida y se inicia la comunicación serial para monitorear los valores.
  3. Función Loop: Se lee el valor del LDR. Si el valor es menor que 500 (puedes ajustar este umbral según el ambiente), se enciende el LED. De lo contrario, se apaga.

 

Paso 4: Subir el Código al Arduino

Conectá tu Arduino a la computadora, selecciona el puerto correspondiente en el IDE de Arduino y carga el código. Con el código cargado, el LED debería encenderse en condiciones de poca luz y apagarse en condiciones de luz adecuada. Podés ajustar el valor de 500 en el código para cambiar la sensibilidad del sistema.

Ajustes:

  • Podés cambiar la sensibilidad del encendido/apagado del LED según tus preferencias y/o necesidades.
  • Podés añadir nuevos LEDs y controlar su encendido según diferentes niveles de luz.
  • Incluir una Pantalla de cristal líquido para visualizar datos sin necesidad de usar el monitor serial

 

Un Plus: Control de luz automático con Pantalla de Cristal Líquido

Objetivo: No depender del monitor serial del IDE de arduino y poder visualizar la información en LCD Display (pantalla de cristal líquido)

Materiales adicionales:

  • Pantalla LCD 16×2 (con o sin módulo I2C)

 

Paso 1: Conexiones del Hardware

Pantalla LCD (con módulo I2C):

  • VCC: Conectar al pin de 5V del Arduino.
  • GND: Conectar al pin de GND del Arduino.
  • SDA: Conectar al pin A4 del Arduino.
  • SCL: Conectar al pin A5 del Arduino.

 

Paso 2: Instalación de Librerías

Asegúrate de tener instaladas las siguientes librerías en tu Arduino IDE:

  • LiquidCrystal.h: Para manejar la pantalla LCD.

 

Paso 3: Incorporar el código con modificaciones

#include <LiquidCrystal.h> // Librería para la pantalla LCD

const int LDR_PIN = A0;   // Pin donde está conectado el LDR

const int LED_PIN = 9;   // Pin donde está conectado el LED

int sensorValue = 0;      // Variable para almacenar el valor del sensor

// Configuración de la pantalla LCD

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Configura según tus conexiones

void setup() {

pinMode(LED_PIN, OUTPUT); // Configura el pin del LED como salida

lcd.begin(16, 2);         // Inicia la pantalla LCD con 16 columnas y 2 filas

Serial.begin(9600);       // Inicia la comunicación serial

}

void loop() {

sensorValue = analogRead(LDR_PIN); // Lee el valor del LDR

Serial.println(sensorValue);        // Muestra el valor en el monitor serial

// Ajusta el umbral según tu entorno

if (sensorValue < 500) { // Si la luz es baja

digitalWrite(LED_PIN, HIGH); // Enciende el LED

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(“Luz: Baja”);

} else {

digitalWrite(LED_PIN, LOW);  // Apaga el LED

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(“Luz: Alta”);

}

 

// Mostrar el valor del LDR en la pantalla LCD

lcd.setCursor(0, 1);

lcd.print(“Valor: “);

lcd.print(sensorValue);

 

delay(100); // Espera un poco antes de la próxima lectura

}

 

Paso 4: Explicación del Código
  1. Incluir Librerías: Se incluye la librería necesaria para manejar la pantalla LCD.
  2. Constantes y Variables: Se definen los pines para el LDR y el LED, así como una variable para almacenar el valor del sensor.
  3. Función setup(): Se configura el pin del LED como salida, se inicia la pantalla LCD y se inicia la comunicación serial.
  4. Función loop():
  • Se lee el valor del LDR.
  • Si el valor es menor que 500, se enciende el LED y se muestra “Luz: Baja” en la LCD. Si es mayor, se apaga el LED y se muestra “Luz: Alta”.
  • Se imprime el valor del LDR en la segunda línea de la pantalla LCD.

 

Paso 5: Subir el Código al Arduino

Conectá tu Arduino a la computadora, selecciona el puerto correspondiente en el IDE de Arduino y carga el código.

 

Paso 6: Pruebas y Ajustes

Con el código cargado, el LED debería encenderse en condiciones de poca luz y apagarse en condiciones de luz adecuada. La pantalla LCD va a mostrar el estado de la luz y el valor del LDR. Podés ajustar el valor de 500 en el código para cambiar la sensibilidad del sistema.

 

¿Qué Vas a Poder Hacer?

  • Controlar la iluminación automáticamente según la luminosidad.
  • Visualizar el estado de la luz y el valor del LDR en una pantalla LCD.

 

Ejemplos de Aplicación:

  • Hogar: Automatizar las luces en función de la luz natural.
  • Jardines: Controlar la iluminación en invernaderos o áreas de cultivo.

 

 


 

Encontrá en nuestra web todo lo que buscás para tus proyectos, desde componentes hasta kits completos. ¡Conseguí lo necesario para transformar tus ideas en realidad!

TP3D

No te pierdas nuestras próximas notas, donde vamos a presentar otros proyectos Arduino innovadores. ¡Seguí nuestras publicaciones y descubrí nuevas ideas cada semana!

Hasta la próxima.