Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
El registro de datos es una técnica esencial en numerosos proyectos de electrónica y automatización, ya que permite almacenar información para su posterior análisis. En el contexto de Arduino, el registro de datos puede ser utilizado para monitorear variables ambientales, como temperatura y humedad, o para registrar eventos específicos en un sistema. Este artículo se centrará en cómo implementar un sistema de registro de datos utilizando un Arduino y una tarjeta SD para almacenar la información. Este enfoque es particularmente útil debido a la facilidad de uso y la amplia disponibilidad de componentes compatibles con Arduino.
Project: En este proyecto, crearemos un sistema de registro de datos que monitoreará la temperatura y la humedad utilizando un sensor DHT11. Los datos serán almacenados en una tarjeta SD para su posterior análisis. El objetivo es aprender a configurar el sensor, leer los datos y almacenarlos en un archivo de texto en la tarjeta SD. Además, se abordarán aspectos como la gestión de archivos y la estructura del código para garantizar que los datos se registren de manera eficiente y confiable.
Components List:
Examples:
#include <SPI.h>
#include <SD.h>
#include <DHT.h>
#define DHTPIN 2 // Pin donde está conectado el sensor DHT11
#define DHTTYPE DHT11 // Definimos el tipo de sensor DHT
DHT dht(DHTPIN, DHTTYPE);
File dataFile;
void setup() {
Serial.begin(9600);
dht.begin();
// Inicializamos la tarjeta SD
if (!SD.begin(4)) {
Serial.println("Error al inicializar la tarjeta SD");
return;
}
Serial.println("Tarjeta SD inicializada correctamente");
// Abrimos el archivo para escribir
dataFile = SD.open("datalog.txt", FILE_WRITE);
if (!dataFile) {
Serial.println("Error al abrir el archivo datalog.txt");
return;
}
}
void loop() {
// Leemos la temperatura y la humedad
float h = dht.readHumidity();
float t = dht.readTemperature();
// Verificamos si la lectura fue exitosa
if (isnan(h) || isnan(t)) {
Serial.println("Error al leer del sensor DHT11");
return;
}
// Imprimimos los valores en el monitor serial
Serial.print("Humedad: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.println(" *C");
// Escribimos los datos en el archivo
dataFile.print("Humedad: ");
dataFile.print(h);
dataFile.print(" %\t");
dataFile.print("Temperatura: ");
dataFile.print(t);
dataFile.println(" *C");
// Aseguramos que los datos se guarden
dataFile.flush();
// Esperamos 2 segundos antes de la siguiente lectura
delay(2000);
}
Comentarios del código:
setup()
, inicializamos la comunicación serial, el sensor y la tarjeta SD.loop()
, leemos los valores de temperatura y humedad, los imprimimos en el monitor serial y los escribimos en el archivo datalog.txt
en la tarjeta SD.dataFile.flush()
para asegurarnos de que los datos se guarden correctamente en la tarjeta SD.