#include #include #include LiquidCrystal_I2C lcd(0x27,16,2); DHT11 dht11(4); int solo=0; int psolo=0; int rele1=5; int ledG=6; int ledY=7; int ledR=8; int buzz=10; void setup() { pinMode(rele1,OUTPUT); pinMode(ledG,OUTPUT); pinMode(ledY,OUTPUT); pinMode(ledR,OUTPUT); lcd.init(); lcd.setBacklight(HIGH); lcd.clear(); Serial.begin (9600); Serial.println (); lcd.setCursor(0,0); lcd.print("I2C scanner. Procurando ..."); lcd.setCursor(0,1); lcd.print("Segunda linha"); } void loop() { solo=1024-analogRead(A0); psolo=solo*100/1024; Serial.print(solo); Serial.println(psolo); lcd.setCursor(0,0); lcd.print("Umidade: "+String(solo)); lcd.setCursor(0,1); lcd.print("% Um.: "+String(psolo)); delay(250); lcd.clear(); int umidade = dht11.readHumidity(); int temperatura = dht11.readTemperature(); if (umidade != DHT11::ERROR_CHECKSUM && umidade != DHT11::ERROR_TIMEOUT) { Serial.print("Umidade: "+String(umidade)+"%"); Serial.print("Temp.: "+String(temperatura)+".C"); Serial.println(" %"); } else { // Print error message based on the error code. Serial.println(DHT11::getErrorString(umidade)); } digitalWrite(rele1,LOW); digitalWrite(ledG,LOW); digitalWrite(ledY,LOW); digitalWrite(ledR,LOW); digitalWrite(buzz,LOW); if (psolo>0 && psolo<=40){ Serial.println("Liga irrigação"); digitalWrite(ledR,HIGH); digitalWrite(rele1,HIGH); digitalWrite(buzz,HIGH); } if (psolo>41 && psolo<=70){Serial.println("Média");digitalWrite(ledY,HIGH);} if (psolo>71){Serial.println("Umidade OK");digitalWrite(ledG,HIGH);} }