Un Data Logger de temperatura y humedad con el sensor DHT11 y Arduino es un proyecto de electrónica que permite registrar y almacenar datos de temperatura y humedad en una tarjeta microSD para su posterior análisis. Este tipo de dispositivo es útil en aplicaciones como el monitoreo ambiental, la agricultura, la climatización y la investigación científica.
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
Componentes principales:
- Sensor DHT11: Este sensor es capaz de medir la temperatura y la humedad relativa del entorno y proporcionar valores digitales al Arduino.
- Arduino: Una placa de desarrollo Arduino actúa como el cerebro del sistema. Procesa los datos del sensor DHT11 y controla la escritura de los datos en la tarjeta microSD.
- Tarjeta microSD: Una tarjeta de memoria microSD se utiliza para almacenar los datos recopilados. Se conecta al Arduino a través de un módulo lector/escritor de tarjetas microSD.
- Módulo lector/escritor de tarjetas microSD: Este módulo se encarga de la comunicación entre el Arduino y la tarjeta microSD. Facilita la escritura y lectura de datos en la tarjeta.
- Fuente de alimentación: El Arduino suele ser alimentado mediante una fuente de alimentación externa o una batería, dependiendo de la aplicación y la duración deseada de la operación.
Funcionamiento:
El sensor DHT11 recopila datos de temperatura y humedad y los envía al Arduino a través de una conexión digital. El Arduino lee estos datos y los formatea para su escritura en la tarjeta microSD. Los datos se almacenan en un archivo en la tarjeta microSD, generalmente en formato CSV o similar para facilitar su posterior análisis. El dispositivo puede ser programado para tomar lecturas en intervalos regulares y registrarlas en la tarjeta.
Aplicaciones:
- Monitoreo ambiental en hogares, oficinas y almacenes.
- Seguimiento de condiciones climáticas en estaciones meteorológicas caseras.
- Control y registro de la humedad en cámaras de cultivo y terrarios.
- Registro de datos en proyectos de investigación científica.
- Supervisión de condiciones de almacenamiento en almacenes y laboratorios.
Este Data Logger es un ejemplo de proyecto de electrónica muy útil y educativo que combina sensores, microcontroladores y almacenamiento de datos para realizar un seguimiento preciso de la temperatura y la humedad en un entorno dado. Los datos almacenados pueden analizarse más tarde para tomar decisiones informadas o para investigaciones específicas.
Componentes electrónicos
Arduino mini pro
El Arduino Pro Mini es una placa de microcontrolador basada en el ATmega328 .
Tiene 14 pines de entrada / salida digital (de los cuales 6 se pueden usar como salidas PWM), 6 entradas analógicas, un resonador integrado, un botón de reinicio y orificios para montar encabezados de pines. Se puede conectar un encabezado de seis pines a un cable FTDI o una placa de conexión Sparkfun para proporcionar alimentación USB y comunicación a la placa.
El Arduino Pro Mini está diseñado para su instalación semipermanente en objetos o exposiciones. La placa viene sin encabezados pre montados, lo que permite el uso de varios tipos de conectores o la soldadura directa de cables. El diseño del pin es compatible con el Arduino Mini.
Hay dos versiones del Pro Mini. Uno corre a 3.3V y 8 MHz, el otro a 5V y 16 MHz.
Microcontrolador | ATmega328 * |
Fuente de alimentación de la placa | 3,35-12 V (modelo de 3,3 V) o 5-12 V (modelo de 5 V) |
Voltaje de funcionamiento del circuito | 3.3V o 5V (dependiendo del modelo) |
Pines de E / S digitales | 14 |
Pines PWM | 6 6 |
UART | 1 |
SPI | 1 |
I2C | 1 |
Pines de entrada analógica | 6 6 |
Interrupciones externas | 2 |
Corriente CC por pin de E / S | 40 mA |
Memoria flash | 32 KB de los cuales 2 KB utilizados por el gestor de arranque * |
SRAM | 2 KB * |
EEPROM | 1 KB * |
Velocidad de reloj | 8 MHz (versiones de 3.3V) o 16 MHz (versiones de 5V) |
Pines hembra
Zócalo para arduino nano
PCB
Descargar archivo gerber –> pcb
Cables dupont hembra macho
Memoria micro SD: Aquí guardaremos los archivos de audio en formato wav después de la conversión de los archivos, para adecuarla a nuestro proyecto
Módulo lector micro SD: Este módulo nos permite hacer una interface escribir o leer archivos, en el proyecto desarrollado, hace de interface de lectura de los archivos de audio, con el arduino y la tarjeta micro sd.
Un 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 |
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 |
//Arduino MicroSD Adaptor //GND GND //5V VCC //Pin 11 MOSI //Pin 12 MISO //Pin 13 CLK //Pin 9 CS #include <DHT.h> #include <SD.h> #define DHTPIN 2 // Pin de datos del sensor DHT11 #define DHTTYPE DHT11 // Tipo de sensor DHT (DHT11 en este caso) #define SD_CHIP_SELECT 9 // Pin CS de la tarjeta SD(chip select) DHT dht(DHTPIN, DHTTYPE); File archivoDatos; void setup() { Serial.begin(9600); dht.begin();//Inicializamos el sensor DHT11 if (!SD.begin(SD_CHIP_SELECT)) { Serial.println("No se pudo inicializar la tarjeta SD"); return; } Serial.println("Iniciando lecturas del sensor DHT11 y escritura en tarjeta SD..."); } void loop() { // Leemos el senssor de temepratura y humedad float temperatura = dht.readTemperature(); float humedad = dht.readHumidity(); // Si la lectura es válida, escribir en la tarjeta SD if (!isnan(temperatura) && !isnan(humedad)) { archivoDatos = SD.open("datos.txt", FILE_WRITE); Serial.print("Temperatura: "); Serial.print(temperatura); Serial.print(" °C, Humedad: "); Serial.print(humedad); Serial.println(" %"); if (archivoDatos) { archivoDatos.print("Temperatura: "); archivoDatos.print(temperatura); archivoDatos.print(" °C, Humedad: "); archivoDatos.print(humedad); archivoDatos.println(" %"); archivoDatos.close(); Serial.println("Los datos han sido escrito en la tarjeta SD"); } else { Serial.println("Hubo un error al abrir el archivo en la tarjeta SD"); } } else { Serial.println("Hubo un error al leer datos del sensor"); } delay(10000); // Esperar 10 segundos antes de la siguiente lectura y escritura } |
PROYECTO RECOMENDADO