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!
Tags:
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:
meu circuito:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por