21
27 Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017 Aplicação da plataforma Arduino para a determinação de parâmetros atmosféricos e ambientais Everton Andrade FERREIRA 1 Mário Almir FERES JUNIOR 2 Resumo: Atualmente, sistemas microcontrolados de pequeno porte, aliados a custos mais flexíveis, estão sendo largamente inseridos no meio acadêmico e empresarial. Dessa forma, dispositivos portáteis podem ser desenvolvidos, com capacidade de processamento comparável com equipamentos industrializados. Atualmente, informações climáticas são largamente utilizadas para a previsão de parâmetros que visam contribuir para a prevenção de catástrofes e implementa- ção de práticas agrícolas mais eficientes. O sistema desenvolvido foi projetado para captar os parâmetros atmosféricos através de sensores Shields, ligados a um Arduino Mega, que, por meio de programação, controla e monitora os sensores, e transmite os dados coletados para um cartão de memória. Os dados captados pelos sensores são transmitidos para um display externo TV/data show. Palavras-chave: Arduino. Parâmetros Atmosféricos. Sensores. 1 Everton Andrade Ferreira. Bacharelando em Engenharia Mecatrônica do Claretiano – Faculdade Rio Claro (SP). E-mail: <[email protected]>. 2 Mário Almir Feres Junior. Doutor em Química na Agricultura e no Ambiente pelo Centro de Energia Nuclear na Agricultura da Universidade de São Paulo (USP). Atualmente é professor responsável pelas disciplinas Química Geral e Tecnológica do Claretiano – Faculdade de Rio Claro (SP) e Uniesp Tietê, para os cursos de Engenharia de Produção, Elétrica, Mecânica e Mecatrônica. E-mail: <[email protected]>.

Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

27

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

Aplicação da plataforma Arduino para a determinação de parâmetros atmosféricos e ambientais

Everton Andrade FERREIRA1

Mário Almir FERES JUNIOR2

Resumo: Atualmente, sistemas microcontrolados de pequeno porte, aliados a custos mais flexíveis, estão sendo largamente inseridos no meio acadêmico e empresarial. Dessa forma, dispositivos portáteis podem ser desenvolvidos, com capacidade de processamento comparável com equipamentos industrializados. Atualmente, informações climáticas são largamente utilizadas para a previsão de parâmetros que visam contribuir para a prevenção de catástrofes e implementa-ção de práticas agrícolas mais eficientes. O sistema desenvolvido foi projetado para captar os parâmetros atmosféricos através de sensores Shields, ligados a um Arduino Mega, que, por meio de programação, controla e monitora os sensores, e transmite os dados coletados para um cartão de memória. Os dados captados pelos sensores são transmitidos para um display externo TV/data show.

Palavras-chave: Arduino. Parâmetros Atmosféricos. Sensores.

1Everton Andrade Ferreira. Bacharelando em Engenharia Mecatrônica do Claretiano – Faculdade Rio Claro (SP). E-mail: <[email protected]>.2 Mário Almir Feres Junior. Doutor em Química na Agricultura e no Ambiente pelo Centro de Energia Nuclear na Agricultura da Universidade de São Paulo (USP). Atualmente é professor responsável pelas disciplinas Química Geral e Tecnológica do Claretiano – Faculdade de Rio Claro (SP) e Uniesp Tietê, para os cursos de Engenharia de Produção, Elétrica, Mecânica e Mecatrônica. E-mail: <[email protected]>.

Page 2: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

28

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

1. INTRODUÇÃO

O uso de sistemas microcontrolados foi impulsionado a partir da última década com o desenvolvimento de processadores dedica-dos e de pequeno porte aliados a custos mais flexíveis, juntamen-te com linguagens de programação cada vez mais acessíveis. Esta pesquisa tem por finalidade a construção de uma pequena estação meteorológica usando o microcontrolador Arduino. Desta forma, as aplicações dessa tecnologia estão presentes nos mais variados ambientes, onde dados de temperatura, pressão, umidade relativa do ar, altitude, serão coletados e apresentados em display gráfico.

Microcontroladores

Atualmente, os microcontroladores estão presentes na maio-ria dos equipamentos eletrônicos, desde simples rádios a comple-xos sistemas de automação. A aplicação desses componentes nos aparelhos eletrônicos contribui para a diminuição de seu valor de custo, pois o valor do chip é bem menor em relação às alternativas encontradas no mercado, além de ser capaz de substituir um gran-de número de outros componentes, contribuindo para compactação dos equipamentos que utilizam essa tecnologia.

