Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Registro de Datos con Arduino

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:

  • 1 x Arduino Uno
  • 1 x Sensor de temperatura y humedad DHT11
  • 1 x Módulo lector de tarjetas SD
  • 1 x Tarjeta SD (con adaptador)
  • 1 x Protoboard
  • 1 x Resistencia de 10k ohmios
  • Cables de conexión

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:

  • Incluimos las librerías necesarias para manejar la tarjeta SD y el sensor DHT11.
  • Definimos el pin donde está conectado el sensor y el tipo de sensor.
  • En setup(), inicializamos la comunicación serial, el sensor y la tarjeta SD.
  • En 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.
  • Utilizamos dataFile.flush() para asegurarnos de que los datos se guarden correctamente en la tarjeta SD.
  • El código incluye un retardo de 2 segundos entre cada lectura para evitar saturar la tarjeta SD con datos.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.