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

Gravando Dados em Arquivos com Arduino

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:

  • Arduino Uno (1 unidade)
  • Módulo de cartão SD (1 unidade)
  • Sensor de temperatura e umidade DHT11 (1 unidade)
  • Resistência de 10k ohms (1 unidade)
  • Protoboard e jumpers

Exemplos:

  1. 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:

    • VCC -> 5V
    • GND -> GND
    • MISO -> Pin 12
    • MOSI -> Pin 11
    • SCK -> Pin 13
    • CS -> Pin 10

    Conecte o sensor DHT11 ao Arduino:

    • VCC -> 5V
    • GND -> GND
    • Data -> Pin 2
    • Coloque a resistência de 10k ohms entre o VCC e o pino de dados do DHT11.
  2. 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:

  • Inclusão de Bibliotecas: As bibliotecas SPI, SD e DHT são incluídas para fornecer funcionalidades necessárias para comunicação com o cartão SD e o sensor DHT11.
  • Definições de Pinos: Os pinos para o sensor DHT11 e o módulo SD são definidos.
  • Inicialização: No setup(), a comunicação serial é iniciada, o sensor DHT11 é inicializado e a inicialização do cartão SD é verificada.
  • Leitura e Gravação: No 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.

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.