Tooly (2007) considera um microcontrolador um computador de um único chip construído para realizar tarefas de controle, como gerenciar um motor ou enviar um dado para uma porta serial. Já Martins (2005) define os microcontroladores como pastinhas inte-ligentes, dotadas de um processador, pinos de entrada/saída e uma memória. Podemos considerar então que os microcontroladores in-tegram, em único chip, elementos computacionais – como CPU, memórias ROM e RAM, contadores, e podem ser programados para realização de tarefas específicas.

A utilização desses equipamentos facilita na concepção de novos softwares e hardwares mesmo para iniciantes, pois no pas-sado a utilização de elementos da eletrônica era sinônimo de ela-boração de circuitos complexos e a maioria das ferramentas eram destinadas para desenvolvedores mais experientes. Com o passar

Page 3: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

29

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

do tempo, houve o barateamento dos microcontroladores, além da facilidade no seu uso, que proporcionou o surgimento de ferramen-tas melhores e mais simples.

Arduino

Em termos práticos, um Arduino é um pequeno computador que pode ser programado para processar entradas e saídas entre o dispositivo e os componentes externos conectados a ele. O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente por meio de hardware e software.

O Arduino é uma plataforma de prototipagem de hardware eletrônica que foi criada em 2005 na cidade de Ivrea, na Itália, com intuito de ensinar Design de Interação, disciplina que adota como principal metodologia a prototipação. Desde sua criação, o Arduino já vendeu mais de 150.000 placas oficiais e estima-se que o número de placa-clones (não oficiais) vendidas seja por volta de 500 mil em todo o mundo (MCROBERTS, 2011).

Isso comprova a popularidade do projeto, que tem ganhado cada vez mais espaço não só com desenvolvedores iniciantes, mas também com profissionais experientes. A placa Arduino utilizada neste projeto é a Mega 2560 (não oficial). De acordo com a página oficial do Arduino, o Arduino Mega 2560 é uma placa de micro-controlador baseado no ATmega2560. Este tem 54 pinos digitais de entrada/saída (dos quais 15 podem ser usados como saídas PWM) e 16 entradas analógicas (ARDUINO, 2015).

O chip ATmega possui menores custos que o FTDI, reduzindo os custos da placa. Ele também permite a atualização do firmware do chip USB, possibilitando o reconhecimento do Arduino no computador, como ocorre com outros dispositivos, tal como mouse, joystick etc.

A programação é feita por um software cujo ambiente de pro-gramação é baseado na IDE de programação “Processing”. É um ambiente de desenvolvimento fácil de ser utilizado e a linguagem

Page 4: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

30

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

utilizada para o desenvolvimento é baseada em uma linguagem pa-drão, C/C++ (ARDUINO, 2015).

O hardware e o software são de fonte aberta e totalmente compatível com os Shields e softwares desenvolvidos para a plata-forma oficial. As bibliotecas e os códigos de exemplo e utilização estão disponíveis para permitir a interface com outros dispositivos, facilitando o desenvolvimento de aplicações, tanto simples como complexas. Os dispositivos discretos, Shields, permitem que o de-senvolvedor estenda as funcionalidades do Arduino sem as dificul-dades inerentes à elaboração de circuitos eletrônicos.

2. DESENVOLVIMENTO

A plataforma Arduino tem sido empregada no desenvolvi-mento de vários dispositivos, entre eles, as microestações de pes-quisas e os data loggers, como protótipos que podem já ser uti-lizados em projetos mais avançados. O sistema consiste em um Arduino e sensores, esses últimos realizam a leitura dos parâmetros atmosféricos e apresentam-na em um display. O projeto é constitu-ído de um Arduino ligado à energia por uma fonte de 9 volts e de sensores conectados às suas portas analógicas e digitais, que cole-tam informações de temperatura, umidade do ar, altitude e pressão. O código embarcado no Arduino realiza a leitura dos sensores e envia as informações já processadas para o display. Para incremen-tar e facilitar a visualização dos dados, o Arduino também poderá ser ligado a uma TV ou a um data show via cabo VGA ou via cabo de áudio e vídeo (GITHUB, 2015). Os dados são processados para geração de gráficos em tempo real. No organograma abaixo é apre-sentado o sistema de funcionamento.

