Go Down

Topic: Arduino uno + Dht11 activar 2 relays Ajuda Pf (Read 3842 times) previous topic - next topic

luisilva

Bem, isso deve ficar assim:
Code: [Select]

#include "DHT.h"

#define DHTPIN A1 // pino que estamos conectado
#define DHTTYPE DHT11 // DHT 11

// Conecte pino 1 do sensor (esquerda) ao +5V
// Conecte pino 2 do sensor ao pino de dados definido em seu Arduino
// Conecte pino 4 do sensor ao GND
// Conecte o resistor de 10K entre pin 2 (dados)
// e ao pino 1 (VCC) do sensor
DHT dht(DHTPIN, DHTTYPE);

float tempMaxima1 = 32.0;
float tempMinima1 = 29.0;
float tempMaxima2 = 35.0;
float tempMinima2 = 32.0;
int delayRele2 = 4; // tempo em segundos entre ligar o primeiro relé e o segundo relé
int intervalo = 0;
int rele1 = 5;
int rele2 = 6;


void setup()
{
  Serial.begin(9600);
  dht.begin();
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
}

void loop()
{
  // A leitura da temperatura e umidade pode levar 250ms!
  // O atraso do sensor pode chegar a 2 segundos.
  float t = dht.readTemperature();
  float h = dht.readHumidity();

  // testa se retorno é valido, caso contrário algo está errado.
  if (isnan(t) || isnan(h))
  {
    Serial.println("Erro ao ler a temperatura do DHT");
  }
  else
  {
    Serial.print("Temperatura: ");
    Serial.print(t);
    Serial.println(" *C");

    if (t >= tempMaxima1){

      digitalWrite(rele1,HIGH);
    }

    else if( t < tempMinima1) {

      digitalWrite(rele1,LOW);
    }

    if (t >= tempMaxima2){

      digitalWrite(rele2,HIGH);
    }

    else if( t < tempMinima2) {

      digitalWrite(rele2,LOW);
    }
  }

}

luisilva

Essa parte dos pontos existe, só que como vocês não lêem as regras não sabem disso. Basta carregar no "[add]" junto ao "Karma" do lado esquerdo do post que acho útil.

Go Up