// Arduino - Sensor DHT - Umidade e Temperatura // https://blog.eletrogate.com/ // Adafruit Unified Sensor Library: https://github.com/adafruit/Adafruit_Sensor #include // Biblioteca DHT Sensor Adafruit #include #include #include #include #define col 16 #define lin 2 #define ende MUDE ISSO AQUI LiquidCrystal_12C lcd(ende,col,lin); // selecione um sensor, retirando o comentário - duas barras #define DHTTYPE DHT11 // Sensor DHT11 //#define DHTTYPE DHT22 // Sensor DHT22 ou AM2302 #define DHTPIN 2 // Pino do Arduino conectado no Sensor(Data) DHT_Unified dht(DHTPIN, DHTTYPE); // configurando o Sensor DHT - pino e tipo uint32_t delayMS; // variável para atraso no tempo void setup() { pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(7,OUTPUT); Serial.begin(9600); // monitor serial 9600 bps dht.begin(); // inicializa a função Serial.println("Usando o Sensor DHT"); sensor_t sensor; dht.temperature().getSensor(&sensor); // imprime os detalhes do Sensor de Temperatura Serial.println("------------------------------------"); Serial.println("Temperatura"); Serial.print ("Sensor: "); Serial.println(sensor.name); Serial.print ("Valor max: "); Serial.print(sensor.max_value); Serial.println(" *C"); Serial.print ("Valor min: "); Serial.print(sensor.min_value); Serial.println(" *C"); Serial.print ("Resolucao: "); Serial.print(sensor.resolution); Serial.println(" *C"); Serial.println("------------------------------------"); dht.humidity().getSensor(&sensor); // imprime os detalhes do Sensor de Umidade Serial.println("------------------------------------"); Serial.println("Umidade"); Serial.print ("Sensor: "); Serial.println(sensor.name); Serial.print ("Valor max: "); Serial.print(sensor.max_value); Serial.println("%"); Serial.print ("Valor min: "); Serial.print(sensor.min_value); Serial.println("%"); Serial.print ("Resolucao: "); Serial.print(sensor.resolution); Serial.println("%"); Serial.println("------------------------------------"); delayMS = sensor.min_delay / 1000; // define o atraso entre as leituras lcd.ini(); lcd.backlight(); lcd.clear() } void loop() { delay(delayMS); // atraso entre as medições sensors_event_t event; // inicializa o evento da Temperatura dht.temperature().getEvent(&event); // faz a leitura da Temperatura if (isnan(event.temperature)) // se algum erro na leitura { Serial.println("Erro na leitura da Temperatura!"); } else // senão { Serial.print("Temperatura: "); // imprime a Temperatura Serial.print(event.temperature); Serial.println(" *C"); lcd.setCursor(1,0); lcd.print("Temperatura:"); lcd.print(event.temperature); lcd.print(" *C"); } dht.humidity().getEvent(&event); // faz a leitura de umidade if (isnan(event.relative_humidity)) // se algum erro na leitura { Serial.println("Erro na leitura da Umidade!"); } else // senão { Serial.print("Umidade: "); // imprime a Umidade Serial.print(event.relative_humidity); Serial.println("%"); lcd.print(" Humidade:"); lcd.print(event.relative_humidity); lcd.print("%"); } digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); if(event.relative_humidity>=40 && event.relative_humidity<=60) { digitalWrite(3,HIGH); digitalWrite(7,LOW); } if((event.relative_humidity>=20 && event.relative_humidity<40) || (event.relative_humidity>60 && event.relative_humidity<80)) { digitalWrite(4,HIGH); digitalWrite(7,HIGH); } if(event.relative_humidity <20 || event.relative_humidity>80) { digitalWrite(5,HIGH); digitalWrite(7,HIGH); } delay(3000); lcd.clear(); }