Page 5: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

31

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

Figura 1. Fluxograma de funcionamento do sistema proposto.

Fonte: elaborado pelo autor.

Uma segunda parte do sistema é um data logger, que arma-zena os dados coletados em um cartão microSD. O sistema desen-volvido é dotado de um Arduino acoplado a um Shield de SD Card com um RTC (Real Time Clock – relógio de tempo real). Os dados são coletados pelos sensores e o Arduino é responsável pela leitura dos sensores e pelo processamento das informações. Todos os da-dos são armazenados em um arquivo tipo texto (.txt) em um cartão microSD contido no Shield.

Page 6: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

32

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

Arduino

O Arduino Mega 2560 é uma placa de microcontrolador ba-seada no ATmega2560. Ele possui 54 pinos de entradas/saídas digi-tais, 16 entradas analógicas, 4 UARTs (portas seriais de hardware), um oscilador de cristal de 16 MHz, uma conexão USB, uma entrada de alimentação, uma conexão ICSP e um botão de reset (ARDUI-NO, 2015). Sua placa possui um processador central que envia e re-cebe sinais analógicos ou digitais e repassa essas informações para operar um sistema e/ou controlá-lo.

Figura 2. Arquitetura do Arduino Mega 2560, utilizado neste pro-jeto.

Fonte: acervo do autor.

Sensores

São dispositivos eletroeletrônicos que têm a propriedade de transformar um sinal elétrico em uma grandeza física relacionada a uma ou mais propriedades do material de que é feito o sensor (MCROBERTS, 2011).

Existem diversos tipos de sensores, destacando-se entre eles os fotodiodos (conversão luminosa/elétrica), os microfones (con-

Page 7: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

33

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

versão sonora/elétrica) e os termistores (conversão térmica/elétri-ca).

Além desses sensores, para a coleta de dados, podemos acres-centar os microinterruptores mecânicos, térmicos e magnéticos.

Sensor de umidade e temperaturaO DHT22 é um sensor de temperatura e umidade que permite

fazer leituras de temperaturas entre –40 a +80 graus Celsius e umi-dade entre 0 a 100%, sendo muito fácil de usar, pois possui apenas 1 pino com saída digital. Esse sensor é formado por um sensor de umidade capacitivo e um termistor para medir o ar ao redor, envian-do ao pino de dados um sinal digital.

Figura 3. Sensor de temperatura e umidade DHT22.

Fonte: FilipeFlop (2015a).

Sensor de pressãoO sensor digital de pressão barométrica de alta precisão e

baixa potência BMP180 tem uma faixa de leitura de 300 a 1100 hPa com acuidade reduzida a 0,02 hPa no módulo de resolução avançada. Ele está baseado na tecnologia de piezorresistividade

Page 8: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

34

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

para melhor precisão, robustez e estabilidade em longo prazo (SPARKFUN, 2015).

Figura 4. Sensor BMP180.

Fonte: SparkFun (2015, a).

Sensor de temperaturaO sensor LM35 é um sensor de precisão em centígrados, tem

uma voltagem de saída analógica e sua faixa de medição é de –55 °C a +150 °C, com uma precisão de ± 0,5 °C.

Ele apresenta uma saída de tensão linear relativa à temperatu-ra em que ele se encontrar no momento em que for alimentado por uma tensão de 4–20 Vdc e GND, tendo em sua saída um sinal de 10 mV para cada grau Celsius de temperatura. Sendo assim, apresenta uma boa vantagem em relação aos demais sensores de temperatu-ra calibrados em Kelvin, não necessitando nenhuma subtração de variáveis para que se obtenha uma escala de temperatura em graus Celsius.

Esse sensor tem saída com baixa impedância, tensão linear e calibração inerente precisa, fazendo com que o interfaceamento de leitura seja especificamente simples, barateando, em função disso, todo o sistema (FRONTEIRATEC, 2013).

Esse sensor poderá ser alimentado com alimentação simples ou simétrica, dependendo do que se desejar como sinal de saída, mas, independentemente disso, a saída continuará sendo de 10

Page 9: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

35

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

mV/°C. Ele drena apenas 60 μA para essas alimentações, sendo as-sim seu autoaquecimento é de aproximadamente 0,1 °C ao ar livre.

Figura 5. Sensor LM35.

Fonte: FronteiraTec (2013).

