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

Como Armazenar Dados Usando Arduino e Cartões SD

O armazenamento de dados é uma necessidade comum em muitos projetos de Arduino, especialmente quando se trata de registrar informações ao longo do tempo, como leituras de sensores. Uma das maneiras mais eficazes de fazer isso é usando um cartão SD. O Arduino, com a ajuda de um módulo de leitura de cartão SD, pode escrever e ler dados facilmente, permitindo o armazenamento de grandes volumes de informações.

Exemplos:

Para ilustrar como armazenar dados em um cartão SD usando Arduino, vamos criar um exemplo simples onde registramos leituras de temperatura de um sensor e as armazenamos em um arquivo de texto no cartão SD.

Componentes Necessários:

  • Arduino Uno
  • Módulo de Leitor de Cartão SD
  • Sensor de Temperatura (por exemplo, LM35)
  • Cartão SD formatado em FAT16 ou FAT32
  • Jumpers e Protoboard

Circuito:

  1. Conecte o sensor de temperatura ao Arduino: o pino de saída do sensor ao A0, VCC ao 5V e GND ao GND do Arduino.
  2. Conecte o módulo de cartão SD ao Arduino:
    • CS ao pino 10
    • MOSI ao pino 11
    • MISO ao pino 12
    • SCK ao pino 13
    • VCC ao 5V
    • GND ao GND

Código:

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

const int chipSelect = 10;
const int sensorPin = A0;

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    ; // Aguarda a inicialização da porta serial
  }

  Serial.print("Inicializando o cartão SD...");

  if (!SD.begin(chipSelect)) {
    Serial.println("Falha na inicialização!");
    return;
  }
  Serial.println("Cartão SD inicializado.");

  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  if (dataFile) {
    dataFile.println("Início do registro de dados:");
    dataFile.close();
  } else {
    Serial.println("Erro ao abrir datalog.txt");
  }
}

void loop() {
  int sensorValue = analogRead(sensorPin);
  float voltage = sensorValue * (5.0 / 1023.0);
  float temperatureC = (voltage - 0.5) * 100;

  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  if (dataFile) {
    dataFile.print("Temperatura: ");
    dataFile.print(temperatureC);
    dataFile.println(" C");
    dataFile.close();
    Serial.println("Dados armazenados.");
  } else {
    Serial.println("Erro ao abrir datalog.txt");
  }

  delay(1000); // Aguarda 1 segundo antes de registrar novamente
}

Explicação do Código:

  • Inicializamos a comunicação SPI e configuramos o pino de seleção do chip (CS) para o módulo de cartão SD.
  • No setup(), tentamos inicializar o cartão SD. Se falhar, uma mensagem de erro é exibida.
  • Criamos ou abrimos o arquivo datalog.txt e escrevemos uma linha inicial.
  • No loop(), lemos o valor do sensor, calculamos a temperatura em Celsius e a registramos no arquivo datalog.txt.

Este exemplo mostra uma aplicação básica de armazenamento de dados usando um cartão SD com Arduino. Dependendo do projeto, você pode expandir essa ideia para incluir mais sensores ou diferentes tipos de dados.

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.