Advertisement
Guest User

jiojio

a guest
Apr 24th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <DHT.h>
  2. #include <Wire.h>
  3. #include <LiquidCrystal_I2C.h>
  4.  
  5. int sensorPin = 7;
  6. int relayHumi = 3;
  7. int relayExtractor = 5;
  8. int temp;
  9. int hum;
  10. int tempminima = 10;
  11. int tempmax = 30;
  12. int humedadmin = 40;
  13. int humedadmax= 70;
  14. int i = 0;
  15.  
  16. DHT dht (sensorPin, DHT22);
  17. LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  
  18.  
  19. void setup() {
  20.   Serial.begin(9600);
  21.   lcd.begin(20,4);
  22.   dht.begin();
  23.  
  24.   pinMode(relayHumi, OUTPUT);
  25.   pinMode(relayExtractor, OUTPUT);
  26. }
  27.  
  28.  
  29. void loop() {
  30.   ///////////////////////////////////////////////////
  31.   //LECTURA
  32.   //////////////////////////////////////////////////
  33.   int temperatura = getTemperature();
  34.   int humedad = getHumedad();
  35.  
  36.   int EstadoHumi = digitalRead(relayHumi);
  37.   int EstadoExtractor = digitalRead(relayExtractor);    
  38.   i = i + 1;
  39.   //////////////////////////////////////////////////
  40.   /////////////////////////////////////////////////
  41.   /////////////////////////////////////////////////
  42.  
  43.  
  44.  
  45.   //////////////////////////////////////////////////
  46.   // MOSTRAR EN LCD
  47.   /////////////////////////////////////////////////
  48.   lcd.setCursor(0,0);
  49.   lcd.print("Secuencia:");
  50.   lcd.print(i);
  51.  
  52.   lcd.setCursor(0,1);
  53.   lcd.print("Hum:");
  54.   lcd.print(humedad);
  55.   lcd.print("%");
  56.   lcd.print(" Temp:");
  57.   lcd.print(temperatura);
  58.   lcd.print(" C ");
  59.  
  60.  
  61.   lcd.setCursor(0,2);  
  62.   if (EstadoHumi == 0) {
  63.     lcd.print("Humi: ON");
  64.     } else {
  65.      lcd.print("Humi: OFF");
  66.       }
  67.  
  68.   lcd.setCursor(0,3);
  69.   if (EstadoExtractor == 0) {
  70.     lcd.println("Extr: ON");
  71.     } else {
  72.      lcd.println("Extr: OFF");
  73.       }
  74.      
  75.  //////////////////CONDICIONES///////////////////////////
  76.  /////////////////////////////////////////////////
  77.  /////////////////////////////////////////////////
  78.  
  79.  /////////////////--70--///////////////////--40--/////  
  80.   if (humedad < humedadmax && humedad > humedadmin){
  81.     powerOffAll();
  82.     delay(2000);
  83.    
  84.     } else if (humedad < humedadmin) {
  85.           powerOnHumi();
  86.           delay(2000);
  87.       } else if (humedad > humedadmax && temperatura > 20 ){
  88.               powerOffHumi();
  89.               delay(2000);
  90.               powerOnExtractor();  
  91.         }
  92.  
  93.        
  94.    if (temperatura < 20){
  95.     powerOffAll();
  96.     }  
  97.  
  98.   while (humedad == 0 && temperatura == 0){
  99.    
  100.     lcd.backlight();
  101.     delay(250);
  102.     lcd.noBacklight();
  103.     delay(250);
  104.     }
  105. }
  106.  
  107.  
  108. //////////////////FUNCIONES DE ENCENDIDO Y APAGADO///////////////////
  109. /*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////////
  110. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////////////////////*/
  111. void powerOffAll(){
  112.     digitalWrite(relayHumi, HIGH);
  113.     digitalWrite(relayExtractor, HIGH);
  114.  
  115.   }
  116.  
  117. void powerOnHumi(){
  118.   digitalWrite(relayHumi, LOW);
  119.  
  120.   }
  121.  
  122. void powerOffHumi(){
  123.   digitalWrite(relayHumi, HIGH);
  124.   }
  125.  
  126. void powerOnExtractor(){
  127.   digitalWrite(relayExtractor, LOW);
  128.   }  
  129.  
  130. void powerOffExtractor(){
  131.   digitalWrite(relayExtractor, HIGH);
  132.   }
  133.  
  134. //////////FUNCIONES PARA OBTENER DATOS DEL SENSOR///////////////////
  135. /*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////////
  136. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////////////////////*/
  137. int getTemperature(){
  138.     temp = dht.readTemperature();
  139.     delay(10000);
  140.     return temp;
  141.   }
  142.  
  143. int getHumedad(){
  144.   hum = dht.readHumidity();    
  145.   delay(10000);
  146.   return hum;  
  147.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement