En este tutorial veremos como crear un sistema regulador de temperatura automático, con arduino, un sensor DHT11, un cooler y otros elementos.
PCBWay Prototipo rápido de PCB (Sin valor extra para colores) https://www.pcbway.es/
Componentes y materiales para el proyecto
Diodo 1N4007
Principales características
- Tensión inversa de pico máximo: 1KV (VRRM)max
- Tensión máxima en un circuito rectificador de madia onda con carga capacitiva: 500 V (Vef)
- Rango de temperatura: – 65 ºC a +125 ºC
- Caída de tensión: 1,1 V (VF)max
- Corriente en sentido directo: 1 A (If)
- Corriente máxima de pico: 30 A (Ifsm)max
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
Arduino mini pro
Esta placa se desarrolló para aplicaciones e instalaciones donde el espacio es premium y los proyectos se realizan como configuraciones permanentes. Pequeño, disponible en versiones de 3.3 V y 5 V, alimentado por ATmega328
| Microcontroller | ATmega328 * |
| Board Power Supply | 3.35 -12 V (3.3V model) or 5 – 12 V (5V model) |
| Circuit Operating Voltage | 3.3V or 5V (depending on model) |
| Digital I/O Pins | 14 |
| PWM Pins | 6 |
| UART | 1 |
| SPI | 1 |
| I2C | 1 |
| Analog Input Pins | 6 |
| External Interrupts | 2 |
| DC Current per I/O Pin | 40 mA |
| Flash Memory | 32KB of which 2 KB used by bootloader * |
| SRAM | 2 KB * |
| EEPROM | 1 KB * |
| Clock Speed | 8 MHz (3.3V versions) or 16 MHz (5V versions) |
Buzer activo HW-508
El módulo KY-006 es un Zumbador y esta diseñado en en una pequeña placa PCB la cual cuenta con 3 pines de conexión para su fácil colocación.
- Voltaje de trabajo: 1.5V-15V.
- Frecuencia: 1.5-2.5kHZ.
Cooler
- Voltaje: 5 voltios
- Corriente de consumo: 0.2 A
Transistor 2N3904
Principales características
- Voltaje colector emisor en corte 40 V (Vceo)
- Corriente de colector constante 200m A (Ic)
- Potencia total disipada 625mW (Pd)
- Ganancia o hfe entre 30 -300 (hfe)
- Frecuencia de trabajo 300 Mhz (Ft)
- Encapsulado TO-92
- Estructura NPN
- Su complementario PNP es el Transistor 2N3906
Sensor de temperatura y humedad DHT11
Este módulo consta de un sensor digital de humedad y temperatura DHT11 y una resistencia de 1 kΩ. El DHT11 utiliza un termistor interno y un sensor de humedad capacitivo para determinar las condiciones ambientales, un chip interno es responsable de convertir las lecturas a una señal digital en serie.
| Tensión de funcionamiento | 3.3V a 5.5V |
| Rango de medición de humedad | 20% a 90% HR |
| Precisión de medición de humedad | ± 5% HR |
| Resolución de medición de humedad | 1% HR |
| Rango de medición de temperatura | 0ºC a 50ºC [32ºF a 122ºF] |
| Precisión de medición de temperatura | ± 2ºC |
| Resolución de medición de temperatura | 1ºC |
| Rango de transmisión de señal | 20m |
Display Oled SH1106
Características
Interface: I2C(3.3V / 5V logic level)
Resolution: 128 x 64
Angle of view: >160 degree
Display color: Blue
Display size: 1.3 inch
Driver IC: SH1106
Power supply: DC 3.3V~5V
Operating temperature: -20~70’C
Application: smart watch, MP3, thermometer, instruments, DIY projects, etc.
Protoboard
Resistor 1Kohm
FUENTE DE ALIMENTACIÓN DE PLACA DE PRUEBA DE 3.3V Y 5V
Esta práctica placa de fuente de alimentación de placa de 3.3V y 5V de YuRobot está diseñada para conectarse a un panel de placa de pruebas con 2 tiras de distribución.
Características y especificaciones
- Carga total máxima: 700 mA.
- Voltaje seleccionable de 5 V, 3,3 V o sin bus para ambos buses.
- Interruptor de encendido / apagado a bordo.
- Potencia de entrada del puerto USB A hembra o conector de alimentación de 5.5 / 2.5 mm.
- Rango de entrada 6.5-12VDC
Circuito
Código Fuente
|
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
// Control y visualizador de temperatura y humedad. #include "U8glib.h"//Librería para el control del display oled U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);// I2C / TWI // Se habilita esta linea según el display a usar en este caso el driver SH1106 #include <dht11.h> dht11 DHT; #define DHT11_PIN 4 const int led9 = 9; const int led13 = 13; int temperatura=0; int humedad=0; void setup(){ pinMode(led9, OUTPUT);//Configuración salida transistor/cooler pinMode(led13, OUTPUT);//Configuración salida buzzer Serial.begin(9600);//Velocidad para ver datos en el monitor serial } void loop(){ // Lectura de datos int datoTH; datoTH = DHT.read(DHT11_PIN); temperatura=DHT.temperature,1; humedad=DHT.humidity,1; //Comparar temperatura para encender o apagar alarma y cooler if(temperatura >= 30){ digitalWrite(led9, HIGH);//Activamos el cooler digitalWrite(led13, HIGH);//Activamos el buzzer } if(temperatura <= 29){ digitalWrite(led9, LOW);//Desactivamos el cooler digitalWrite(led13, LOW);//Desactivamos el buzzer } //Mostrando datos de temperatura y humedad en el terminal serial Serial.print("Temperatura: "); Serial.print(DHT.temperature,1); Serial.print(" Humedad: "); Serial.println(DHT.humidity,1); pantalla();//llama a la función "pantalla" para mostrar los datos en el display oled delay(1000); } //Mostra datos en en display void pantalla(){ u8g.firstPage(); do { draw();//Llama a la función draw } while( u8g.nextPage() ); // Reconstruye la imagen después de un tiempo delay(50); } void draw(void) { //Los comandos gráficos para volver a dibujar la pantalla completa deben colocarse aquí u8g.setFont(u8g_font_unifont); u8g.setPrintPos(0, 20); u8g.print("Temp:"); u8g.print(temperatura); u8g.print("^C"); u8g.setPrintPos(0, 40); u8g.print("Humd:"); u8g.print(humedad); u8g.print(" %"); } |
Librerías
U8glib<–Para el display Oled SH1106
dht11<–Para el sensor de temperatura y humedad DHT11
SUSCRIBETE A NUESTROS BOLETINES, RECIBE EN TU CORREO LAS NOTICIAS MÁS DESTACADAS, SÓLO INGRESANDO TU CORREO ELECTRÓNICO
[wysija_form id=”1″]
VIDEO RECOMENDADO













Un comentario en “Sistema regulador de temperatura automático con arduino”