La base para un sistema de control donde un ventilador de encendido automático por temperatura se encarga de mantener un ambiente fresco, eliminando el calor automáticamente cuando este supere los niveles establecidos por el usuario.
En este post se explica cómo controlar el encendido y apagado de un ventilador de forma automática, mediante Arduino UNO y un sensor DTH11, el cual registra datos de temperatura y humedad.
En este blog ya antes se había hablado de este sensor:
Para esta experiencia se utilizará solamente datos de temperatura.
Para llevar a cabo la experiencia utilizaremos los siguientes materiales:
Batería de 9 V | Ventilador de 12 V |
2 leds (verde y rojo) | 2 resistencias de 330 Ω |
1 resistencia de 1k Ω | Un Arduino UNO |
Transistor C2073 | Sensor DTH11 |
Jumpers | Protoboard |
Resulta que el ventilador que se va a utilizar utiliza para su funcionamiento 12 voltios y consume 140 mA. Arduino solamente puede proporcionar 5 voltios y 40 mA, por lo que es necesario utilizar un dispositivo de control para Arduino, en este caso, un transistor NPN del cual ya se ha hablado antes:
Veamos las conexiones que se deben hacer:
LED1=Rojo LED2= Verde
R1= 330 Ω R2= 330 Ω R3= 1k Ω
Cabe resaltar que utilizamos un motor para realizar una representación del ventilador.
Ahora vamos a la programación. Abrimos Arduino IDE y copiamos las siguientes instrucciones:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); int Temp=32; //Parámetro de encendido de ventilador void setup() { Serial.begin(9600); dht.begin(); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); } void loop() { float t = dht.readTemperature(); //Serial.println("Temperatura: "); Se imprimen las variables //Serial.println(t); Quitar comentarios si desea imprimir la temperatura if (t >=Temp){ digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); } if(t < Temp){ digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,HIGH); } delay(3000); } |
Estas instrucciones nos permiten utilizar el sensor DTH11, para registrar datos de temperatura, Los parámetros que se establezcan harán posible que se controle el funcionamiento del ventilador.
El sensor registra la temperatura cada 3 segundos. Si la temperatura es mayor o igual a 32 °C el led rojo se enciende en señal de alerta y el ventilador empieza a funcionar de manera automática. De otro modo si la temperatura registrada es menor de 32 °C el led verde se enciende indicando que la temperatura es la adecuada en ese momento.
A continuación algunas imágenes del circuito armado en un protoboard:
Espero que esta información sea de gran utilidad para ustedes.
Saludos.
hola soy nuevo en esto y necesito ayuda
mi intencion es que con las variables de humedad(dht11) necesito hacer funcionar un puente h para inversion de giro
la idea es abrir el techo del invernadero cuando la h aumenta y luego cerrarlo
pero mi problema es que el motor siempre gira igual y no frena nunca(empieza a funcionaar al conectar la fuente)y si mido tension de los pines una siempre esta en 0 y la otra varia entre2 y 5v
Buen aporte pero una pregunta si yo quisiera implementar esta misma lógica pero para un aire acondicionado como seria
BUEN TRABAJO
el circuito no me funcina porque el sensor no lee temperatura.Sin embargo yo creo que es porque el transisitor eno es el correcto.Pueede funcionar el circuito sin transisitor y s no que otro transisitores puedo utlizar que no sean el c2073 que es muy dificil de encontrar….porfavorrr ayuda es muy urgente
Cualquier NPN funciona, siempre y cuando soporte la corriente del motor. Mira este articulo: https://panamahitek.com/el-arte-de-escoger-un-buen-transistor/
buenas noches con un sensor de lluvia como le haria para que , al momento que la detecte el motor se prenda y empieze a girar para asi poder abrir una ventana
Lógica condicional
me pueden ayudar a crear un regulador ambiental con 2 dht11 que al detectar que dht A – dht B =>3° prenda un circuito de ventiladores
dht A – dht B = int diferencia (?
el arduino hace que si pasa los «35°» se prenda el ventilador ,se puede hacer que si llega a los «30°»un suponer se prenda por ej un calentador hasta llegar a los 35° ? no se si me explico .en pocas palabras la temperatura ideal seria ej 35° si llega a 40° se prenda el ventilador y si llega a 30° se prenda algo que haga calentar
Sí lo puedes hacer
me podria ayudar con 2 ventiladores de 12v controlados por sensor de temperatura LM35DZ
para que uno encienda de 15 centigrados celcius a 25 y el otro encienda apartir de 27 centigrados celcius a 37.
es para un proyecto de escolar.
se lo agradeceria mucho.
Lo que describes no tiene mayor grado de complicación. Tu sólo podrías hacerlo
en este montaje, las rpm del ventilador estan en funcion con la temperatura,, es decir, a mayor temperatura mayor velocidad y viceversa??,,,,, y si no es asi,,, que codigo se utilizaria para que funcionaria linalmente,, gracioas
El sistema solo funciona en encendido y apagado. Si quieres variar la velocidad del ventilador tendrás que usar PWM a través de un transistor, ya sea BJT o MOSFET
Hola una consulta se puede anexar un sensor de humedad de tierra para comandar una bombita de riego de 12v? Y otra de las cosas en vez de usar una bateria de 9 no se puede puentear del jak de alimentacion del arduino o de un trafo y comamdarlo del negativo con arduino? Espero si respuesta dejo un correo si pudieran pasarme el esquema de soft y de hard [email protected]
Sí se puede construir
Hola, quisiera sabre a que se debe el error que marca el codigo
Gente!!!!
El error es simple, en la compilación falta una librería que es la del sensor de humedad y temperatura DHT11, adjunto el archivo de descarga para que el proyecto funcione:
https://drive.google.com/file/d/0B8xtMFpL-ixBZ0QtWldxMTZVUFE/view
La descargan y no la extraen, van a Arduino y en «Programas» ponen «Añadir Libreria.zip» y buscan el directorio en donde se descargó y así se podrá compilar y subir a la placa.
Saludos!!
PD: Estuve como weon buscando este error y lo encontré de forma inusual navegando por Youtube y lo comparto con ustedes:)
Diccionario Chileno: Weon= Estupido, Tonto, Imbécil
pero como se inclyutye,, coloco include librerira y sale igual etrror
error compilado
sketch_jun08a.ino:1:18: fatal error: DHT.h: No existe el archivo o el directorio
compilation terminated.
me sale el mismo error
#include expects «FILENAME» or
Recomiendo un transistor BJT
sale que el código tiene un error, sale:
exit status 1
#include expects «FILENAME» or
igual a mi