Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
O registro de dados é uma prática essencial em diversas aplicações de engenharia e ciência, permitindo a coleta e análise de informações ao longo do tempo. No contexto do Arduino, registrar dados pode ser útil para monitoramento ambiental, controle de processos industriais, e projetos de automação residencial. Este artigo abordará como configurar um sistema de registro de dados utilizando um Arduino e um cartão SD, permitindo a armazenagem de informações para análise posterior.
Project: Neste projeto, vamos criar um sistema de registro de dados que monitora a temperatura e a umidade do ambiente utilizando um sensor DHT11. Os dados coletados serão armazenados em um cartão SD para análise posterior. O objetivo é demonstrar como integrar sensores e módulos de armazenamento com o Arduino para criar um sistema de coleta de dados eficiente.
Componentes List:
Examples:
#include <SPI.h>
#include <SD.h>
#include <DHT.h>
// Define o pino do sensor DHT11
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// Define o pino do módulo SD
const int chipSelect = 4;
void setup() {
// Inicializa a comunicação serial
Serial.begin(9600);
Serial.println("Inicializando...");
// Inicializa o sensor DHT11
dht.begin();
// Inicializa o módulo SD
if (!SD.begin(chipSelect)) {
Serial.println("Falha ao inicializar o cartão SD!");
return;
}
Serial.println("Cartão SD inicializado.");
// Cria ou abre o arquivo de dados
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// Se o arquivo foi aberto com sucesso, escreve o cabeçalho
if (dataFile) {
dataFile.println("Temperatura,Umidade");
dataFile.close();
} else {
Serial.println("Erro ao abrir o arquivo datalog.txt");
}
}
void loop() {
// Espera 2 segundos entre as leituras
delay(2000);
// Lê a temperatura e a umidade do sensor DHT11
float h = dht.readHumidity();
float t = dht.readTemperature();
// Verifica se a leitura falhou
if (isnan(h) || isnan(t)) {
Serial.println("Falha ao ler do sensor DHT11!");
return;
}
// Abre o arquivo de dados para adicionar uma nova linha
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// Se o arquivo foi aberto com sucesso, escreve os dados
if (dataFile) {
dataFile.print(t);
dataFile.print(",");
dataFile.println(h);
dataFile.close();
// Também imprime os dados no monitor serial
Serial.print("Temperatura: ");
Serial.print(t);
Serial.print(" *C, Umidade: ");
Serial.print(h);
Serial.println(" %");
} else {
Serial.println("Erro ao abrir o arquivo datalog.txt");
}
}
Explicação do código:
SPI.h
, SD.h
, e DHT.h
são incluídas para lidar com a comunicação SPI, o módulo SD e o sensor DHT11, respectivamente.setup()
, inicializamos a comunicação serial, o sensor DHT11 e o módulo SD. Também criamos ou abrimos o arquivo datalog.txt
e escrevemos um cabeçalho.loop()
, lemos a temperatura e a umidade do sensor DHT11 a cada 2 segundos. Se a leitura for bem-sucedida, os dados são escritos no arquivo datalog.txt
e também impressos no monitor serial.