Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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.
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:
Funcionalidades:
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:
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.Definição de Pinos e Variáveis:
DHTPIN
define o pino digital conectado ao DHT11.chipSelect
define o pino CS do módulo SD.Função setup()
:
datalog.csv
para adicionar o cabeçalho.Função loop()
:
datalog.csv
e escreve os dados (timestamp, temperatura e umidade).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.