¿Quieres construir tu propio registrador de datos de temperatura utilizando Arduino y un módulo de tarjeta SD? ¡Estás en el lugar correcto! En este artículo, te mostraremos paso a paso cómo crear este práctico dispositivo que te permitirá monitorear y almacenar la temperatura ambiente. Sigue leyendo para descubrir cómo poner en marcha este proyecto de electrónica.
Esta publicación le mostrará cómo crear un registrador de datos de temperatura Arduino. Usamos el DHT11 para medir la temperatura, el módulo de reloj en tiempo real (RTC) para registrar marcas de tiempo y el módulo de tarjeta SD para guardar los datos en la tarjeta SD.
Recursos recomendados:
- Instrucciones para el Módulo de Reloj en Tiempo Real (RTC) con Arduino (DS1307 y DS3231)
- Instrucciones completas para el sensor de humedad y temperatura DHT11/DHT22 con Arduino
- Instrucciones del módulo de tarjeta SD con Arduino
Piezas requeridas
Aquí hay una lista completa de las piezas necesarias para este proyecto:
- Arduino UNO – leer Los mejores kits de inicio de Arduino
- módulo de tarjeta SD
- Tarjeta micro SD
- Sensor de temperatura y humedad DHT11
- módulo RTC
- tablero de circuitos
- Cables de puente
Nota: Como alternativa al módulo de tarjeta SD, también puedes utilizar uno Escudo de registro de datosEl escudo de registro de datos tiene un RTC integrado y un área de creación de prototipos para soldar conexiones, sensores, etc.
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
Esquema
La siguiente figura muestra los esquemas del circuito para este proyecto.
Nota: Asegúrese de que su tarjeta SD esté formateada y funcione correctamente. Lea las “Instrucciones del módulo de tarjeta SD con Arduino”.
Instalación de la biblioteca de sensores DHT
Para este proyecto necesita instalar la biblioteca DHT para leer desde el sensor DHT11.
- Haga clic aquí para descargar la biblioteca de sensores DHT. Deberías tener una carpeta .zip en tu carpeta de Descargas.
- Extraiga la carpeta .zip y debería obtener la carpeta DHT-sensor-library-master.
- Cambie el nombre de su carpeta de
Maestro de biblioteca de sensores DHTA DHT - Mueva la carpeta DHT a la carpeta de bibliotecas de instalación de Arduino IDE
- Finalmente, vuelva a abrir su IDE de Arduino
código
Copie el siguiente código en su IDE de Arduino y cárguelo en su placa Arduino.
/*
* Rui Santos
* Complete Project Details https://randomnerdtutorials.com
*/
#include <SPI.h> //for the SD card module
#include <SD.h> // for the SD card
#include <DHT.h> // for the DHT sensor
#include <RTClib.h> // for the RTC
//define DHT pin
#define DHTPIN 2 // what pin we're connected to
// uncomment whatever type you're using
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// initialize DHT sensor for normal 16mhz Arduino
DHT dht(DHTPIN, DHTTYPE);
// change this to match your SD shield or module;
// Arduino Ethernet shield and modules: pin 4
// Data loggin SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
const int chipSelect = 4;
// Create a file to store the data
File myFile;
// RTC
RTC_DS1307 rtc;
void setup() {
//initializing the DHT sensor
dht.begin();
//initializing Serial monitor
Serial.begin(9600);
// setup for the RTC
while(!Serial); // for Leonardo/Micro/Zero
if(! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
else {
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
if(! rtc.isrunning()) {
Serial.println("RTC is NOT running!");
}
// setup for the SD card
Serial.print("Initializing SD card...");
if(!SD.begin(chipSelect)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
//open file
myFile=SD.open("DATA.txt", FILE_WRITE);
// if the file opened ok, write to it:
if (myFile) {
Serial.println("File opened ok");
// print the headings for our data
myFile.println("Date,Time,Temperature ºC");
}
myFile.close();
}
void loggingTime() {
DateTime now = rtc.now();
myFile = SD.open("DATA.txt", FILE_WRITE);
if (myFile) {
myFile.print(now.year(), DEC);
myFile.print('/');
myFile.print(now.month(), DEC);
myFile.print('/');
myFile.print(now.day(), DEC);
myFile.print(',');
myFile.print(now.hour(), DEC);
myFile.print(':');
myFile.print(now.minute(), DEC);
myFile.print(':');
myFile.print(now.second(), DEC);
myFile.print(",");
}
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.println(now.day(), DEC);
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.println(now.second(), DEC);
myFile.close();
delay(1000);
}
void loggingTemperature() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
// Read temperature as Celsius
float t = dht.readTemperature();
// Read temperature as Fahrenheit
//float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan
Serial.println("Failed to read from DHT sensor!");
return;
}
//debugging purposes
Serial.print("Temperature: ");
Serial.print
Serial.println(" *C");
//Serial.print(f);
//Serial.println(" *Ft");
myFile = SD.open("DATA.txt", FILE_WRITE);
if (myFile) {
Serial.println("open with success");
myFile.print
myFile.println(",");
}
myFile.close();
}
void loop() {
loggingTime();
loggingTemperature();
delay(5000);
}
En este código creamos uno. tiempo de registro() función y uno temperatura de registro () Función que llamamos Cinta() para registrar el tiempo y la temperatura en DATOS.txt Archivo en la tarjeta SD.
Abra el monitor serie con una velocidad de 9600 baudios y compruebe si todo funciona correctamente.
Recuperar los datos de la tarjeta SD.
Deje que este proyecto se ejecute durante unas horas para recopilar una cantidad suficiente de datos. Cuando esté satisfecho con el tiempo de grabación de datos, apague el Arduino y retire la SD del módulo de la tarjeta SD.
Inserta la tarjeta SD en tu computadora, ábrela y deberías tener una DATOS.txt Fichero con los datos recogidos.
Puede abrir los datos con un editor de texto o utilizar una hoja de cálculo para analizar y procesar sus datos.
Los datos están separados por comas y cada medición está en una nueva línea. En este formato, puede importar datos fácilmente a Excel u otro software de procesamiento de datos.
Envolver
Este es un gran proyecto para aprender a construir un registrador de datos usando el módulo de tarjeta SD y Arduino. Puede aplicar este concepto a prácticamente cualquier proyecto.
Si te gustan los proyectos Arduino, asegúrate de consultar nuestro último curso de Arduino: Proyectos Arduino paso a paso – Construya 23 proyectos
Esperamos que este proyecto le haya resultado útil.
Gracias por leer.
Registrador de datos de temperatura Arduino con módulo de tarjeta SD
Este artículo te muestra cómo crear un registrador de datos de temperatura Arduino. Utilizaremos el sensor DHT11 para medir la temperatura, el módulo de reloj en tiempo real (RTC) para marcar el tiempo y el módulo de tarjeta SD para guardar los datos en la tarjeta SD.
Recursos recomendados:
- Guía para el módulo de reloj en tiempo real (RTC) con Arduino (DS1307 y DS3231)
- Guía completa para el sensor de humedad y temperatura DHT11/DHT22 con Arduino
- Guía para el módulo de tarjeta SD con Arduino
Partes requeridas:
- Arduino UNO
- Módulo de tarjeta SD
- Tarjeta micro SD
- Sensor de temperatura y humedad DHT11
- Módulo RTC
- Protoboard
- Cables jumper
Nota: Alternativamente al módulo de tarjeta SD, puedes utilizar un shield de registro de datos. El shield de registro de datos viene con un RTC incorporado y un área de prototipado para soldar conexiones, sensores, etc.
Puedes encontrar todas las partes para tus proyectos al mejor precio en MakerAdvisor.com/tools.
Esquemático:
Aquí puedes ver el esquemático del circuito para este proyecto.
Instalación de la biblioteca del sensor DHT:
Para este proyecto necesitas instalar la biblioteca DHT para leer del sensor DHT11.
Código:
Copia el siguiente código en tu Arduino IDE y súbete a tu placa Arduino.
Obtención de datos de la tarjeta SD:
Deja este proyecto funcionar durante unas horas para recopilar una cantidad decente de datos, y cuando estés satisfecho con el periodo de registro de datos, apaga el Arduino y retira la SD de la SD card module.
Inserta la tarjeta SD en tu computadora, ábrela y deberías encontrar un archivo DATA.txt con los datos recopilados.
Ahora puedes abrir los datos con un editor de texto o utilizar una hoja de cálculo para analizar y procesar tus datos. Los datos están separados por comas y cada lectura está en una nueva línea. En este formato, puedes importar fácilmente los datos a Excel u otro software de procesamiento de datos.
Conclusión:
Este es un gran proyecto para aprender a usar el módulo de tarjeta SD con Arduino para construir un registrador de datos. Puedes aplicar este concepto en prácticamente cualquier proyecto que desees.
Si te gustan los proyectos de Arduino, asegúrate de revisar nuestro último curso de Arduino: Arduino Step-by-step Projects – Build 23 Projects.
Esperamos que encuentres útil este proyecto. ¡Gracias por leer!