Oi, galera!

Estou montando um projetinho com arduíno Uno.

Basicamente quero medir a temperatura e a umidade de um ambiente fechado (uma caixa de acrílico, para ser mais exata) com o DHT11, e a partir desses valores, acionar um cooler. Por exemplo, quando a temperatura for acima de  23ºC, o cooler deve ser acionado. Assim como quando a umidade for acima de 60%, o cooler também deve ser acionado. Abaixo de 23ºC / 60% de umidade, o cooler permanece desligado. Lembrando que, essa é a primeira vez que utilizo o arduíno. Ah, observação importante: eu tenho dois coolers, um para ser "acionado pela temperatura" e o outro para ser "acionado pela umidade".

O programa do DHT11 (para medir a temperatura e a umidade) já tenho praticamente pronto. Minha dúvida é: como acionar o cooler a partir desses valores?

Se alguém puder me ajudar, agradeço muito!

Exibições: 1990

Anexos

Responder esta

Respostas a este tópico

Pra falar a verdade, tanto faz usar os dois coolers (um para cada), ou só um (para os dois). É que parece ser mais fácil usar um cooler para cada um, por isso adicionei essa informação. Só pra deixar claro, ok? haha

Posta o codigo que você tem com um diagrama do circuito

Isso é o que eu tenho até agora, a parte do cooler eu ainda não iniciei porque foi aonde tranquei :x Mas basicamente, além do que eu postei aqui abaixo, vou usar o cooler, um transistor e um diodo.

Programa:

//define a biblioteca

#include <dht11.h>

dht11 sensor;

//define o código de configuração (comando), que será executado apenas uma vez

void setup() {

  Serial.begin(9600);

}

//define o código principal, que estará dentro de um laço de repetição

void loop() {

  Serial.print("Lendo sensor: ");

//faz a leitura do sensor

  int chk = sensor.read(2);

  switch(chk) {

//caso o sensor consiga executar a leitura, imprime “OK” na tela

  case DHTLIB_OK:   

Serial.println("OK");

    break;

//caso o sensor não consiga executar a leitura, imprime “Erro no cheksum” na tela

  case DHTLIB_ERROR_CHECKSUM:

    Serial.println("Erro no cheksum");

    break;

//caso o sensor não conseguir executar a leitura, imprime “Tempo esgotado” na tela

  case DHTLIB_ERROR_TIMEOUT:

    Serial.println("Tempo esgotado");

    break;

//caso o sensor não consiga executar a leitura, e não reconhecer o tipo de erro, imprime “Erro desconhecido” na tela

  default:

    Serial.println("Erro desconhecido");

  }

//Leitura de umidade

  Serial.print("Umidade (%): ");

//Lê a umidade do ambiente e imprime na tela

  Serial.println((float)sensor.humidity, 2);

//Leitura de temperatura

  Serial.print("Temperatura (graus Celsius): ");

//Lê a temperatura do ambiente e imprime na tela

  Serial.println((float)sensor.temperature, 2);

  delay(2000);

~~~~~~~~

ligação típica:

ligação com o arduino:

meu circuito:

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço