Projeto 49 – Salvando dados de sensores no microSD

  • Fevereiro 29, 2017
  • Comentários

Olá pessoal! Hoje iremos aprender como gerar um simples log contendo os dados de três sensores distintos conectados ao Arduino. Estes dados serão todos armazenados no cartão microSD, podendo os dados serem visualizados posteriormente removendo o cartão do módulo microSD e inserindo-o em seu computador. Mãos aos componentes !!!

Componentes necessários

1 Arduino Uno R3

1 Protoboard

1 Leitor de Cartão microSD

1 Cartão microSD

1 Sensor LM 35

1 LDR (Light Dependent Resistor (Resistor dependente de luz))

1 Resistor de 330 ohms

1 Potenciômetro de 10K ohms

Fios jumper macho/fêmea

Fios jumper macho/macho

Conectando os componentes

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue o Arduino, o módulo microSD, o cartão microSD, os fios jumpers e demais componentes e conecte-os assim como mostra a figura abaixo:

Código do projeto

// Projeto 49 – Salvando dados de sensores no microSD

// Declarando a biblioteca do SD
#include <SPI.h>
#include <SD.h>

// Transferindos os dados do módulo SD para o Arduino
const int chipSelect = 4;

void setup() {
  // Inicia a comunicação serial e aguarda a abertura da porta
  Serial.begin(9600);
  while (!Serial) {
    ; // Aguarda até que a porta serial se conecte
  }


  Serial.print("Inicializando SD card...");

  // Verifica se o cartão está presente e pode ser inicializado
  if (!SD.begin(chipSelect)) {
    Serial.println("Falha no cartao, ou nao esta presente");
    return;
  }
  Serial.println("Cartao iniciado!");
}

void loop() {
  // Faz uma sequência de caracteres para montar os dados para log
  String dataString = "";

  // Lê três sensores e acrescente à string
  for (int analogPin = 0; analogPin < 3; analogPin++) {
    int sensor = analogRead(analogPin);
    dataString += String(sensor);
    if (analogPin < 2) {
      dataString += ",";
    }
  }

  // Abre o arquivo. Observe que apenas um arquivo pode ser aberto
  //de cada vez, então você tem que fechar este antes de abrir outro.
  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  // Se o arquivo estiver disponível, escreve nele
  if (dataFile) {
    dataFile.println(dataString);
    dataFile.close();
    // Imprime na porta serial também
    Serial.println(dataString);
  }
  // Se o arquivo não estiver aberto, imprima um erro
  else {
    Serial.println("Erro ao abrir datalog.txt");
  }
}

Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, agora insira o cartão microSD no módulo e abra o Monitor Serial pressionando simultaneamente as teclas Ctrl+Shift+M. Caso tudo esteja correto você verá os dados dos sensores sendo atualizados a cada segundo. Caso esteja dando erro favor verificar as conexões nos passos acima.

Vídeo do projeto pronto

- Se você gostou do post, por favor comente! Nos dê um feedback, isto nos incentiva a continuar! :)



Deixe seu comentário abaixo