Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
No mundo da eletrônica e da programação embarcada, a capacidade de gravar dados em arquivos é uma funcionalidade extremamente útil. Com o Arduino, essa tarefa pode ser realizada de maneira eficiente utilizando módulos de cartão SD. Isso permite que dados de sensores, logs de eventos ou qualquer outra informação relevante sejam armazenados para análise posterior. Este artigo técnico abordará como configurar e utilizar um módulo de cartão SD com o Arduino para gravar dados em arquivos, proporcionando uma base sólida para projetos mais complexos.
Projeto: Neste projeto, vamos criar um sistema simples que lê dados de um sensor de temperatura e umidade (DHT11) e grava essas informações em um cartão SD. O objetivo é demonstrar como inicializar o módulo SD, criar e abrir arquivos, escrever dados e fechar arquivos corretamente. Este exemplo pode ser expandido para incluir outros tipos de sensores ou fontes de dados.
Lista de componentes:
Exemplos:
Configuração do Hardware: Conecte o módulo de cartão SD ao Arduino conforme as especificações do fabricante. Em geral, as conexões são:
Conecte o sensor DHT11 ao Arduino:
Código de Exemplo:
#include <SPI.h>
#include <SD.h>
#include <DHT.h>
#define DHTPIN 2 // Pino do sensor DHT11
#define DHTTYPE DHT11 // Define o tipo do sensor DHT
#define CSPIN 10 // Pino CS do módulo SD
DHT dht(DHTPIN, DHTTYPE);
File dataFile;
void setup() {
Serial.begin(9600);
dht.begin();
// Inicializa o cartão SD
if (!SD.begin(CSPIN)) {
Serial.println("Falha ao inicializar o cartão SD!");
return;
}
Serial.println("Cartão SD inicializado.");
}
void loop() {
// Lê dados do sensor
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Falha ao ler do sensor DHT11!");
return;
}
// Abre o arquivo para escrita
dataFile = SD.open("datalog.txt", FILE_WRITE);
// Se o arquivo estiver disponível, escreva nele
if (dataFile) {
dataFile.print("Umidade: ");
dataFile.print(h);
dataFile.print(" %\t");
dataFile.print("Temperatura: ");
dataFile.print(t);
dataFile.println(" *C");
dataFile.close(); // Fecha o arquivo
Serial.println("Dados gravados com sucesso.");
} else {
// Se o arquivo não puder ser aberto, mostre um erro
Serial.println("Erro ao abrir o arquivo datalog.txt");
}
delay(2000); // Aguarda 2 segundos antes da próxima leitura
}
Explicação do Código:
setup()
, a comunicação serial é iniciada, o sensor DHT11 é inicializado e a inicialização do cartão SD é verificada.loop()
, os dados de temperatura e umidade são lidos do sensor. Se a leitura for bem-sucedida, o arquivo datalog.txt
é aberto para escrita, os dados são gravados, e o arquivo é fechado.