Você está na página 1de 9

2255 nnoovveem

mbbrroo 22001188

Importando os dados do Data logger em uma


planilha
A algum tempo atrás (um bom tempo, na verdade), escrevi este post aqui
sobre Como usar o Data logger Shield com RFID, armazenando os dados
lidos do sensor RFID em um arquivo texto. Hoje vamos ver como usar
esse mesmo shield para coletar os dados de um sensor de temperatura e
importá-los em uma planilha.

O procedimento que vamos apresentar aqui pode ser testado com outras
versões do shield, ou até mesmo com módulos cartão SD. O processo de
captura dos dados e gravação no cartão é o mesmo.

O data logger shield Ard uino

Vamos apenas fazer um resumo rápido do Data Logger Shield Arduino,


que é uma placa com slot para cartão SD, um botão de reset, suporte
para bateria, leds indicadores de funcionamento e uma pequena área de
prototipagem, caso você queira montar um projeto de forma permanente:

A placa tem um chip RTC (R Re a l Ti m e C l o c k ou R e l ó g i o d e Te m p o R e a l )


bem conhecido, o D S 1 3 0 7 , que fornece as informações de data e hora,
básicas em qualquer projeto de data logger.

Usando o data logger co m sensor de temperatur a


D H T 11

Nesse teste vamos usar o datalogger com Arduino Uno, lendo e


armazenando os dados de um dos sensores mais comuns: o sensor de
temperatura DHT11.

Vamos conectar o sensor de temperatura no pino analógico A0 do


Arduino, conforme a imagem abaixo:

No slot para cartão SD, coloque um cartão formatado com FAT32.

P r o g r a m a A r d u i n o D a t a l o g g e r c o m D H T 11

Vamos utilizar a biblioteca DHT11, que você pode baixar à partir da


própria IDE do Arduino, em S k e t c h - > I n c l u i r B i b l i o t e c a s - > G e r e n c i a r
b i b l i o t e c a s . Procure por DHT11 e selecione a biblioteca D H T S e n s o r b y
A d a f r u i t , clicando em Instalar:
Faça o mesmo procedimento para a biblioteca RT C L i b , também da
Adafruit:

No programa, vamos ler a hora do DS1307, depois as informações de


temperatura e gravar isso no arquivo d a d o s . c s v . Essa leitura será feita a
cada 10 segundos nos nossos testes, mas altere a linha 90 do programa
para definir o intervalo de medição de sua preferência:

1 //Programa: Data logger com sensor de temperatura DHT11


2 //Autor: Arduino e Cia
3
4 #include "RTClib.h"
5 #include "DHT.h"
6 #include <SD.h>
7
8 //Pino CS do cartao SD
9 iinntt Pino_CS = 10;
10
11 //Definicoes do sensor de temperatura DHT11
12 #define DHTPIN A0 //Pino de conexao
13 #define DHTTYPE DHT11 //Tipo de sensor
14 DHT dht(DHTPIN, DHTTYPE); //Cria objeto DHT
15
16 RTC_DS1307 rtc;
17 File file;
18
19 vvooiidd setup()
20 {
21 Serial.begin(57600);
22 Serial.println("Data logger com sensor de temperatura DHT11");
23 Serial.println();
24 //Inicia o cartao SD
25 Serial.println("Iniciando cartao SD...");
26 iiff (!SD.begin(Pino_CS))
27 {
28 Serial.println("Falha na inicializacao do SD!");
29 rreettuurrnn;
30 }
31 Serial.println("Cartao SD iniciado. OK");
32 Serial.println();
33
34 //Verifica as condicoes do RTC
35 iiff (! rtc.begin())
36 {
37 Serial.println("RTC nao encontrado!");
38 wwhhiillee (1);
39 }
40 iiff (! rtc.isrunning())
41 {
42 Serial.println("RTC nao operante!");
43 //A linha abaixo ajusta o RTC com a data e hora do momento da compilacao
44 rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
45 //A linha abaixo permite ajustar manualmente a data e hora do RTC
46 //Formato: DateTime(ano, mes, dia, hora, minuto, segundo)
47 //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
48 }
49 //Inicializa o DHT11
50 dht.begin();
51 }
52
53 vvooiidd loop(vvooiidd)
54 {
55 //Le as informacoes da temperatura
56 ffllooaatt t = dht.readTemperature();
57 //Le as informacoes do RTC
58 DateTime now = rtc.now();
59 //Serial monitor informacoes de hora
60 Serial.print(now.hour() < 10 ? "0" : "");
61 Serial.print(now.hour(), DEC);
62 Serial.print(':');
63 Serial.print(now.minute() < 10 ? "0" : "");
64 Serial.print(now.minute(), DEC);
65 Serial.print(':');
66 Serial.print(now.second() < 10 ? "0" : "");
67 Serial.print(now.second(), DEC);
68 Serial.print(" ");
69 Serial.print("Temperatura: ");
70 Serial.println(t, 0);
71
72 //Gravacao do cartao
73 //Abre arquivo no SD para gravacao
74 file = SD.open("dados.csv", FILE_WRITE);
75 //Grava os dados no cartao SD
76 file.print(now.hour() < 10 ? "0" : "");
77 file.print(now.hour(), DEC);
78 file.print(':');
79 file.print(now.minute() < 10 ? "0" : "");
80 file.print(now.minute(), DEC);
81 file.print(':');
82 file.print(now.second() < 10 ? "0" : "");
83 file.print(now.second(), DEC);
84 file.print(",");
85 file.print(t, 0);
86 file.println();
87 //Fecha arquivo
88 file.close();
89 //Delay ate a proxima leitura
90 delay(10000);
91 }

Se você acompanhar o processo no Serial Monitor, verá uma tela como


essa:

E abrindo o arquivo d a d o s . c s v em um editor de textos comum, verá os


dados armazenados no formato abaixo separado por vírgulas,
característico de um arquivo CSV:

Para facilitar o processo de importação, coloquei apenas a hora e o valor


da temperatura que foi lida naquele momento. Você pode colocar também
a data com dia, mês e ano, além da umidade medida pelo DHT11.

Importando os dados pa ra o Google Sheets

O processo de importação do arquivo CSV para o G o o g l e S h e e t s (ou


Planilhas Google, em português) é bem simples, e em poucos passos
você terá um gráfico com os dados coletados. Antes de mais nada, retire
o cartão SD do data logger e coloque no seu computador.

Crie uma nova planilha no Google Drive, dando a ela um nome qualquer.
No menu da planilha, clique em A r q u i v o e em seguida em I m p o r t a r :

Na janela que abrirá em seguida, selecione Upload e arraste para essa


janela o arquivo dados.csv:

Após o upload, será aberta uma tela de opções perguntando se vc deseja


criar uma nova planilha ou substituir essa já existente. Selecionamos as
opções abaixo:
Clique em I m p o r t a r D a d o s e a sua tela ficará mais ou menos assim:

Para gerar o gráfico, selecione todos os dados das duas colunas....


E em seguida clique em I n s e r i r - > G r á f i c o :

Pronto. Seu gráfico foi gerado!


Como comentei acima, este é um gráfico bem simplificado que usa
apenas os dados de hora e temperatura, mas você pode inserir outros
dados no arquivo CSV, separando o gráfico por dia, mês, ano, etc, de
acordo com as necessidades do seu projeto.

Arduino e Cia às 13:52

Compartilhar

Nenhum comentário:

Postar um comentário

Página inicial ›
Visualizar versão para a web
P
Peessqquuiissee nneessttee bblloogg ::

Pesquisar
Custom Search

Você também pode gostar