Display LCDO display LCD 20x4 (20 colunas por 4 linhas) com backlight

azul e escrita branca é usado em toda indústria e em projetos, po-dendo ser operado em 4 ou 8 bits paralelamente.

Figura 6. Display LCD 20x4.

Fonte: FilipeFlop (2015b).

Page 10: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

36

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

Sensor RTCA sigla RTC significa Real Time Clock, ou seja, trata-se de

um relógio de tempo real. Esse módulo tem 56 bytes de memória não volátil disponível para uso, é capaz de armazenar e fornecer in-formações completas de data, como dia da semana, dia do mês, mês e ano, além, é claro, das funções de horas, minutos e segundos, nos formatos de 12 ou 24 horas. Meses com menos de 31 dias e anos bissextos são ajustados automaticamente.

Uma bateria de lítio garante que os dados sejam preservados mesmo sem alimentação externa e é acionada automaticamente em caso de falta de energia no módulo.

Outra característica desse módulo é que se pode utilizar um sensor de temperatura DS18B20 (não incluso) e ler as informações do sensor a partir do pino DS do módulo, o que faz com que seja possível montar um relógio completo com data, hora, dia da semana e temperatura, sem a necessidade de outros componentes (FILIPEFLOP, 2015c).

Figura 7. Módulo RTC DS1307.

Fonte: FilipeFlop (2015c).

SD CardEsse módulo permite a leitura e escrita em cartão SD, com fá-

cil ligação ao Arduino e outros microcontroladores. Todos os pinos de ligação estão identificados no módulo, que suporta formatos de arquivo FAT16 e FAT32 e alimentação de 3,3 V ou 5 V. A comuni-

Page 11: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

37

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

cação é feita pela interface SPI (pinos MOSI, SCK, MISO e CS), e o nível de sinal é de 3,3 V, exigindo um divisor de tensão para liga-ção a microcontroladores que trabalhem com 5 V, como o Arduino (FILIPEFLOP, 2015d).

Figura 8. Módulo SD Card.

Fonte: FilipeFlop (2015d).

3. RESULTADOS

O sistema foi desenvolvido para determinar parâmetros at-mosféricos por meio de sensores ligados ao Arduino, que propi-ciam uma troca de dados, com a qual o dispositivo envia um sinal e recebe as informações adquiridas pelos sensores. A programação foi realizada por meio do IDE do próprio microcontrolador, basea-da em C/C++, conforme demonstrado a seguir:

Roteiro do programa

#include <LiquidCrystal.h>

#include <SFE_BMP180.h>

#include <Wire.h>

//Carrega a biblioteca do RTC DS1307

#include <DS1307.h>

#include “DHT.h”

SFE_BMP180 pressure;

Page 12: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

38

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

#define DHTPIN 5

//Modulo RTC DS1307 ligado as portas A4 e A5 do Arduino

DS1307 rtc(A4, A5);

#define PRESSAO 1013.25 // pressao ao nivel do mar 1013,25 hPa

#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

#include <SD.h>

#include <TVout.h>

#include <fontALL.h>

TVout TV;

LiquidCrystal lcd(30,31,32,33,34,35);

//float valorlido = 0;

//float temperatura = 0;

const int chipSelect = 4;

void setup()

{

TV.begin(_NTSC,184,72);

TV.select_font(font6x8);

lcd.begin(20,4);

//Serial.println(“REBOOT”);

//Aciona o relogio

// rtc.halt(false);

//As linhas abaixo setam a data e hora do modulo

//e podem ser comentada apos a primeira utilizacao

rtc.setDOW(FRIDAY); //Define o dia da semana

rtc.setTime(00, 20, 30); //Define o horario

rtc.setDate(27, 05, 2015); //Define o dia, mes e ano

//Definicoes do pino SQW/Out

rtc.setSQWRate(SQW_RATE_1);

rtc.enableSQW(true);

lcd.print(“Sensor de umidade OK!”);

dht.begin();

if (pressure.begin())

lcd.print(“Sensor de pressao OK!”);

else

{

lcd.println(“BMP180 init fail\n\n”);

while(1); // Pause forever.

}

if (!SD.begin(chipSelect)) {

lcd.print(“Falha ao iniciar SD”);

Page 13: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

39

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

return;

}

lcd.print(“SD inicializado.”);

delay(3000);

lcd.clear();

pinMode(53, OUTPUT);

}

