#define DHTPIN A1 #define DHTTYPE DHT11 #include "DHT.h" #include#include LiquidCrystal_I2C lcd(0x27,16,2); DHT dht(DHTPIN, DHTTYPE); const int pinoSensor = A0; const int pinoRele = 6; int ldr = A2; int val = 0; int valorLido; int analogSoloSeco = 400; int analogSoloMolhado = 150; int percSoloSeco = 0; int percSoloMolhado = 100; void setup() { Serial.begin(9600); Serial.println("DHT11 Test!"); dht.begin(); pinMode(A1,INPUT); lcd.init(); lcd.backlight(); pinMode(pinoRele, OUTPUT); digitalWrite(pinoRele, HIGH); pinMode(ldr, INPUT); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); valorLido = (analogRead(pinoSensor),analogSoloMolhado,analogSoloSeco); valorLido = map(valorLido,analogSoloMolhado,analogSoloSeco,percSoloMolhado,percSoloSeco); val = constrain(analogRead(ldr)); val = map(val, 0, 1023, 0, 100); if (isnan(t) || isnan(h)) { Serial.println("Failed to read from DHT"); } else { lcd.setCursor(1,0); lcd.print("Umidade:"); lcd.print(h); lcd.print("%"); lcd.setCursor(2,1); lcd.print("Temp: "); lcd.print(t); lcd.print("C"); delay(2000); lcd.clear(); lcd.setCursor(0,0); lcd.print("Umidade do Solo:"); lcd.setCursor(7,1); lcd.print(valorLido); lcd.print("%"); delay(2000); lcd.clear(); lcd.setCursor(3,0); lcd.print("Luminoside"); lcd.setCursor(7,1); lcd.print(val); lcd.print("%"); delay(2000); lcd.clear(); } if(valorLido <= 45) { Serial.println("Irriga��o Iniciada"); Serial.print(valorLido), Serial.println("%"); digitalWrite(pinoRele, HIGH); } else { Serial.print("Irriga��oo Finalizada"); Serial.print(valorLido), Serial.println("%"); digitalWrite(pinoRele, LOW); delay(1000); } }