Вы находитесь на странице: 1из 11

11/4/2018 ¿como controlar un invernadero inteligente?

Arduino Forum (https://forum.arduino.cc/index.php) > International (https://forum.arduino.cc/index.php#c6)

> Español (https://forum.arduino.cc/index.php?board=32.0) > Software (https://forum.arduino.cc/index.php?board=78.0)

> ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?topic=512494.0)

Go Down Pages: [1]


PRINT (HTTPS://FORUM.ARDUINO.CC/INDEX.PHP?ACTION=PRINTPAGE;TOPIC=512494.0)

Topic: ¿como controlar un invernadero inteligente? (Read 335 times)


rev_next=Prev#New) - Next Topic (Https://Forum.Arduino.Cc/Index.Php?Topic=512494.0;Prev_next=Next#New)

linasrs ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3493155#msg3493155)
.cc/index.php? Nov 20, 2017, 12:38 am (https://forum.arduino.cc/index.php?topic=512494.msg3493155#msg3493155)
action=profile;u=8683
67) hola, soy nuevo en esto de arduino. necesito ayuda con el codigo, me pone errores y no se
que es lo que esta mal.

#include <LiquidCrystal.h> //cargamos la libreria de la pantalla


LiquidCrystal lcd(12, 11, 0, 1, 10, 13); //Ponemos los pines de la pantalla
(https://forum.arduino.c #include "DHT.h" //cargamos la libreria DHT
c/index.php? #define DHTPIN 2 //Seleccionamos el pin en el que se conectara el sensor
action=profile;u=868367 #define DHTTYPE DHT22 //Se selecciona el DHT22(hay otros DHT)
) DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que sera usada por Arduino para
comunicarse con el sensor
Newbie #include <Servo.h>  // cargamos la libreria Servo
Servo myservo;  // create servo object to control a servo
Posts: 4
#define bomba 6 ///Seleccionamos el pin en el que se conectara la bomba
Karma: 0  [add] #define Calentador 4 ///Seleccionamos el pin en el que se conectara el calentador
(https://forum.arduino.c #define Ventilador 8 ///Seleccionamos el pin en el que se conectara el ventilador
c/index.php? #define Humidificador 7 ///Seleccionamos el pin en el que se conectara el humidificador
action=karma;sa=applau int HumSuelo; // Humedad del suelo
d;uid=868367;bf798082a int RefHumSuelo = 55; //Humedad de referencia del suelo
int TolSuelo = 10; // Tolerancia de la humedad del suelo
=6c5e9b9339f53c0dea8e
float TemInterior; //Temperatura interior
fd28a9927718)
int TolTemInterior =3;//Tolerancia temperatura interior
int RefTemInterior = 25; //Temperatura interior de referencia del aire
float HumAire; //Humedad del aire
int TolHumAire =10; //Tolerancia de la humedad del aire
int RefHumAire = 80; //Referencia humedad del aire interior
float TemExterior; //Temperatura exterior
int TolTemExterior =5;//Tolerancia temperatura exterior
https://forum.arduino.cc/index.php?topic=512494.0 1/11
11/4/2018 int RefTemExterior = 20; //Temperatura
¿como exterior
controlar un invernadero de referencia del aire
inteligente?

int ldr=0;//Variable de la ldr


int estado=0 ; // Definimos un estado para elegir cada caso
int menu = 0; //variable que controlara el menu pantalla lcd
void setup() {
lcd.begin(16, 2);//Se inicializa la pantalla lcd
pinMode(8, INPUT);// Pin que controlara el menu de la lcd
Serial.begin(9600); //Se inicia la comunicación serial
dht.begin(); //Se inicia el sensor
pinMode(Ventilador,OUTPUT);//Se declara el pin del rele que activa el ventilador
pinMode(bomba,OUTPUT);
pinMode(Humidificador,OUTPUT);
myservo.attach(5);  // attaches the servo on pin 5 to the servo object
pinMode(9, INPUT); //Sensor de lluvia
pinMode(Calentador, OUTPUT); //Se declara el pin del rele que activa el calentador
digitalWrite(Ventilador,HIGH);//Se pone el TODO a 0
digitalWrite(Calentador,HIGH);
digitalWrite(Humidificador,HIGH);
digitalWrite(bomba,HIGH);
myservo.write(0);
}
void loop() {
//Lecturas de sensores
TemExterior = ((((analogRead(A0)/1024.0)*5.0)-0.5)*100); //Lee la temperatura exterior
HumAire = dht.readHumidity(); //Se lee la humedad
TemInterior = dht.readTemperature(); //Se lee la temperatura interior
HumSuelo = analogRead(2); // Lee la humedad del suelo
HumSuelo= map(HumSuelo,0, 1023, 100, 0); //Convierte el valor analogico a un valor de
de 0 a 100, es decir, un porcentaje.
ldr = analogRead(A1);//Leer el valor de la ldr
ldr= map(ldr,0,1023,0,100);//Convertir el valor de la ldr
/*
//Para monitorizarlo por el puerto serie
Serial.println("Temperatura interior: ");
Serial.println(TemInterior);
Serial.println("Temperaturaexterior : ");
Serial.println(TemExterior);
Serial.println("Humedad: ");
Serial.println(HumAire);
Serial.print("Sensor de Humedad suelo:");
Serial.println(HumSuelo);
Serial.print("Valor LDR: ");
Serial.println(ldr);
Serial.print("estado: ");
Serial.println(estado);
*/
if(HumSuelo <= RefHumSuelo+TolSuelo && HumSuelo>= RefHumSuelo-TolSuelo){
 digitalWrite(bomba,HIGH);
}else{digitalWrite(bomba,LOW);}
if(digitalRead(9)== 1){myservo.write(0);}
if(TemInterior <= RefTemInterior-TolTemInterior){
https://forum.arduino.cc/index.php?topic=512494.0 2/11
11/4/2018  estado=1; ¿como controlar un invernadero inteligente?

}
if(TemInterior >= RefTemInterior+TolTemInterior){
 estado=2;

if(HumAire <= RefHumAire-TolHumAire){
 estado=3;
}
if(HumAire >= RefHumAire+TolHumAire){
 estado=4;
 }  

if(TemInterior <= RefTemInterior-TolTemInterior  && HumAire <= RefHumAire-


TolHumAire){
 estado=5;
 }
if(TemInterior <= RefTemInterior-TolTemInterior  && HumAire >=
RefHumAire+TolHumAire){
 estado=6;
 }
if(TemInterior >= RefTemInterior+TolTemInterior && HumAire <= RefHumAire-
TolHumAire){
 estado=7;
 }  
if(TemInterior >= RefTemInterior+TolTemInterior && HumAire >=
RefHumAire+TolHumAire){
 estado=8;
 }  
if( TemInterior >= RefTemInterior-TolTemInterior && TemInterior <=
RefTemInterior+TolTemInterior && HumAire >= RefHumAire-TolHumAire && HumAire <=
RefHumAire+TolHumAire)
 {estado=9;}
switch(estado){
case 0:
break;
case 1:
digitalWrite(Calentador,LOW); //Encender calentador
digitalWrite(Humidificador,HIGH);
digitalWrite(Ventilador,HIGH);
myservo.write(0);
break;
case 2:
digitalWrite(Humidificador,HIGH);
digitalWrite(Calentador,HIGH);
if(TemExterior<=TemInterior+TolTemExterior && digitalRead(9)== 1){
  myservo.write(180); //Abrir ventana
}
if(TemExterior<=TemInterior+TolTemExterior && digitalRead(9)== 0){
digitalWrite(Ventilador,LOW);//Encender ventilador
}
if(TemExterior>=TemInterior){
https://forum.arduino.cc/index.php?topic=512494.0 3/11
11/4/2018 digitalWrite(Ventilador,LOW);//Encender ventilador
¿como controlar un invernadero inteligente?

}
break;
 case 3:
digitalWrite(Ventilador,HIGH);
digitalWrite(Calentador,HIGH);
myservo.write(0);
digitalWrite(Humidificador,LOW);//Encender el humidificador
break;
case 4:
digitalWrite(Calentador,HIGH);
digitalWrite(Humidificador,HIGH);
myservo.write(0);
digitalWrite(Ventilador,LOW);//Encender ventilador
break;
case 5:
digitalWrite(Ventilador,HIGH);
myservo.write(0);
//Pin del calentador
digitalWrite(Calentador,LOW);
digitalWrite(Humidificador,LOW);//Encender el humidificador
break;
case 6:
digitalWrite(Humidificador,HIGH);
myservo.write(0);
//Pin del calentador
digitalWrite(Calentador,LOW);
digitalWrite(Ventilador,LOW);//Encender ventilador
break;
case 7:
digitalWrite(Calentador,HIGH);
digitalWrite(Humidificador,LOW);//Encender el humidificador
if(TemExterior<=TemInterior+TolTemExterior && digitalRead(9)== 1){
  myservo.write(180);
  digitalWrite(Ventilador,HIGH); //Abrir ventana
}
if(TemExterior<=TemInterior+TolTemExterior && digitalRead(9)== 0){
digitalWrite(Ventilador,LOW);//Encender ventilador
myservo.write(0);
}
if(TemExterior>=TemInterior){
digitalWrite(Ventilador,LOW);//Encender ventilador
myservo.write(0);
}
break;
case 8:
digitalWrite(Calentador,HIGH);
digitalWrite(Humidificador,HIGH);
if(TemExterior<=TemInterior+TolTemExterior && digitalRead(9)== 1){
  myservo.write(180); //Abrir ventana
  digitalWrite(Ventilador,LOW);//Encender ventilador
https://forum.arduino.cc/index.php?topic=512494.0 4/11
11/4/2018 } ¿como controlar un invernadero inteligente?

if(TemExterior<=TemInterior+TolTemExterior && digitalRead(9)== 0){


digitalWrite(Ventilador,LOW);//Encender ventilador
myservo.write(0);
}
if(TemExterior>=TemInterior){
digitalWrite(Ventilador,LOW);//Encender ventilador
myservo.write(0);
}
break;
case 9:
digitalWrite(Ventilador,HIGH);//Se pone el TODO a 0
digitalWrite(Calentador,HIGH);
digitalWrite(Humidificador,HIGH);
myservo.write(0);
break;
}
//Datos puerto serie labview
Serial.println(TemInterior);
Serial.println(HumAire);
Serial.println(HumSuelo);
Serial.println(ldr);
Serial.println(estado);
Serial.println(digitalRead(Ventilador));
Serial.println(digitalRead(Calentador));
Serial.println(digitalRead(bomba));
Serial.println(digitalRead(Humidificador));
RefTemInterior= Serial.read();
RefHumSuelo= Serial.read();
//Control de la pantalla lcd
/*if (digitalRead(3) == 1) {
  menu++;}
  if (menu > 4) {
    menu = 0;
 }
 switch (menu) {
  case 0:
    lcd.setCursor(0, 0);
    lcd.print("      Nico      ");
    lcd.setCursor(0, 1);
    lcd.print("Proyecto Arduino");
    break;
  case 1:
    ldr = analogRead(A1);//Leer el valor de la ldr
    ldr= map(ldr,0,1023,0,100);//Convertir el valor de la ldr
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Luminosidad");
    lcd.setCursor(0, 1);
    lcd.print(ldr);
    lcd.print(" %");
https://forum.arduino.cc/index.php?topic=512494.0 5/11
11/4/2018    break; ¿como controlar un invernadero inteligente?

  case 2:
   TemInterior = dht.readTemperature(); //Se lee la temperatura interior
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Temperatura");
    lcd.setCursor(0, 1);
    lcd.print(TemInterior);
    lcd.print(" *C");
  break;
case 3:
    HumAire = dht.readHumidity(); //Se lee la humedad
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Humedad Relativa");
    lcd.setCursor(0, 1);
    lcd.print(HumAire);
    lcd.print(" %");
  break;
  case 4:
    HumSuelo = analogRead(2); // Lee la humedad del suelo
    HumSuelo= map(HumSuelo,0, 1023, 100, 0); //Convierte el valor analogico a un valor de
de 0 a 100, es decir, un porcentaje.
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Humedad Suelo");
    lcd.setCursor(0, 1);
    lcd.print(HumAire);
    lcd.print(" %");
 break;
}*/
}

Swift Re: ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3493163#msg3493163)
Nov 20, 2017, 12:58 am (https://forum.arduino.cc/index.php?topic=512494.msg3493163#msg3493163) #1
.cc/index.php?
action=profile;u=7480
58) Que tipo de errores te pone? no encuentro ningún problema de compilación.

(https://forum.arduino.c
c/index.php?
action=profile;u=748058
)

Jr. Member
https://forum.arduino.cc/index.php?topic=512494.0 6/11
11/4/2018
Posts: 85 ¿como controlar un invernadero inteligente?

Karma: 5  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=748058;bf798082a
=6c5e9b9339f53c0dea8e
fd28a9927718)

linasrs Re: ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3493165#msg3493165)
Nov 20, 2017, 01:07 am (https://forum.arduino.cc/index.php?topic=512494.msg3493165#msg3493165) #2
.cc/index.php?
action=profile;u=8683
67) me pone este mensaje:

In file included from


C:\Users\Hogar\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.cpp:22:0:

(https://forum.arduino.c C:\Users\Hogar\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.h:25:29: fatal


c/index.php? error: Adafruit_Sensor.h: No such file or directory
action=profile;u=868367
)  #include <Adafruit_Sensor.h>

Newbie                              ^

Posts: 4
compilation terminated.
Karma: 0  [add]
(https://forum.arduino.c exit status 1
c/index.php? Error compilando para la tarjeta Arduino/Genuino Uno.
action=karma;sa=applau
d;uid=868367;bf798082a
=6c5e9b9339f53c0dea8e
fd28a9927718)

Swift Re: ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3493186#msg3493186)
Nov 20, 2017, 01:37 am (https://forum.arduino.cc/index.php?topic=512494.msg3493186#msg3493186) Last Edit: #3
.cc/index.php?
action=profile;u=7480 Nov 20, 2017, 06:40 am by Swift
58)
El error que presenta es que no encuentra la librería del sensor te adjunto la librería que
utilizo yo para el sensor dth22  
Libreria DHT_22 (https://drive.google.com/open?id=0B1ZIep4iFN2yNV9iVjVIbHBJNlk)

(https://forum.arduino.c
c/index.php?
action=profile;u=748058
)
https://forum.arduino.cc/index.php?topic=512494.0 7/11
11/4/2018 ¿como controlar un invernadero inteligente?

Jr. Member
Posts: 85
Karma: 5  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=748058;bf798082a
=6c5e9b9339f53c0dea8e
fd28a9927718)

linasrs Re: ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3493258#msg3493258)
Nov 20, 2017, 04:26 am (https://forum.arduino.cc/index.php?topic=512494.msg3493258#msg3493258) #4
.cc/index.php?
action=profile;u=8683
67) y solo con eso, funcionara?

(https://forum.arduino.c
c/index.php?
action=profile;u=868367
)

Newbie
Posts: 4
Karma: 0  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=868367;bf798082a
=6c5e9b9339f53c0dea8e
fd28a9927718)

Swift Re: ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3493301#msg3493301)
Nov 20, 2017, 06:46 am (https://forum.arduino.cc/index.php?topic=512494.msg3493301#msg3493301) #5
.cc/index.php?
action=profile;u=7480
58) Pues con la librería que falta podrias cargarle al arduino el programa que tienes, pero
como no posteas las conexiones ni como exactamente tiene que funcionar te tocaria
probar a ti una ves que este cargado y si no funciona como quieres debe tener algún error
en el código

(https://forum.arduino.c
c/index.php?
https://forum.arduino.cc/index.php?topic=512494.0 8/11
11/4/2018
action=profile;u=748058 ¿como controlar un invernadero inteligente?

Jr. Member
Posts: 85
Karma: 5  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=748058;bf798082a
=6c5e9b9339f53c0dea8e
fd28a9927718)

linasrs Re: ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3495850#msg3495850)
Nov 22, 2017, 05:40 am (https://forum.arduino.cc/index.php?topic=512494.msg3495850#msg3495850) #6
.cc/index.php?
action=profile;u=8683
67) oye, pero incluso agregando esa libreria no me lo compila...

OFILE%3ACORE+PROFILE%3APUBLIC+PROFILE%3ACONTACT+OFFLINE&RESPONSE_TYPE=CODE)