void loop()

{

// sensor do relogio,data.

lcd.setCursor (0,4);

lcd.print(rtc.getTimeStr());

lcd.setCursor(9,4);

lcd.print(rtc.getDateStr());

lcd.setCursor(11,2);

lcd.print(rtc.getDOWStr());

String dataString = “”;

String dataString1 = “”;

String dataString2 = “”;

String dataString3 = “”;

// int analogPin = A1 ;

// int sensor = analogRead(analogPin);

// dataString += String(sensor);

// delay(2000);

// sensor de umidade dht22

float h = dht.readHumidity();

float t = dht.readTemperature();

if (isnan(h) || isnan(t))

{

lcd.println(“Falha ao ler o sensor de umidade!”);

return;

}

lcd.setCursor(0,0);

lcd.print(“U:”);

lcd.print(h);

lcd.print(“%”);

TV.print(10,10,”Umidade:”);

TV.print (80,10, h);

TV.print(130,10, “%”);

dataString += String(h);

lcd.setCursor(9,0);

Page 14: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

40

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

lcd.print(“T:”);

lcd.print(t);

lcd.print(“C”);

TV.print(10,20, “Temperatura:”);

TV.print(80,20, t);

TV.print (130,20, “ºC”);

dataString1 += String(t);

// sensor de pressao bmp180

char status;

double T,P;

status = pressure.startTemperature();

if (status != 0)

{

delay(status);

status = pressure.getTemperature(T);

if (status != 0)

{

/* Serial.println();

Serial.print(“Temperatura: “);

Serial.print(T,2);

Serial.println(“ C, “);

*/

status = pressure.startPressure(3);

if (status != 0)

{

delay(status);

status = pressure.getPressure(P,T);

if (status != 0)

{

lcd.setCursor(0,1);

lcd.print(“P:”);

lcd.print(P,2);

lcd.print(“hPa”);

TV.print(10,30, “Pressao:”);

TV.print(80,30, P);

TV.print(130,30, “hPa”);

dataString2 += String(P);

float a = (P/PRESSAO);

float b = (1/5.255);

float c = 0;

c = pow(a,b);

Page 15: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

41

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

float d = (1 - c);

float altitude = (44330 * d );

lcd.setCursor(0,2);

lcd.print(“A:”);

lcd.print(altitude);

lcd.print(“m”);

TV.print( 10,40, “Altitude”);

TV.print(80,40, altitude);

TV.print( 130,40, “m”);

dataString3 += String(altitude);

}

}

delay(1800); // Pause for 5 seconds.

// opçao para utilizar o LM35, ja que o DHT22 tambem possui sensor de temperatura.

// sensor de temperatura lm35

/*

valorlido = analogRead(A1);

temperatura = ((5*valorlido*100)/1023);

Serial.print(“ “);

Serial.print (“Temperatura LM35 = “);

Serial.print(temperatura,2);

Serial.println (“ C, “);

delay(1000);

*/

File dataFile = SD.open(“dados.txt”, FILE_WRITE);

if (dataFile) {

dataFile.write(“Umidade:”);

dataFile.print(dataString);

dataFile.println(“%”);

//if (dataFile)

dataFile.write(“Temperatura:”);

dataFile.print(dataString1);

dataFile.println(“ ºC”);

// if (dataFile)

dataFile.write(“Pressao:”);

dataFile.print(dataString2);

dataFile.println(“ hPa”);

;

// if (dataFile)

dataFile.write(“Altitude:”);

Page 16: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

42

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

dataFile.print(dataString3);

dataFile.println(“ m”);

d a t a F i l e .println(“_________________________________________”);

dataFile.close();

}

}

}

}

Os componentes discretos foram montados em uma protobo-ard, o que facilitou a exploração de novas configurações e a manu-tenção. A alimentação de todo sistema é feita pelo próprio Arduino que contém duas saídas: uma de 5 volts e outra de 3,3 volts.

Os Shields facilitam a comunicação, pois alguns são neces-sários apenas para a ligação direta, sem utilização de componentes extras, porém, para outros, há a necessidade de componentes; para estes, foram utilizados resistores.

O sistema se mostrou muito eficaz, pois conseguiu apresentar os dados corretamente, quando comparados aos dados meteoroló-gicos reais. O sistema se mostrou estável durante todos os dias de teste apresentando os dados nitidamente. Para comparação da esta-bilidade do sistema, no que diz respeito à umidade lida pelo sensor, foi feito teste com bulbo úmido.

