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

Data Logging com Arduino: Monitoramento e Armazenamento de Dados

Introdução

O data logging, ou registro de dados, é uma prática essencial em diversos campos da engenharia e ciências, permitindo a coleta e armazenamento de informações para análises posteriores. No contexto do Arduino, o data logging possibilita o monitoramento contínuo de variáveis como temperatura, umidade, pressão e outros parâmetros ambientais. Este artigo técnico apresentará um projeto prático de data logging utilizando um Arduino, demonstrando como configurar o sistema, coletar dados e armazená-los em um cartão SD.

Projeto

O projeto consiste em criar um sistema de data logging que monitora a temperatura e a umidade do ambiente utilizando um sensor DHT11 e armazena os dados em um cartão SD. O objetivo é construir uma solução que possa ser utilizada em aplicações como monitoramento ambiental, estufas, laboratórios e outros cenários onde o registro contínuo de dados é necessário.

Objetivos:

  • Monitorar temperatura e umidade em tempo real.
  • Armazenar os dados coletados em um cartão SD.
  • Facilitar a análise posterior dos dados coletados.

Funcionalidades:

  • Leitura de temperatura e umidade a cada intervalo de tempo definido.
  • Registro dos dados com timestamp (marca temporal) em um arquivo CSV no cartão SD.
  • Possibilidade de ajustar o intervalo de leitura conforme a necessidade.

Lista de Componentes

  • 1x Arduino Uno
  • 1x Sensor de temperatura e umidade DHT11
  • 1x Módulo de cartão SD
  • 1x Protoboard
  • Jumpers (fios de conexão)
  • 1x Resistor de 10kΩ (para o DHT11)
  • 1x Cartão microSD (com adaptador)

Exemplos

Código Arduino para Data Logging:

#include <SPI.h>
#include <SD.h>
#include <DHT.h>

#define DHTPIN 2      // Pino digital onde o DHT11 está conectado
#define DHTTYPE DHT11 // Definindo o tipo de sensor DHT

DHT dht(DHTPIN, DHTTYPE);

const int chipSelect = 4; // Pino CS do módulo SD

void setup() {
  Serial.begin(9600);
  dht.begin();

  // Inicializando o módulo SD
  if (!SD.begin(chipSelect)) {
    Serial.println("Falha ao inicializar o cartão SD!");
    return;
  }
  Serial.println("Cartão SD inicializado.");

  // Criando ou abrindo o arquivo de log
  File dataFile = SD.open("datalog.csv", FILE_WRITE);
  if (dataFile) {
    dataFile.println("Timestamp,Temperatura,Umidade");
    dataFile.close();
  } else {
    Serial.println("Erro ao abrir o arquivo datalog.csv");
  }
}

void loop() {
  // Leitura dos dados do sensor DHT11
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // Verificação de erro na leitura
  if (isnan(h) || isnan(t)) {
    Serial.println("Falha ao ler do sensor DHT11!");
    return;
  }

  // Obtendo o timestamp
  unsigned long timestamp = millis() / 1000;

  // Abrindo o arquivo para escrever os dados
  File dataFile = SD.open("datalog.csv", FILE_WRITE);
  if (dataFile) {
    dataFile.print(timestamp);
    dataFile.print(",");
    dataFile.print(t);
    dataFile.print(",");
    dataFile.println(h);
    dataFile.close();
    Serial.println("Dados registrados.");
  } else {
    Serial.println("Erro ao abrir o arquivo datalog.csv");
  }

  // Intervalo de tempo entre as leituras (10 segundos)
  delay(10000);
}

Explicação do Código:

  1. Inclusão de Bibliotecas:

    • SPI.h e SD.h para comunicação com o módulo SD.
    • DHT.h para leitura do sensor de temperatura e umidade DHT11.
  2. Definição de Pinos e Variáveis:

    • DHTPIN define o pino digital conectado ao DHT11.
    • chipSelect define o pino CS do módulo SD.
  3. Função setup():

    • Inicializa a comunicação serial.
    • Inicializa o sensor DHT11.
    • Inicializa o módulo SD e cria/abre o arquivo datalog.csv para adicionar o cabeçalho.
  4. Função loop():

    • Lê a temperatura e umidade do sensor.
    • Verifica se a leitura foi bem-sucedida.
    • Obtém o timestamp em segundos desde o início do programa.
    • Abre o arquivo datalog.csv e escreve os dados (timestamp, temperatura e umidade).
    • Fecha o arquivo e aguarda 10 segundos antes da próxima leitura.

Este projeto de data logging com Arduino oferece uma base sólida para aplicações que requerem monitoramento contínuo e registro de dados ambientais. Com a implementação descrita, é possível adaptar e expandir o sistema para incluir outros sensores e funcionalidades conforme a necessidade.

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.