(https://forum.arduino.c
c/index.php?
action=profile;u=868367
)

Newbie
Posts: 4
Karma: 0  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=868367;bf798082a
=6c5e9b9339f53c0dea8e
fd28a9927718)

Swift Re: ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3495878#msg3495878)
Nov 22, 2017, 06:55 am (https://forum.arduino.cc/index.php?topic=512494.msg3495878#msg3495878) #7
.cc/index.php?
action=profile;u=7480
58) Pero si no subes el error no se puede saber cual es el problema

https://forum.arduino.cc/index.php?topic=512494.0 9/11
11/4/2018 ¿como controlar un invernadero inteligente?

(https://forum.arduino.c
c/index.php?
action=profile;u=748058
)

Jr. Member
Posts: 85
Karma: 5  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=748058;bf798082a
=6c5e9b9339f53c0dea8e
fd28a9927718)

surbyte Re: ¿como controlar un invernadero inteligente? (https://forum.arduino.cc/index.php?


(https://forum.arduino topic=512494.msg3496437#msg3496437) #8
.cc/index.php? Nov 22, 2017, 05:23 pm (https://forum.arduino.cc/index.php?topic=512494.msg3496437#msg3496437)
action=profile;u=23687
2) Te envié el primer dia un privado con esta guia para que edites.
Sigues respondiendo sin editar y sin usar las etiquetas.
Te acabo de enviar otro privado, presta atención al mismo!!
Lee las Normas del foro (http://forum.arduino.cc/index.php?topic=310951.0)
Luego ve a More (abajo a la derecha), click, luego Modify y estas en modo EDICION.
(https://forum.arduino.c Si tienes que editar un código -> Selecciona todo el código y click en </> arriba del
c/index.php? emoticon.
action=profile;u=236872) Si tienes que editar un enlace -> Selecciona el enlace. Copialo al portapapeles. Click en el
eslabón (ver abajo) y sigue los pasos que habras visto al leer las normas.  
Global Moderator
Brattain Member
Posts: 17,177
Karma: 898  [add]
(https://forum.arduino.c
c/index.php?
action=karma;sa=applau
d;uid=236872;bf798082a
=6c5e9b9339f53c0dea8e
fd28a9927718)
Antes de preguntar busca en
Google: Arduino tu_tema y
lee las normas del foro.

https://forum.arduino.cc/index.php?topic=512494.0 10/11
Go11/4/2018
Up Pages: [1] ¿como controlar un invernadero inteligente?
PRINT (HTTPS://FORUM.ARDUINO.CC/INDEX.PHP?ACTION=PRINTPAGE;TOPIC=512494.0)

Jump to:
===> Software   Go

NEWSLETTER

ENTER YOUR EMAIL TO SIGN UP SUBSCRIBE

Copyright Notice (//www.arduino.cc/en/Main/CopyrightNotice)


Contact Us (//www.arduino.cc/en/Main/ContactUs)
About Us (//www.arduino.cc/en/Main/AboutUs)
Careers (//www.arduino.cc/Careers)
© 2018 Arduino

(https://www.facebook.com/official.arduino)
(https://twitter.com/arduino)
(https://plus.google.com/+Arduino)
(https://www.instagram.com/arduino.cc/)
(https://github.com/arduino/)
(https://www.flickr.com/photos/arduino_cc)
(https://www.youtube.com/user/arduinoteam)

https://forum.arduino.cc/index.php?topic=512494.0 11/11

Вам также может понравиться