Invernadero Inteligente con Arduino, en este pequeño Post les comparto los vídeos de la serie de mi canal sobre el Invernadero Inteligente con Techo Corredizo usando un Arduino, espero les sirva como guía para sus proyectos de Electrónica de su Colegio o Universidad.


A lo largo de esta publicación encontraran detalles sobre su construcción, planos y los enlaces al código de programación para el Arduino.

Vídeos del Invernadero Inteligente

Invernadero Inteligente Con Techo Corredizo usando Arduino


Estructura y Planos de Invernadero Inteligente con ARDUINO


Sensor Humedad YL-38 y Temperatura LM35 con Motores | ARDUINO Invernadero Inteligente


Sensor Temperatura LM35 en Invernadero Inteligente con Techo Corredizo | ARDUINO



Construcción Techo Corredizo Invernadero Inteligente con ARDUINO


Smart Greenhouse | Projects Industrial Automation SENA


PLANOS PARA CONSTRUCCIÓN DEL INVERNADERO INTELIGENTE (YO UTILICE ACRÍLICO)

Planos Invernadero Inteligente con Arduino


Se recomienda el uso de elementos de protección cuando empieces a construir la estructura del Invernadero Inteligente o Casa Inteligente, ya que se requerirá hacer cortes y perforaciones con herramientas rotatorias o Motor Tool.

Cubre muy bien tus Ojos, Manos, Cabello y Oídos para que no vayas a sufrir ningún tipo de accidente.

Si no tienes experiencia manejando este tipo de Herramientas pide la ayuda de algún experto o adulto responsable.

MATERIALES NECESARIOS PARA CONSTRUCCIÓN DE INVERNADERO INTELIGENTE

  • ARDUINO
  • Mini Protoboard
  • Motor de Unidad de CD o DVD
  • Correa dentada
  • Acrílico
  • Extractor de aire o ventilador pequeño
  • Sensor de Temperatura LM35
  • Sensor de Humedad YL-38
  • Finales de carrera
  • Cables
  • Pegamento
  • Tornillos

A continuación les comparto el Código para programar el Arduino y una Simulación que les puede servir de guía mas abajo.


//Código ARDUINO INVERNADERO:
//Alex7 Tutoriales
int dato1;
int dato2;
float voltios;
float temperaturaC;
int alarma=7;
int ventilador=9;
int pin1Motor=6;
int pin2Motor=5;
int finalCarrera1=4;
int finalCarrera2=3;

void ControlAlarma()
{
  if(temperaturaC<36 && dato2>850)
  {
  digitalWrite(alarma,LOW);
  } 
  
  if(temperaturaC>=36 || dato2<=850)
  {
    digitalWrite(alarma,HIGH);
  }

}

void ControlTecho()
{ 
  if(temperaturaC>=36 && temperaturaC<47 && dato2>850)
  {
   if(digitalRead(finalCarrera1)==HIGH && digitalRead(finalCarrera2)==LOW)
   {
     analogWrite(pin1Motor,70);
      analogWrite(pin2Motor,0);
      Serial.println(">> ABRIENDO");
      Serial.println("");
      delay(100);
    }
  
    if(digitalRead(finalCarrera1)==LOW && digitalRead(finalCarrera2)==HIGH)
    {
     analogWrite(pin1Motor,0);
     analogWrite(pin2Motor,0);
     Serial.println(">> Techo Abierto");
     Serial.println("");
     delay(100);
   }
  
  }
 
  if(temperaturaC>=36 && temperaturaC<47 && dato2<=850)
  {
   if(digitalRead(finalCarrera2)==HIGH)
   {
    analogWrite(pin1Motor,0);
    analogWrite(pin2Motor,70);
    Serial.println(">> CERRANDO");
    Serial.println("");
    delay(100);
   }
   if(digitalRead(finalCarrera1)==HIGH)
   {
    analogWrite(pin1Motor,0);
    analogWrite(pin2Motor,0);
    Serial.println(">> Techo Cerrado");
    Serial.println("");
    delay(100);
   }
    
  }

  if(temperaturaC<36 && dato2>850)
  {
   if(digitalRead(finalCarrera2)==HIGH)
   {
    analogWrite(pin1Motor,0);
    analogWrite(pin2Motor,70);
    Serial.println(">> CERRANDO");
    Serial.println("");
    delay(100);
   }
   if(digitalRead(finalCarrera1)==HIGH)
   {
    analogWrite(pin1Motor,0);
    analogWrite(pin2Motor,0);
    Serial.println(">> Techo Cerrado");
    Serial.println("");
    delay(100);
   }
  }

   if(temperaturaC>47 && dato2<=850)
  {
   if(digitalRead(finalCarrera1)==HIGH)
   {
      analogWrite(pin1Motor,70);
      analogWrite(pin2Motor,0);
      Serial.println(">> ABRIENDO");
      Serial.println("");
      delay(100);
    }
  
    if(digitalRead(finalCarrera2)==HIGH)
    {
     analogWrite(pin1Motor,0);
     analogWrite(pin2Motor,0);
     Serial.println(">> Techo Abierto");
     Serial.println("");
     delay(100);
   }
  }
}

void ControlVentilador()
{
  if(temperaturaC>=36)
  {
    digitalWrite(ventilador,HIGH);
  }
  else
  {
    digitalWrite(ventilador,LOW);
  }
}

void setup() {
  Serial.begin(9600);
  pinMode(finalCarrera1,INPUT);
  pinMode(finalCarrera2,INPUT);
  pinMode(alarma,OUTPUT);
  pinMode(pin1Motor,OUTPUT);
  pinMode(pin2Motor,OUTPUT);
  pinMode(ventilador,OUTPUT);
}

void loop() {
  dato1 = analogRead(A0);
  voltios = (dato1 / 1023.0) * 5;
  temperaturaC = voltios / 10e-3; 
  Serial.print("TEMPERATURA : ");
  Serial.print(temperaturaC);
  Serial.println(" C");
  delay(100);
  
  Serial.println("");
  
  dato2 = analogRead(A1);
  Serial.print("HUMEDAD : ");
  Serial.println(dato2);
  delay(300);
  Serial.println("");

  ControlAlarma();
  ControlVentilador();
  ControlTecho();
}

Simulación en Tinkercad de Invernadero Inteligente con Arduino

Si no carga la simulación, la pueden abrir aquí: https://www.tinkercad.com/things/0JDHzVPLVm1



Bueno amigos espero les haya servido este proyecto para que construyan su Propio Invernadero Inteligente o Casa Inteligente con componentes Electrónicos como Arduino y los diferentes sensores utilizados. 
 Puedes añadirle más funcionalidades o sensores, el limite esta en tu imaginación y creatividad para darle más características a este proyecto. 

 Estés atento a mis otros vídeos del Canal donde empezare a hacer pequeñas aplicaciones de IoT (Internet of Things - Internet de las Cosas) con el modulo ESP8266 que se programa igual que un Arduino convencional para que puedas controlar lo que desees desde cualquier lugar del Mundo, ya sea desde tu Computador o Celular. 

 Si Aun no estas suscrito a mi canal te invito a te pases y te suscribas para más contenido :)