Introduction: Trabajo Final Automatización De Persianas Y Control De Luz RGB Con Arduino

En este proyecto, exploraremos cómo utilizar Arduino para automatizar el control de persianas basado en la temperatura y al mismo tiempo que controlamos la intensidad de una luz RGB y un sensor de Luz mientras más oscuro más luz hay. Esta automatización es útil para optimizar el confort y la eficiencia energética en un ambiente doméstico o de trabajo.

Supplies

Hardware:


  • Arduino Uno
  • Sensor de Luz (LDR)
  • Sensor de Temperatura LM35
  • Servo Motor
  • LED RGB
  • Resistencias y cables de conexión

Step 1:

Codigo y Programacion


  • En primer lugar, se debe incluir la biblioteca Servo.h en tu código de Arduino. Esta biblioteca es fundamental para controlar el servo motor y realizar movimientos precisos según la temperatura ambiente., la descargamos del mismo arduino y la implementamos.

#include <Servo.h>


  • Definimos los pines que se utilizará en el Arduino para cada componente. se asigna nombres descriptivos a los pines para facilitar la comprensión del código:


#define LDR A0

#define Rojo 13

#define Verde 12

#define Azul 11

#define TMP A1

#define SERVO 6


  • En la función setup(), se configura el pin del servo motor como salida utilizando la función servoMotor.attach() de la biblioteca Servo.h. para poder inicializar el servo.


  • Luego utilizamos la lectura de sensores asignando la función analogRead() para leer las lecturas analógicas de los sensores LDR y LM35 y para almacenar estos valores en variables para su posterior procesamiento


int valueLDR = analogRead(LDR);

int valueTMP = analogRead(TMP);


Procedemos a hacer el debido calculo de temperatura a grados celcius con la formula que nos enseñaron en clase

tempC = (5.0 * tempC * 100.0) / 1024.0 - 50; 


  • Luego controlamos la luz rgb y el sensor y le colocamos las variables y condiciones, si es que es el sensor es menor o igual a 517 la luz RGB se va a encender y si es mayor se van a apagar.


if (valueLDR <= 517) {

digitalWrite(Rojo, HIGH);

digitalWrite(Azul, HIGH);

digitalWrite(Verde, HIGH);

} else {

/ digitalWrite(Rojo, LOW);

digitalWrite(Azul, LOW);

  • digitalWrite(Verde, LOW);


  • Luego utilizamos el control del Servo el sensor TMP para controlar el ángulo del servo motor y la intensidad de movimiento

if (tempC > 30) {


servoMotor.write(180);

} else {


servoMotor.write(0);

}


  • Condicionamos la temperatura en valor a la angulación del Servo, cuando la temperatura es mayor a 30 grados el servo angula a 180 grados y abre completamente la persiana.


No olvidar las debidas configuraciones del serialprint, para obtewner los valores reales de los datos que muestran los sensores y corroborar la informacion:


Serial.print("Temperatura: ");

Serial.print(tempC);

Serial.println(" °C");


Serial.print("Luz Solar: ");

Serial.println(valueLDR);






Step 2:

El proyecto de automatización de persianas y control de luz RGB con Arduino ha demostrado ser eficaz en su respuesta a cambios en la intensidad de luz solar y la temperatura ambiente. Cuando la intensidad de luz disminuye, el sistema incrementa la luz RGB para compensar, manteniendo un nivel de iluminación adecuado en el entorno. Por otro lado, el control del servo motor ajusta automáticamente la posición de las persianas según la temperatura ambiente. A temperaturas más altas, las persianas se abren para permitir la entrada de aire fresco, mientras que a temperaturas más bajas se mantienen cerradas para conservar el calor.


Conclusiones y Aprendizajes:

  • Este proyecto ha demostrado la viabilidad y utilidad de la automatización basada en Arduino para controlar diversos aspectos ambientales como el control automático y adaptativo de la iluminación y la ventilación según las condiciones ambientales, la integración efectiva de sensores (LDR y LM35) y actuadores (servo motor y LED RGB) para lograr un funcionamiento coordinado.