Data logger shield com Arduino

Data logger ou ‘registrador de dados’ é um periférico que, no caso do Arduino, é  utilizado para armazenar dados de transações ou parâmetros de configuração. Dá pra utilizar a EEPROM interna ou uma externa para tal, mas a manipulação desses dados não é tão simples quanto utilizar um data logger shield, onde os dados serão armazenados em um cartão SD.

Características do data logger shield

Não há grandes complexibilidades no hardware em sí. Basicamente, ele possui uma área de prototipagem, botão de reset, slot para o cartão SD e o mais legal; um RTC DS1307 (veja esse artigo a respeito). RTC é o acrônimo de “Real Time Clock”, caso você não saiba. E é fundamental para o armazenamento de logs, uma vez que o tempo é a chave primária de eventos. Por fim, não poderia faltar o slot para a bateria do RTC, afinal, o data logger precisa ter a habilidade de gerencia corretamente esse tempo e não é nada interessante tomar uma base de tempo externa no momento em que a alimentação do Arduino for retomada.

Onde comprar seu data logger shield



Essa bela ferramenta de log para seu projeto você encontra na AutoCore Robótica. Clique e confira.

Configurando o data logger shield

A configuração tem duas etapas; o RTC e o data logger em sí. Nesse caso, precisaremos de duas bibliotecas, cada qual para seu respectivo periférico.

Configurar o RTC do data logger shield

Para configurar o RTC, será necessário instalar a biblioteca RTClib da Adafruit (tem pelo menos mais uma, mas vamos utilizar essa). Para isso, acesse o menu sketch > Include library > Manage libraries e procure por RTClib. A utilizada nesse artigo é essa:

RTClib | data logger shield
RTClib | data logger shield

Nos sketches de exemplovocê encontrará tudo o que precisa para dominar esse RTC. Alguma linhas de código da configuração referente ao RTC foram tiradas de lá.

Configurar o SD

Esse também, nenhum segredo. No menu de exemplos tem diversos exemplos de sua utilização, por isso, não tem o que inventar, sua utilização é simples e sua configuração é rápida!

Código para o data logger shield

Vou comentar no código e em seguida faço minhas observações.

Como pode-se ver, é bastante simples a configuração desse data logger shield, bastando implementar;

  • setup do RTC
  • setup do SD
  • função de escrita em arquivo

E a partir de então, você pode gerar arquivos de log no SD card e ler no seu sistema operacional preferido posteriormente!

Mais sobre o SD card

A SD lib foi construida sobre a sdfatlib e ela suporta escrita em sistemas de arquivos FAT16 e FAT32, porém só suporta o formato de nome de arquivos curto, no formato 8×3 (12345678.123). Desse modo, atente-se ao nome de arquivo pretendido.

A biblioteca tem suporte a nível de diretório, mas para arquivos na raíz não é necessário passar ‘/’. Desde a versão 1.0, pode-se abrir múltiplos arquivos.

A comunicaçao com o SD card é feita através do protocolo SPI, que faz uso dos pinos digital 11, 12 e 13 na maioria dos Arduino e pinos 50, 51 e 52 no Arduino Mega. Um pino adicional deve ser configurado para a seleção do SD card, por isso selecionamos o pino 10 como CS (que é o pino SS na maioria das boards Arduino). Outra vez, no Mega, o pino SS é o 53.

Tendo em conta que esses pinos estarão em uso pelo SD, reserve-os em seu projeto, pois esses pinos não poderão ser utilizados simultaneamente por outros recursos o seu Arduino.

1 Star2 Stars3 Stars4 Stars5 Stars (131 votes, average: 4,50 out of 5)
Loading...

Mais sobre a biblioteca SD, você pode ver nesse link.

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.