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

Gravação de Dados com Arduino

A gravação de dados é uma tarefa fundamental em diversos projetos de eletrônica e automação, permitindo o armazenamento de informações para análises posteriores. No contexto do Arduino, a gravação de dados pode ser utilizada para monitoramento ambiental, registro de eventos, entre outros. Este artigo abordará a gravação de dados utilizando um Arduino e um módulo de cartão SD, explicando passo a passo como implementar essa funcionalidade.

Project: Neste projeto, iremos criar um sistema de gravação de dados de temperatura e umidade utilizando um sensor DHT11, um Arduino, e um módulo de cartão SD. O objetivo é registrar as leituras do sensor em intervalos regulares e armazenar esses dados em um arquivo no cartão SD. Este sistema pode ser utilizado em aplicações de monitoramento ambiental, onde é necessário registrar as condições climáticas ao longo do tempo.

Components List:

  1. Arduino Uno (1 unidade)
  2. Sensor de temperatura e umidade DHT11 (1 unidade)
  3. Módulo de cartão SD (1 unidade)
  4. Cartão SD (1 unidade)
  5. Resistores de 10k ohms (1 unidade)
  6. Jumpers (vários)
  7. Protoboard (1 unidade)

Examples:

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

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

// Inicializa o sensor DHT
DHT dht(DHTPIN, DHTTYPE);

// Define o pino CS do módulo SD
const int chipSelect = 10;

void setup() {
  // Inicializa a comunicação serial
  Serial.begin(9600);
  Serial.println("Inicializando...");

  // Inicializa o sensor DHT
  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);

  // Verifica se o arquivo foi aberto corretamente
  if (dataFile) {
    dataFile.println("Iniciando gravação de dados");
    dataFile.close();
  } else {
    Serial.println("Erro ao abrir o arquivo datalog.txt");
  }
}

void loop() {
  // Lê a temperatura e umidade do sensor DHT11
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // Verifica se as leituras são válidas
  if (isnan(h) || isnan(t)) {
    Serial.println("Falha ao ler do sensor DHT!");
    return;
  }

  // Abre o arquivo de dados
  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  // Se o arquivo estiver disponível, escreve os dados
  if (dataFile) {
    dataFile.print("Umidade: ");
    dataFile.print(h);
    dataFile.print(" %\t");
    dataFile.print("Temperatura: ");
    dataFile.print(t);
    dataFile.println(" *C");

    // Fecha o arquivo
    dataFile.close();
  } else {
    // Se o arquivo não puder ser aberto, exibe uma mensagem de erro
    Serial.println("Erro ao abrir o arquivo datalog.txt");
  }

  // Aguarda 2 segundos antes de fazer a próxima leitura
  delay(2000);
}

Explicação do Código:

  1. Inclusão de Bibliotecas: As bibliotecas SPI.h, SD.h, e DHT.h são incluídas para permitir a comunicação com o módulo SD e o sensor DHT11.
  2. Definição de Pinos e Inicialização: Os pinos do sensor e do módulo SD são definidos, e o sensor DHT11 é inicializado.
  3. Setup: No setup(), a comunicação serial é inicializada, o sensor DHT11 é iniciado e o cartão SD é inicializado. Um arquivo de dados é criado ou aberto para escrita.
  4. Loop: No loop(), a temperatura e umidade são lidas do sensor DHT11. Se as leituras forem válidas, os dados são escritos no arquivo datalog.txt no cartão SD. O loop se repete a cada 2 segundos.

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.