Page 17: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

43

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

Figura 8. Montagem do sistema com sensores acoplados e módulo SD para armazenamento dos dados.

Fonte: acervo do autor.

Page 18: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

44

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

Figura 9. Componentes do sistema, sensor de pressão, sensor de temperatura e umidade, resistores, fios de ligação e módulo RTC.

Fonte: acervo do autor.

As figuras 8 e 9 mostram a ligação feita entre os Shields usando a protoboard e o Arduino.

Page 19: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

45

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

Figura 10. Apresentação dos dados no display LCD.

Fonte: acervo do autor.

No display, são mostrados: U (umidade do ar), T (temperatu-ra), P (pressão), A (altitude), dia da semana, hora e data.

Page 20: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

46

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

Figura 11. Apresentação dos dados em um monitor/TV com cone-xão RCA.

Fonte: acervo do autor.

4. CONSIDERAÇÕES FINAIS

O sistema apresentou um custo baixo em relação aos simi-lares comerciais, apresentando boa precisão e robustez. O uso da plataforma Arduino se mostra versátil para o desenvolvimento de equipamentos para uso acadêmico e residencial com elevada res-posta dos sensores e velocidade de processamento. As aplicações são vastas e sua simplicidade de programação demonstra uma ex-celente ferramenta para o aprendizado em sistemas automatizados. A possibilidade da interação com outros Shields pode levar ao de-senvolvimento de instrumentação de grande aplicação aliada à exi-bição em telas de grande proporção.

Page 21: Aplicação da plataforma Arduino para a determinação de … O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com seu ambiente

47

Ensaios & Diálogos, Rio Claro, v. 10, n. 1, p. 27-47, jan./dez. 2017

REFERÊNCIAS

ARDUINO. Arduino. 2015. Disponível em: <https://www.arduino.cc>. Acesso em: 23 jun. 2015.

FILIPEFLOP. Sensor de umidade e temperatura AM2302 DHT22. Disponível em: <http://www.filipeflop.com/pd-137442-sensor-de-umidade-e-temperatura-am2302-dht22.html>. Acesso em: 12 jul. 2015a.

______. Display LCD 20x4. Disponível em: <http://www.filipeflop.com/pd-6b7e6-display-lcd-20x4-backlight-azul.html>. Acesso em: 12 jul. 2015b.

______. Módulo RTC DS1307. Disponível em: <http://blog.filipeflop.com/modulos/relogio-rtc-ds1307-arduino.html>. Acesso em: 12 jul. 2015c.

______. Módulo SD Card. Disponível em: <http://www.filipeflop.com/pd-6b847-modulo-cartao-sd-card.html>. Acesso em: 12 jul. 2015d.

FRONTEIRATEC. Sensor de temperatura LM35. 2013. Disponível em: <http://fronteiratec.com/blog/sensor-de-temperatura-lm35-parte-01/>. Acesso em: 12 jul. 2015.

GITHUB. Laboratório de garagem, VGA com Arduino. 2015. Disponível em: <https://github.com/LaboratorioDeGaragem/VGA-com-Arduino> Acesso em: 2 maio 2015.

MARTINS, N. A. Sistemas microcontrolados. São Paulo: Novatec, 2005.

MCROBERTS, M. Arduino básico. São Paulo: Novatec, 2011.

SOUZA, A. R. et al. A placa Arduino: uma opção de baixar custo para experiência de física assistidas pelo PC. Revista Brasileira de Ensino de Física, v. 33, n. 1, p. 1702-1705, 2011. Disponível em: <http://www.scielo.br/pdf/rbef/v33n1/26.pdf>. Acesso em: 12 jul. 2015.

SPARKFUN. SparkFun Barometric Pressure Sensor Breakout - BMP180. Disponível em: <https://learn.sparkfun.com/tutorials/bmp180-barometric-pressure-sensor-hookup->. Acesso em: 12 jul. 2015a.

______. Tutorials. Disponível em: <https://learn.sparkfun.com/tutorials/bmp180-barometric-pressure-sensor-hookup-/installing-the-arduino-library>. Acesso em: 12 jul. 2015b.

TOOLY, M. Circuitos eletrônicos. 3. ed. Rio de Janeiro: Elsevier, 2007.