UNIVERSIDADE ANHANGUERA – UNIDERP
PROGRAMA DE MESTRADO PROFISSIONAL EM PRODUÇÃO E GESTÃO
AGROINDUSTRIAL
JIYAN YARI
DESENVOLVIMENTO DE MINIPLATAFORMA DE COLETA DE DADOS
METEOROLÓGICOS PARA PEQUENOS PRODUTORES RURAIS UTILIZANDO
AS TECNOLOGIAS LIVRES ARDUINO E ANDROID
CAMPO GRANDE - MS
2013
JIYAN YARI
DESENVOLVIMENTO DE MINIPLATAFORMA DE COLETA DE DADOS
METEOROLÓGICOS PARA PEQUENOS PRODUTORES UTILIZANDO AS
TECNOLOGIAS LIVRES ARDUINO E ANDROID
Dissertação apresentada ao Programa de
Pós-Graduação
Profissional
em
em
nível
de
Produção
Mestrado
e
Gestão
Agroindustrial da Universidade Anhanguera Uniderp, como parte dos requisitos para a
obtenção do título de Mestre em Produção e
Gestão Agroindustrial.
Comitê de Orientação:
Prof. Dr. Celso Correia de Souza
Prof. Dr. José Antônio Maior Bono
CAMPO GRANDE – MS
2013
DEDICO
Dedico este trabalho com todo amor e
respeito a Deus por ter proporcionado tudo
que
tenho
em
minha
vida
e
muito
especialmente aos meus pais por terem, a
vida toda, me estimulado e motivado a
estudar e a deixar um legado positivo à
humanidade, por terem criado em mim a
percepção de humanidade e de cidadania e
ensinado que o trabalho, o sacrifício, a
honestidade, a integridade e a bondade é
que forjam um ser humano.
ii
AGRADECIMENTOS
Agradeço a Deus, meus queridos e amados pais, que sacrificaram suas
vidas para tudo me darem e tudo me ensinarem, Ghassem Yari e Manijeh Astani,
meus amados irmãos Zargham Yari e Sarvin Yari, meus avôs paternos (Setare
Yari e Rahim Yari – in memorian) e maternos (Rohanieh Say Oskui e Nematollá
Astani - in memorian), minha sogra Maria José Pires (Dona Dedé), que por vezes
cuidou de meus filhos com todo o seu amor e carinho, meu sogro Sr. Ademar do
Prado, minha querida e amada esposa, minha fonte de inspiração e minha força,
Alexandra, meus amados filhos pelos quais tenho verdadeira paixão e minha
razão de viver, Jiyanzinho e Laryssa, os quais muitas vezes tive de sacrificar com
a minha ausência neste período de mestrado (que recompensarei em dobro) e
aos queridos amigos do curso de mestrado com os quais tive momentos de
convivência inesquecíveis, com muitas noites de estudos, viagens e alegrias
compartilhadas em sala de aula e finalmente a nossa secretária do mestrado
Alinne Freitas Signorelli, que ajudou a todos neste período de nosso curso da
melhor forma que pôde, aos professores do mestrado Denise Renata Pedrino,
Francisco de Assis Rolim Pereira, Guilherme Cunha Malafaia, Juliane Ludwig,
Marcos Barbosa Ferreira, Ivo Martins Souza (in memorian), Edison Rubens
Arrabal Arias, Fernando Paim Costa, meu co-orientador José Antonio Maior Bono
e meu orientador, Celso Correia Souza, os quais agradeço profundamente pela
paciência, humanidade e profissionalismo com a qual me trataram; e às bandas
Led Zepellin, AC/DC, Iron Maiden, Def Leppard, Pantera, Scorpions, Metallica,
Gun’s and Roses e outras bandas de rock que me ajudaram nas noites em claro
que passei “codando”, testando sensores e módulos e escrevendo a dissertação.
iii
SUMÁRIO
LISTA DE SÍMBOLOS, ABREVIATURAS E NOMENCLATURAS...................
vi
LISTA DE QUADROS.......................................................................................
ix
LISTA DE FIGURAS..........................................................................................
x
1. INTRODUÇÃO GERAL ................................................................................
01
2. REVISÃO GERAL DE LITERATURA ...........................................................
04
2.1. Agricultura de precisão ..........................................................................
04
2.2. Dados agrometeorológicos ...................................................................
05
2.3. Planejamento agropecuário e tomada de decisões ..............................
06
2.4. Plataforma de Coleta de Dados (PCD) .................................................
06
2.5. Tecnologia de prototipagem Arduino ....................................................
08
2.5.1. Hardware Arduino ......................................................................
10
2.5.2. Ambiente de programação Processing .....................................
14
2.6. Sensor de temperatura e umidade DHT22 ..........................................
15
2.7. Sensor de pressão e altitude BMP085 .................................................
17
2.8. Registro de tempo ................................................................................
18
2.9. Armazenamento de dados ...................................................................
18
2.10. Baterias ..............................................................................................
20
2.11. Placa solar ..........................................................................................
20
2.12. Plataforma Android .............................................................................
21
2.13. Ambiente de programação Eclipse ....................................................
23
REFERÊNCIAS BIBLIOGRÁFICAS .................................................................
25
3. ARTIGO ........................................................................................................
28
RESUMO ...........................................................................................................
29
ABSTRACT .......................................................................................................
30
3.1. INTRODUÇÃO ...........................................................................................
31
3.2. MATERIAL E MÉTODOS ..........................................................................
33
3.2.1. Material .............................................................................................
33
3.2.2. Métodos ............................................................................................
34
3.2.2.1. Implementação do projeto ...................................................
34
3.2.2.1.1. Testes no Arduino ............................................................
34
3.2.2.1.2. Sensores e módulo ..........................................................
34
iv
3.2.2.1.3. Protótipo ...........................................................................
40
3.2.2.1.4. Aplicação Android ............................................................
41
3.3. RESULTADOS E DISCUSSÃO .................................................................
41
3.4. CONCLUSÃO ............................................................................................
58
REFERÊNCIAS BIBLIOGRÁFICAS .................................................................
59
v
LISTA DE SÍMBOLOS, ABREVIATURAS E NOMENCLATURAS
AC/DC: Alternate Current/Direct Current (Corrente Alternada/Corrente Contínua)
ADT: Android Developer Tools (Ferramentas de Desenvolvimento Android)
API: Application Programming Interface (Interface de Programação de Aplicativos)
app: abreviatura de application (aplicativo para dispositivos móveis)
Arduino Robot: placa Arduino utilizado para criar robôs
AREF: Analog Reference (Referência Analógica)
AREF: Analog Reference (Referência Analógica)
ATmega: família de microprocessadores criado pela empresa americana Atmel
Corporation
AVD: Android Virtual Device (Dispostivo Virtual Android)
AVR: Advanced Virtual RISC (RISC Virtual Avançado)
CISC: Complex Instruction Set Computer (Computador com Conjunto Complexo
de Instruções)
clock: relógio, temporizador
CPU: Central Processing Unit (Unidade Central de Processamento)
DAS: DAta Serial (Dado Serial)
DCS: Development Community Support (Suporte à Desenvolvimento Comunitário)
ddp: diferença de potencial
debugger: software utilizado para testar e depurar outros programas
ED: Ecosystem Development (Ecossistema de Desenvolvimento)
EEPROM: Electrically Earesable Programmable Read Only Memory (Memória
Somente de Leitura Eletronicamente Apagável)
EOC: End Of Convertion (Fim de Conversão) – Saída Digital
FTDI: Future Technology Devices International (Tecnologia Internacional para
Dispositivos Futuros)
GNU/Linux: sistema operacional livre criado em 1991 por Linus Torvalds
GPS: Sistema de Posicionamento Global
HIGH: alto/aceso hightech: alta-tecnologia
I2C: Inter-Integrated Circuit (Integração Entre Circuitos)
IBM: International Business Machines (Máquinas de Negócios Internacional)
vi
IDE:
Integrated
Development
Environment
(Ambiente
Integrado
de
Desenvolvimento)
IPM: Intellectual Property Management (Gestão da Prorpiedade Intelectual)
ISCP: In-Circuit Serial Programming (Programação de Circuito em Série)
ITI: Information Technology Infraestructure (Infrestrutura de Tecnologia da
Informação)
LCD: Liquid Cristal Diod (Diodo Cristal Líquido)
LED: Light Emiting Diod (Diodo Emissor de Luz)
LilyPad: placa Arduino para uso em peças têxteis/roupas
Li-ion: Lithium-ion – Lítio-íon
LOW: baixo/desligado
MISO: Master In Slave Out (Entrada Mestre Saída Escravo)
MOSI: Master Out Slave In (Saída Mestre Entrada Escravo)
notebook: computador de mão
OHA: Open Handset Aliance (Aliança de Telefonia Aberta)
PCD: Plataforma de Coleta de Dados
PIC: Programmable Interface Controller (Controlador de Interface Programável)
PWM: Pulse-Width Modulation (Modulação por Largura de Pulso)
RAM: Random Access Memory (Memória de Acesso Aleatório)
RISC: Reduced Instruction Set Computer (Computador com Conjunto Reduzido de
Instruções)
RX: Receiver (Receptor)
SCD: Sistema de Coleta de Dados
SCK: Serial Clock (Relógio Serial)
SCL: Serial Clock (Relógio Serial)
SD Card: Secure Digital Card (Cartão Digital Seguro)
SDA: Serial DAta (Dado Serial)
SDCS: Shield Data Chip Select (Módulo de Dados de Seleção de Chip)
SDK: Software Development Kit (Pacote de Desenvolvimento de Software)
Smartphone: telefone celular com recursos computacionais
SPI: Serial Periheral Interface (Periférico de Interface Serial)
SWT: The Standard Widget Toolkit (Ferramenta Padrão de Dispositivo)
Tablet: dispositivos computacional com tela sensível ao toque
vii
Touch-screen: tela sensível ao toque
TTL: Transistor-Transistor Logic (Lógica Transistor-Transistor)
TX: Trasmiter (Transmissor)
UCP: Unidade Central de Processamento
upload: envio de dados
USB: Universal Serial Bus (Interface Serial Universal)
VANT: Veículos Aéreos Não Tripulados
VIN: Voltage IN (Entrada de Voltagem)
XCLR: Extra Clear (Limpador/Inicializador Extra) – Entrada Digital
viii
LISTA DE QUADROS
QUADRO 1. Versões do Arduino e as suas principais características ..............
11
QUADRO 2. Dados do hardware do Arduino Uno .............................................
12
QUADRO 3. Participação do android no mercado de smartphones em
2013......................................................
22
QUADRO 4. Custo dos componentes e softwares utilizados no protótipo ......... 50
QUADRO 5. Valor total calculado com redução ................................................. 51
ix
LISTA DE FIGURAS
Figura 1. Plataforma de Coleta de Dados (PCD) típica em 2013 .....................
07
Figura 2. Mapa de PCD instaladas no Brasil em 2013 .....................................
08
Figura 3. PCD instalados em Mato Grosso do Sul em 2013 ............................
08
Figura 4. Visão anterior e posterior da Placa Arduino Uno ...............................
12
Figura 5. Placa Arduino e seus principais componentes ..................................
13
Figura 6. Tela principal de programação do Processing ..................................
15
Figura 7. Sensor DHT22 e a especificação de seus pinos, em 2013 ...............
16
Figura 8. Sensor de barométrico BMP085 e especificação de pinos ...............
17
Figura 9. Módulo de Cartão SD ........................................................................
19
Figura 10. Baterias usadas de telefone celular ligadas em série .....................
20
Figura 11. Placa solar e suas voltagens correspondentes ...............................
21
Figura 12. Gráfico de participação do Android no mercado de Tablets ............
22
Figura 13. SDK e AVD na barra de atalhos do Eclipse ....................................
24
Figura 14. Esquema de ligação do DHT22 ao Arduino ....................................
35
Figura 15. Protótipo ligando o sensor DHT22 ao Arduino ................................
36
Figura 16. Esquema de ligação do sensor BMP085 ao Arduino ......................
37
Figura 17. Protótipo ligando o sensor BMP085 diretamente ao Arduino...........
37
Figura 18. Interligação das conexões do Módulo de Cartão SD ......................
39
Figura 19. Protótipo da miniplataforma com o módulo de cartão de memória..
39
Figura 20. Protótipo de miniplataforma com todos os seus componentes........
40
Figura 21. Saída serial dos dados coletados pelo sensor DHT22 ....................
42
Figura 22. Saída serial dos dados coletados pelo sensor BMP085 .................
42
Figura 23. Saída serial do código de temporização de hora e data .................
43
Figura 24. Saída serial do código do Módulo Cartão SD ..................................
44
Figura 25. Saída do código final da miniplataforma ..........................................
46
Figura 26. Baterias ligadas em série e sua voltagem correspondente .............
47
Figura 27. Protótipo montando em funcionamento ...........................................
48
Figura 28. Protótipo com o Led indicador de energia aceso ............................
49
Figura 29. Miniplataforma acomodado na caixa hermética ..............................
49
Figura 30. Tela do Eclipse, a aplicação no emulador AVD e o seu layout........
51
Figura 31. Smartphone fazendo leitura dos dados da miniplataforma .............
52
x
Figura 32. Tablet fazendo leitura dos dados da miniplataforma .......................
52
Figura 33. Planilha comparativa entre dados do equipamento certificado e da
miniplataforma ................................................................................
54
Figura 34. Gráfico de linhas comparativo das temperaturas medidas ..............
54
Figura 35. Gráfico de linhas comparativo das pressões medidas ....................
55
Figura 36. Gráfico de linhas comparativo das umidades medidas ...................
55
Figura 37. Gráfico de erro quadrático médio das temperaturas coletadas........
56
Figura 38. Gráfico de erro quadrático médio das umidades coletadas ............
57
Figura 39. Gráfico de erro quadrático médio das pressões coletadas .............
57
xi
1. INTRODUÇÃO GERAL
A importância da agricultura de precisão tem sido cada vez maior no
aumento e na qualidade da produção, pois permite e possibilita que todos os
passos dessa atividade sejam planejados, baseados em dados previamente
coletados ou calculados com uma predição extremamente alta. Soluções
tecnológicas têm sido desenvolvidas e incorporadas à produtividade em empresas
rurais cada vez em ritmo mais acelerado, já que não basta apenas produzir, mas
com a atual demanda mundial a eficiência produtiva tem justificado o uso mais
crescente da tecnologia no campo.
A agricultura de precisão está baseada na coleta de dados para
análise prévia e tomada de decisão posterior, o que justifica o seu uso e,
praticamente, torna-se obrigatório para a obtenção de resultados cada vez
melhores, de forma que novas soluções devem ser mais acessíveis e inovadoras
para poder atingir a todos, principalmente, àqueles que não dispõem de recursos
para custear os altos preços no uso de tecnologias mais modernas.
Dentro deste contexto está o conhecimento prévio dos ciclos
naturais que interferem diretamente na produção como a temperatura, a pressão
e a umidade, que possibilitam desde a escolha da forma como será preparado o
plantio, o tipo de variedade a se escolher e a colheita, por exemplo.
Assim, a observação empírica e imprecisa de dados meteorológicos
cede lugar à coleta metódica e disciplinada que permite a formatação desses
dados, para que a interpretação possa ser concluída de forma bastante rápida,
fácil e eficaz.
Miniplataformas meteorológicas podem ser construídas por alunos
do Ensino Fundamental e Médio, com extrema simplicidade e baixíssimo custo,
comparados às Plataformas de Coleta de Dados (PCD) profissionais, porém, têm
2
o inconveniente de não serem robustas, com leituras analógicas dos
equipamentos e não conectadas entre si, por serem feitas artesanalmente e com
baixo nível tecnológico.
Em contrapartida, as grandes plataformas de coleta de dados
conseguem coletar dados meteorológicos de regiões com extensão territorial mais
vasta, no entanto, com o inconveniente de não disponibilizarem dados pontuais e
de também não estarem acessíveis a toda a gama de produtores, como os de
subsistência e familiares.
A construção de miniplataformas meteorológicas sobre uma
plataforma pequena e robusta, com os instrumentos interconectados, funcionando
digitalmente, e disponibilizados a partir de uma saída que facilite a leitura online,
individualmente, permitindo, ao mesmo tempo, que se possa armazenar em
bancos de dados próprios, tem como intenção a obtenção e coleta de dados
agrometeorológicos com muito mais precisão com relação às PCD, pois os
realizam as coletas de forma localizada.
Com isso, agricultores e pecuaristas de todas as categorias, com um
custo acessível, teriam informações locais sobre o clima, facilitando o manejo de
lavouras e animais com recursos tecnológicos satisfatórios.
Pretende-se,
neste
trabalho,
tanto
na
coleta
quanto
na
disponibilização dos dados meteorológicos, agregar os recursos de tecnologias
avançadas e livres para o desenvolvimento de um protótipo de uma
miniplataforma de coleta de dados agrometeorológicos, que são o hardware para
prototipagem Arduino e a plataforma para dispositivos móveis Android.
Assim,
o
objetivo
geral
desta
pesquisa
foi
construir
uma
miniplataforma de coleta de dados agrometeorológicos, de baixo custo, utilizando
as tecnologias livres Arduino e Android.
Desta forma os objetivos específicos compreenderam:
- conhecer o contexto histórico que problematizou a necessidade da construção
de alternativas para a agricultura de precisão;
- compreender as tecnologias que foram adotadas, tanto com relação ao uso
adequado do hardware e software;
- estudar códigos envolvidos para o seu devido funcionamento, agregado ao
conhecimento de técnicas de programação para a formatação dos dados de
saída;
3
- realizar consultas aos Data Sheet (manuais técnicos), livros especializados e
sites dos respectivos fabricantes (listados na bibliografia) do equipamento e dos
sensores que foram utilizados no experimento e no seu desenvolvimento;
- descrever a modelagem do protótipo da miniplataforma, a confecção e a
programação;
- realizar testes para observar o funcionamento do protótipo;
- apresentar planilha de custos do protótipo da miniplataforma;
- apresentar planilha sobre as limitações do protótipo como a autonomia de
baterias, alcance, etc.
4
2. REVISÃO GERAL DE LITERATURA
2.1. Agricultura de precisão
O conceito de Agricultura de Precisão surgiu com os experimentos
de uniformidade (uniformity trials) a cidade de Rothamsted, na Grã-Bretanha, por
volta de 1925, e também, com os estudos do nível de acidez do solo em 1929, na
Universidade de Ilinois, nos Estados Unidos. No entanto, o desenvolvimento
maior tem ocorrido nos últimos anos e vem ao encontro com o desenvolvimento
tecnológico para o setor, principalmente, no que tange à produção de grãos, como
uso de Sistema de Posicionamento Global - GPS (Global Positioning System),
monitoramento na produtividade de grãos, uso de geoestatística e banco de
dados georeferenciados, assim como, o monitoramento por Veículos Aéreos Não
Tripulados (VANT) (MACHADO, 2004).
Os recentes desenvolvimentos e adoção dos conceitos para prática
de manejo na agricultura de precisão têm implicado em mudanças fundamentais
no processo de tomada de decisão quanto ao uso das tecnologias agrícolas
geoespaciais e de informação. Assim, exemplo como o uso racional de insumos
preservação
e
rastreamento
de
produtos
agrícolas
tem
demonstrado
possibilidades reais de ganhos econômicos, como também, de benefícios
ambientais, e também, a possibilidade de análise de venda da produção no
período mais viável.
2.2. Dados agrometeorológicos
Elementos como tempo e clima afetam diretamente o crescimento e
o desenvolvimento das culturas sobre diferentes formas e nas diversas fases do
5
seu ciclo de crescimento podendo ocasionar prejuízos na sua produção, portanto,
os dados de temperatura e umidade relativa do ar têm extremas importâncias no
clima de determinada região, interferindo diretamente no rendimento das culturas,
tornando o estudo dessas variáveis relevante no planejamento das atividades
agrícolas (TERRA et al., 2011).
Nas diferentes regiões do mundo, a cada ano que passa, as
características do clima não se apresentam mais como as anteriores, assim,
invernos quentes com fortes incidências de eventos extremos de frio e períodos
de estiagem mais prolongados são alguns exemplos de alterações climáticas que
tem causado grandes impactos (CAMARGO et al., 2006).
Dessa forma o clima afeta não só o crescimento, o desenvolvimento
e produtividade, mas também, a relação dos microrganismos, fungos, bactérias e
insetos com as plantas, beneficiando ou não o surgimento de pragas e doenças
que, consequentemente, demandam de medidas específicas no seu controle,
sendo que, ainda, muitas práticas na propriedade rural, tais como, o preparo do
solo, semeadura, adubação, irrigação, pulverização e colheita, entre outras
práticas, dependem exclusivamente das condições climáticas para que possam
surtir o efeito desejado e eficiente (MAVI e TUPPER, 2004).
Mavi e Tupper (2004) comentam que as principais variáveis
meteorológicas que afetam o crescimento, o desenvolvimento e a produtividade
são a temperatura, a chuva e a radiação solar, sendo que, há ainda a influência
do fotoperíodo (duração do dia), umidade relativa do ar e do solo, da velocidade e
direção do vento. A agrometeorologia estuda a influência do tempo e do clima na
produção e tem papel fundamental e estratégico na compreensão e na resolução
dos problemas enfrentados na agropecuária.
2.3. Planejamento agropecuário e tomada de decisões
O planejamento agrícola refere-se às ações relativas ao passo
anterior ao cultivo, momento em que se inicia a programação do empreendimento
agrícola. Dessa forma, tem-se que o planejamento baseia-se nas informações
advindas do clima e de suas variabilidades no local em que se pretende realizar o
cultivo. O zoneamento agroclimático trata das informações agrometeorológicas de
6
cada região, as quais determinam a aptidão climática da localização geográfica do
cultivo, sendo estas diferentes de área para área (MONTEIRO, 2009).
Dessa forma Monteiro (2009) descreve tomada de decisões como a
formatação das informações coletadas, ou seja, são as ações tomadas com base
na avaliação das informações disponíveis, portanto, a possibilidade de decidir
entre as várias opções alternativas que levam a determinando resultado.
Assim sendo, as condições meteorológicas em um sistema de
produção agropecuário apresentam-se como fatores externos que influenciam no
crescimento, no desenvolvimento e na produtividade das plantas e animais, sendo
que durante o seu ciclo de vida respondem diretamente às condições
meteorológicas, que são formados por uma soma de fatores que podem causar
os efeitos dos mais favoráveis até os mais desfavoráveis à produtividade,
portanto, a agrometeorologia tem por função colocar os conhecimentos da
meteorologia à disposição da agricultura e da pecuária com a meta de se obter a
maior e melhor produtividade da forma mais sustentável e com o menor risco
econômico possível (MONTEIRO, 2009).
2.4. Plataforma de Coleta de Dados (PCD)
Segundo o INEMA (2012), PCD é um dispositivo que dispõe de
sensores eletrônicos capazes de medir diversas variáveis climáticas como
precipitação, pressão atmosférica, radiação solar, luminosidade, temperatura,
umidade, direção e velocidade do vento. Normalmente, estes aparelhos são
instalados de modo a cobrir grandes extensões do território monitorado para
análise de dados macroclimáticos. São estações que coletam, armazenam e
transmitem, com comunicação via satélite, dados meteorológicos. A criação das
PCD foi motivada devido à necessidade de se obter regularmente dados
ambientais, coletados, geralmente, de lugares remotos ou por uma região muito
grande (Figura 1).
7
Figura 1. Plataforma de Coleta de Dados Meteorológicos
Fonte: INPE (2013).
Nesse contexto, pode-se entender que miniplataformas de coleta de
dados meteorológicos são conjuntos de dispositivos eletrônicos com capacidade
de cobertura territorial menor e com quantidade de sensores também menores,
como por exemplo, temperatura, pressão e umidade, para coleta de dados
microclimáticos de uma microregião, permitindo, assim, o registro de informações
localizadas e individualizadas de uma determinada faixa do setor produtivo,
configurando uma situação de agricultura de precisão.
O Sistema de Coleta de Dados (SCD) é formado pelo conjunto de
satélites SCD1, SCD2 e CBERS3 (coleta de imagens para monitoramento), pelas
diversas redes de PCD espalhadas pelo território nacional, pelas Estações de
Recepção de Cuiabá e de Alcântara e pelo Centro de Missão Coleta de Dados.
Neste sistema os satélites funcionam como retransmissores de dados, em que a
comunicação entre cada PCD e as estações de recepção é estabelecida. A Figura
2 ilustra o mapa dos PCD instaladas no Brasil em 2013 (INEMA, 2012).
8
Figura 2. Mapa das PCD instaladas no Brasil em 2013
Fonte: INPE (2013).
A Figura 3 apresenta o mapa das PCD instaladas no Estado de Mato
Grosso do Sul em 2013.
Figura 3. PCD instaladas no Estado de Mato Grosso do Sul em 2013
Fonte: INPE (2013).
9
2.5. Tecnologia de prototipagem Arduino
O primeiro Arduino foi criado em janeiro de 2005, baseado em
circuito básico com um microcontrolador AVR Atmega8, criado pela empresa
americana Atmel Corporation, no Instituto de Interatividade e Design da Escola de
Artes Visuais, em Ivrea, na Itália. Surgiu a partir de uma ideia dos professores de
Computação Física David Cuartielles e Massimo Banzi e que tinha como objetivo
criar uma ferramenta de hardware que fosse facilmente utilizável e programável
por pessoas não técnicas e especialistas em computação, e que não fosse cara,
para o desenvolvimento de estruturas interativas no curso de Arte e Design
(SILVEIRA, 2013).
Banzi
(2011)
descreve
Arduino
como
uma
plataforma
de
computação física de fonte aberta, com base em uma interface simples de
entrada/saída (input/output), agregada a um ambiente de desenvolvimento
conhecido como Processing, podendo ser utilizado para desenvolver projetos
interativos independentes ou conectado a softwares no computador (como o
Flash, Processing, etc.), sendo que as suas placas podem ser montadas
manualmente ou compradas já pré-montadas.
O Arduino foi criado para o ensino de Design (desenho) de
Interação, subárea do design que tem a prototipagem como centro de sua
metodologia, que segundo o autor tem como definição: “Design de Interação é o
projeto de qualquer experiência interativa” e que: “No mundo atual, o Design de
Interação preocupa-se com a criação de experiências significativas entre nós
(humanos) e objetos” (BANZI, 2011).
McRoberts (2011) cita que o Arduino foi criado sob as licenças Open
Source que possibilita que muitos projetistas de hardware criem versões e/ou
clones próprios, entre os quais alguns são: Freeduino, Roboduino, entre outros,
sendo que a única ressalva que os criadores fazem é que não se use o nome
“Arduino”. Assim, o Arduino é um pequeno computador que se pode programar
para processar entradas e saídas entre a placa e os componentes externos
conectados a ele, ou seja, é uma plataforma de computação física ou embarcada,
um sistema que interage com seu ambiente utilizando-se de hardware e software.
A evolução da microeletrônica, devido à miniaturização constante
dos circuitos integrados e o aumento do número de suas funcionalidades,
10
conforme afirmam Lima e Villaça (2012), foi a responsável pelo desenvolvimento
de circuitos eletrônicos cada vez mais compactos e programáveis, portanto, um
microprocessador pode ser conceituado como um circuito integrado composto por
portas lógicas organizadas de forma que seja possível efetuar aritméticas lógicas
e digitais.
A seguir estão listadas as vantagens e desvantagem do Arduino com
relação a outras tecnologias semelhantes.
Vantagens:
- se trata de um ambiente multiplataforma, podendo ser executado nos principais
Sistemas Operacionais como: Windows, Macintosh e Linux;
- tem por base o Processing: ambiente de desenvolvimento fácil de ser utilizado
por qualquer pessoa não especialista em computação;
- pode ser programado utilizando-se a conexão USB do computador, sem a
necessidade de uma porta serial;
- serem hardware e software de fontes abertas, permitindo-se criar o próprio
Arduino, sem ter de pagar nada aos seus criadores;
- ter custo baixo, cerca de R$ 40 (quarenta reais em dezembro de 2013);
- possuir comunidades ativas com muitos programadores e projetistas pelo mundo
que disponibilizam seus códigos e projetos de forma livre;
- ter sido desenvolvido para ambiente educacional, sendo ideal para iniciantes
para obtenção de resultados rápidos.
Desvantagem:
- alguns componentes acopláveis (shields) produzidos por fabricantes únicos
podem ter custo maior, portanto, encarecendo os projetos que as usam.
2.5.1. Hardware Arduino
Segundo Silveira (2013), o Arduino é constituído por uma CPU
(Central Processing Unit – Unidade Central de Processamento) que, por sua vez,
é formada por uma ALU (Arithmetic Logic Unit - Unidade Lógica e Aritmética) e
um conjunto de registradores de uso geral, sendo que o seu bloco de memórias
agrega as memórias de programa e memória de dados, e em seu bloco de
11
Entrada/Saída (E/S) estão as ports (portas), que são circuitos de interfaces de
entrada e saída.
As características físicas do Arduino Uno são (ARDUINO UNO,
2012):
- 14 pinos de entrada e saída digitais, dos quais 6 podem ser usados como saídas
PWM (Pulse-Width Modulation - Modulação por Largura de Pulso), utilizadas para
controlar o valor da alimentação entregue à carga;
- 6 entradas analógicas;
- 1 oscilador de cristal de 16 Mhz;
- 1 conexão USB;
- 1 conector para alimentação de energia;
- 1 conector ISCP (In-Circuit Serial Programming – Programação de Circuito em
Série) para programação do dispositivo através de interface serial e;
- 1 botão de reset (reinicialização).
QUADRO 1. Versões do Arduino e as suas principais características
Arduino
Diecimila
Duemilanove168
Duemilanove328
Mega
Processador
ATmega8
ATmega168
ATmega328
ATmega1280
Memória flash
8K
16 K
32 K
128 K
Memória RAM
1K
1K
2K
8K
512 bytes
512 bytes
1K
4K
Pinos digitais
14
14
14
54
Pinos analógicos
6
6
6
16
Saídas PWM
3
6
6
14
Memória
EEPROM
Fonte: SILVEIRA (2013, p.28).
Este
conjunto
é
suficiente
para
o
funcionamento
do
microcontrolador, bastando ligá-lo a um computador através de um cabo USB ou
conectá-lo a um adaptador AC/DC (Alternate Current/Direct Current - Corrente
Alternada/Corrente Contínua) ou ainda a bateria ou pilhas. O Arduino Uno é
diferente de todas as versões anteriores por não usar o FTDI (Future Technology
12
Devices International - Tecnologia Internacional para Dispositivos Futuros), cabo
para conectar placas antigas em computadores novos com entrada USB
(Universal Serial Bus – Interface Serial Universal), mas sim a tecnologia
Atmega8U2 programada, como um conversor USB para serial, que permite a
ligação direta entra placa-computador via cabo USB. O Quadro 2 apresenta os
dados do hardware do Arduino Uno (ARDUINO UNO, 2012).
QUADRO 2. Dados do hardware do Arduino Uno
Microcontrolador
Atmega328
Voltagem de operação
5V
Voltagem de entrada (recomendado)
7-12V
Voltagem de entrada (limite)
6-20V
Pinos E/S analógicos
14 (dos quais 6 fornecem saída PWM)
Pinos de entrada analogical
6
Corrente DC por pino de E/S
40 mA
Corrente DC para pino de 3.3V
50 mA
32 KB (Atmega328) dos quais 0.5 KB usados
Memória do tipo Flash
para o bootloader (gerenciador de
inicialização)
Memória do tipo SRAM
2 KB (Atmega328)
Memória do tipo EEPROM
1 KB (Atmega328)
Velocidade temporizador (clock)
16 MHz
Fonte: ARDUINO (2013).
As Figuras 4 e 5 apresentam a interface frontal e posterior do
Arduino Uno e os seus principais componentes, que serão detalhados mais a
frente.
13
Figura 4. Visão anterior e posterior da Placa Arduino Uno
Fonte: Arduino Uno (2012).
Figura 5. Placa Arduino e seus principais componentes
Fonte: Vivaolinux (2012).
A descrição dos pinos de alimentação da placa tem as seguites
características (ARDUINO UNO, 2012):
- VIN - Voltage IN (Entrada de Voltagem): entrada de tensão da placa Arduino que
quando utilizada uma fonte externa de energia, caso não utilizando conexão USB
ou fonte de alimentação regulada (que fornece 5 Volts). Utilizado para fornecer
tensão através desse pino, ou, se o fornecimento de tensão for realizado através
do conector de alimentação, que também pode ser através deste pino;
- 5 V : a fonte de alimentação regulada usada para alimentar a placa e outros
componentes ligadas a ela, que pode vir do pino VIN através de um regulador na
placa ou ser fornecido pelo USB ou outra fonte regulada de 5V;
- 3.3 V : fonte de 3,3 volts gerado pelo regulador da placa, tendo como corrente
máxima 50 mA (mili Ampére);
14
- GND : pino terra (neutro).
As funções específicas de cada pino estão descritas a seguir:
- Série 0 (RX) e 1 (TX): utilizados para receber (RX) e transmitir (TX) dados
seriais TTL (Transistor-Transistor Logic – Lógica Transistor-Transistor) e são
conectados aos pinos correspondentes do chip Atmega8U2 USB-para-TTL serial;
- Interruptores externos 2 e 3: podem ser configurados para disparar uma
interrupção por um valor baixo, uma margem crescente ou decrescente, ou uma
alteração no valor, por exemplo utilizando-se a função attachInterrupt() no código
de programação;
- PWM 3, 5, 6, 9, 10 e 11: proporciona saída PWM (Pulse-With Modulation –
Modulação por Largura de Pulso) de 8 bits utilizando a função analogWrite();
- SPI (SS), 11 (MOSI), 12 (MISO), 13 (SCK) 10: pinos que suportam comunicação
SPI (Serial Periheral Interface – Periférico de Interface Serial), usando a biblioteca
SPI5;
- LED 13: LED embutido conectado ao pino digital 13, que indica quando pino
está em HIGH (Led ligado) e quando o pino está em LOW (Led desligado);
O Arduino Uno conta com 6 entradas analógicas, nominados de A0
a A5, possuindo cada um 10 bits de resolução, que por padrão medem o negativo
e o terra até 5 volts, embora seja possível alterar o valor superior de sua faixa de
uso com o pino AREF (Analog Reference – Referência Analógica) e a função
analogReference() (ARDUINO UNO, 2012).
A seguir, descreve-se a função específica dos pinos especializados:
- I2C - A4 (SDA – Serial DAta – Dado Serial): que transmite e recebe dados
digitais e A5 (SCL – Serial Clock – Relógio Serial), que recebe o sinal de clock
para sincronismo da placa: ambos são responsáveis por dar suporte a
comunicação I2C (Inter-Integrated Circuit - Integração Entre Circuitos), usado
para conectar periféricos de baixa velocidade a uma placa, utilizando-se a
biblioteca Wire (ARDUINO, 2013);
Existe outro par de pinos na placa:
- AREF: voltagem referência para as entradas analógicas (somente de 0 a 5V),
utilizada com a biblioteca de programação analogReference();
15
- Reset: utilizado para resetar (reinicializar) o microcontrolador quando utilizado
em LOW (baixo), permite adicionar um componente-botão de reset para os
dispositivos que bloqueiam a placa.
2.5.2. Ambiente de programação Processing
O Processing é um ambiente de programação de código aberto para
criar imagens, animações e interações. Inicialmente desenvolvido para servir
como um sketchbook (caderno de desenho) de software e para ensinar
fundamentos de programação de computadores dentro de um contexto visual
evoluiu para uma ferramenta profissional (PROCESSING, 2013).
McRoberts (2011) afirma que para programar para o Arduino podese utilizar a sua IDE, um Software Livre (Free Software) e se pode escrever o
código na linguagem compreendida pelo o Arduino, que é baseada na linguagem
C. O Ambiente de Desenvolvimento Integrado (IDE - Integrated Development
Environment) permite que se escrevam programas que são transmitidas para o
Arduino que executará as instruções. O Arduino pode também pode ser estendido
utilizando-se shields como GPS, displays de LCD (Liquid Cristal Diod – Diodo
Cristal Líquido), módulos Ethernet, Bluetooth, wireless, etc.
A Figura 6 apresenta a Interface da IDE de programação Arduino
Processing.
16
Figura 6. Tela principal de programação do Processing
2.6. Sensor de temperatura e umidade DHT22
Para a captura dos dados de temperatura e umidade foi utilizado o
DHT22, um sensor que realiza leituras de temperatura e umidade do meio externo
e retorna ao Arduino em formato digital para que seja lido e registrado pelo código
programado.
Segundo o DHT22 Data Sheet (2013), as sua características físicas
são:
- Tensão de alimentação: 3 a 5.5 V DC (5V DC recomendado);
- Saída do sinal: digital de 1 fio;
- Tipo do sensor: Capacitivo;
- Faixa de medição: Umidade: 0% a 99.9% RH e Temperatura: - 40 a 80 ºC;
- Precisão: Umidade: +/- 2 % RH e Temperatura: +/- 0,5 ºC (MAX +/- 1 ºC);
- Resolução: Umidade: 0,1% e Temperatura: 0,1 ºC;
- Período de medição: 2s;
- Dimensões: 25 x 15 x 7mm.
O DHT22 possui 4 pinos, sendo o pino 1 utilizado para alimentação
(fase), o pino 2 utilizado para dados, o pino 3 sem utilização (não conectado) e o
pino 4 utilizado como terra (GND - neutro), como verificado na Figura 7.
17
Figura 7. Sensor DHT22 e a especificação de seus pinos, em 2013
Fonte: BOXTEC (2013).
No esquema de interligação do DHT22 no Arduino, utiliza-se um
protoboard, ligando os pinos 1 e 2 (ligado a um resistor de 10 K) na alimentação
de energia de 5 V do Arduino (fios vermelhos), ligando-se ainda o pino 2 na
entrada PWM 5 (fio verde) na placa, que deverá constar no código a interligação
com o PWM 5 (#define DHT22_PIN 4), que é um dos pinos de entrada digital do
Arduino, sendo o pino 4 , ligado ao terra (neutro) via protoboard no GND do
Arduino (fio preto) (DHT22 DATA SHEET, 2013).
2.7. Sensor de pressão e altitude BMP085
O sensor de pressão (barométrico) BMP085 é utilizado para medir
pressão barométrica e altitude, através de cálculos de pressão padrão e de
temperatura, sendo este último não utilizado pelo fato do sensor DHT22 ser mais
preciso.
Segundo o BMP085 Data Sheet (2013), as características físicas do
sensor são:
- Variação de sensibilidade de pressão: 300 - 1100 hPa (9000m a -500m);
- Resolução: até 0.03h Pa / 0.25m de resolução (altitude);
- Variação de operação de temperatura: - 40 a + 85 °C;
- Precisão de temperatura: +-2°C (precisão baixa);
- Precisão de medida de pressão: 0.06hPa (0.5m) – (precisão alta);
- Conexão: Interface I2C - 2 pinos;
18
- Alimentação de energia: 1.8V~3.6V (VDDA) ou 1.62V~3.6V (VDDR);
- Consumo de corrente elétrica: 5uA (modo padrão);
- Dimensões: 1,9 cm x 1,9 cm.
O BMP085 possui 6 pinos de conexão dos quais apenas 4 são
ligados, sendo que o pino 1 ligado na alimentação de energia, o pino 2 no terra
(neutro), o pino 3 (EOC) sem ligação, o pino 4 (XCLR) também sem conexão,
sendo os pino 5 e 6 ligados na conexão ANALOG IN (conexão analógica do
Arduino). A Figura 8 apresenta o sensor barométrico BMP085 e as especificações
de cada um de seus pinos.
Figura 8. Sensor barométrico BMP085 e especificações de pinos
Fonte: Hobbyking (2013).
Dos 6 pinos de conexão do BMP085 apenas 4 são ligados, sendo
estes:
- pino 1 (VCC): ligado ao Arduino na conexão de alimentação de energia de 5 V;
- pino 2 (GND): na conexão terra (ou neutro);
- pino 5 (SCL - Relógio Serial): ligado à conexão ANALOG IN 5;
- pino 6 (SDA - Dados Serial): ligado na ANALOG IN 4.
2.8. Registro de tempo
19
Foram pesquisadas duas formas de se registrar o tempo, data e
hora, para o Arduino, sendo: inserir rotina no código, utilizando a função millis(),
com uma função específica para contagem e tratamento do tempo decorrido,
como hora e data; ou acoplar ao protótipo shield próprio com bateria e sistema de
clock específico que faça a contagem de hora e data.
A solução escolhida foi de temporização por código, já que um dos
objetivos do trabalho é o preservar os custos do protótipo o mais baixo possível
para que possa alcançar desde produtores rurais de grande escala à agricultores
familiares.
Nesta rotina de código utiliza-se a função millis() que, de acordo com
o Arduino Millis (2013), retorna o número de milissegundos desde o início da
execução do código, podendo-se realizar, desta forma, o cálculo de hora e data
utilizando-se variáveis que interagem com esta função.
2.9. Armazenamento dos dados
A alternativa adota no trabalho para os dados recebidos foi a de
gravação em cartão de armazenamento do tipo SD, para que possa ser recolhido
quando se desejar e realizar a leitura e análise dos dados posterior.
Segundo SD Card Data Sheet (2013), as características físicas que
o módulo Cartão SD apresenta são:
- Tensão de entrada: 5V ou 3,3V;
- Formatos de SPI: MOSI, SCK, MISO e SDCS;
- Dimensões: 5.1 x 3.1cm;
- Formatação: FAT16 ou FAT32.
A Figura 9 ilustra o módulo de cartão SD.
20
Figura 9. Módulo de Cartão SD
Fonte: Mlstatic (2013).
Especificação das conexões:
- GND: conecta ao terra (neutro) do Arduino;
- 3,3 V: conecta ao pino de alimentação de 3,3 V;
- 5 V: conecta ao pino de alimentação de 5 V;
- SDCS (Shield Data Chip Select – Módulo de Dados de Seleção de Chip): para
transferir dados usando uma saída SPI (Serial Peripheral Interface – Interface
Serial Periférica) padrão, ou seja, possibilita que dispositivos possam transmitir
dados usando a mesma linha de transmissão, logo, o dispositivo irá “escutar”
todos os dados, porém só atuará nos dados quando selecionado. Quando em 0
(zero) qualquer dado é ignorado. Conectado ao pino 4. Mesmo que o SDCS não
seja utilizado no código, deve estar conectado como uma saída, caso contrário a
biblioteca SD do Arduino não irá funcionar;
- MOSI (Master Out Slave In – Saída Mestre Entrada Escravo): uma das formas
de comunicação de dispositivos comentada na SPI; neste caso, o Arduino é o
Mestre, enquanto que o módulo é o escravo, conectado ao pino 11;
- MISO (Master In Slave Out – Entrada Mestre Saída Escravo): faz o trabalho
inverso do MOSI em que o mestre usa a entrada e o escravo a saída, conectado
ao pino 12.
- SCK (Serial Clock – Relógio Serial): saída que sincroniza os dados, conectado
ao pino 13;
- GND (Ground – Terra): outra saída terra (neutro), caso haja necessidade, porém
não há a necessidade de estar conectado.
2.10. Baterias
21
Para abastecer o protótipo que necessita de uma voltagem (ddp –
diferença de potencial) acima de 6 V (entre 6 a 20 V), sendo o ideal entre 7 a 12
V, foram utilizadas baterias de celular de Li-ion (Lithium-ion - Lítio-íon) usadas,
modelo MO-334, com 3,7 V e 1000 mAh (mili Ampére hora) cada, havendo,
portanto, a necessidade de interligá-las em série para alcançarem, juntas,
voltagem acima de 7 V (recomendado).
A Figura 10 exibe as duas (02) baterias usadas de telefone celular ligadas
em séries.
Figura 10. Baterias usadas de telefone celular ligadas em série
2.11. Placa solar
A viabilidade do uso de forma autônoma e autocarregável do
protótipo, sem interferência para troca de pilhas ou baterias, evitando o risco de
ficarem descarregadas e prejudicarem as leituras e gravações dos dados
coletados, analisou-se a possibilidade do uso de fonte de energia renovável e
barata.
A solução neste caso, já que o protótipo tem como finalidade ficar à
campo e a céu aberto, foi o uso de energia solar com o auxílio de placa captadora
22
e transformadora de energia luminosa em energia elétrica em auxílio às baterias
de celular utilizadas.
Assim, implementou-se a ligação da placa solar às baterias para que
sejam constantemente carregadas enquanto houver luz solar e na sua ausência,
principalmente durante às noites, as baterias terão carga completa para
suportarem o fornecimento de energia até que a luz solar retorne.
A placa solar apresenta as seguintes características:
- voltagem: média de 6 V de saída, sendo teste de medição aproximado de 6,34 V
às 16:30 h com o céu nublado e 10,25 V às 10:30 h com o céu ensolarado
(podendo chegar a picos de mais de 12 V com o sol mais intenso);
- corrente: a corrente corresponde em torno de 400 mA;
- potência: 2,4 W;
- medidas: 13 x 13 cm.
As fotografias da Figura 11 mostram as voltagens medidas na placa
solar nos horários citados acima.
Figura 11. Placa solar e suas voltagens correspondentes
2.12. Plataforma Android
Jobstraibizer (2009) destaca que o Android é um sistema operacional
Open Source do Google para dispositivos móveis, através da aquisição, em 2005,
de empresas que atuavam na área, com o objetivo de levar seus softwares ao
maior número de usuários possível. Cita ainda que é baseado no sistema
operacional Linux, ciado por Linus Torvalds em 1991, tem como logotipo um
23
pequeno robô de cor verde, sendo atualmente o mais utilizado em smartphones
(telefones celulares com características computacionais) e tablets (dispositivos
computacionais com tela sensível ao toque).
O Quadro 3 mostra a participação do Android no mercado de
smartphones e tablets, principais dispositivos móveis em uso.
QUADRO 3. Participação do Android no mercado de smartphones em 2013
Sistema
Operacional
2013 Unit
2013 Unit
2013 Unit
2013 Unit
Year-over-
Shipments
Share
Shipments
Share
Year
(%)
Change (%)
(%)
Android
187.4
79.3
108
69.1
73.5
iOS
31.2
13.2
26
16.6
20.0
Windows Phone
8.7
3.7
4.9
3.1
77.6
BalckBerry OS
6.8
2.9
7.7
4.9
-11.7
Linux
1.8
0.8
2.8
1.8
-35.7
Symbian
0.5
0.2
6.5
4.2
-92.3
Others
N/A
0.0
0.3
0.2
-100.0
236.4
100.0
156.2
100.0
51.3
Total
Fonte: IDC Worldwide Mobile Phone Tracker (2013).
A Figura 12 apresenta a participação do Android no mercado de Tablets.
24
Figura 12. Gráfico de participação do Android no mercado de Tablets
Fonte: Androidplay (2013).
Para Lecheta (2010), o mercado de telefones celulares cresce cada
vez mais já que estudos mostram que atualmente mais de 3 bilhões de usuários,
buscando cada vez mais aparelhos com diversos recursos como câmeras,
músicas, bluetooth, melhores interfaces visuais, jogos, GPS, internet, e-mail e
televisão digital entre outros. Define que se trata de proposta do Google para
ocupar este nicho de mercado, consistindo em um sistema e plataforma de
desenvolvimento para dispositivos móveis, baseada no sistema operacional Linux,
com diversas aplicações já instaladas e possibilitando o desenvolvimento de
aplicativos em um ambiente de desenvolvimento bastante poderoso, ousado e
flexível. Atualmente o Google delegou o desenvolvimento do Android a Open
Handset Alliance (Aliança de Telefonia Aberta) - OHA.
O fato de o Android ser de código livre contribui muito para seu
aperfeiçoamento, já que desenvolvedores do mundo todo podem contribuir com o
seu código-fonte, adicionando novas funcionalidades e corrigindo falhas, pois os
desenvolvedores de aplicações podem desfrutar de uma plataforma de
desenvolvimento moderna e com diversos recursos (LECHETA, 2010).
2.13. Ambiente de programação Eclipse
O Eclipse é um Ambiente de Desenvolvimento Integrado (IDE Integrated Development Environment) que foi inicialmente desenvolvida pela
25
empresa americana IBM (International Business Machines – Equipamentos de
Comércio Internacional) em novembro de 2001. Atualmente é um dos ambientes
mais utilizados no mundo, especialmente por utilizar SWT (The Standard Widget
Toolkit – Ferramenta Padrão de Dispositivo) como biblioteca gráfica e tem como
grande vantagem o desenvolvimento baseado em plugins, softwares que
adicionadas à ferramenta agregam novas funcionalidades. Em janeiro de 2004 foi
criada uma fundação sem fins lucrativos que faz o suporte do projeto Eclipse, The
Eclipse Fundation (Fundação Eclipse) (ECLIPSE, 2013).
O
Android
SDK
(Software
Development
Kit
–
Pacote
de
Desenvolvimento de Software) é um pacote de bibliotecas de API (Application
Programming Interface - Interface de Programação de Aplicativos) e ferramentas
de desenvolvimento necessárias para construir, testar e depurar aplicativos para o
Android. O SDK pode ser encontrado no pacote ADT (Android Developer Tools –
Ferramentas
de
Desenvolvimento
Android),
no
site
Developer
Android
(http://developer.android.com/sdk/index.html) para os sistemas operacionais
Windows®, MacOS® e Linux para as suas mais diversas versões (DEVELOPER
ANDROID, 2013).
A Figura 13 apresenta os ícones do SDK e AVD na barra de atalhos
do Eclipse.
Figura 13. SDK e AVD na barra de atalhos do Eclipse
26
REFERÊNCIAS BIBLIOGRÁFICAS
ANDROID DEVELOPER. Site oficial do Developer Android SDK. Disponível
em: <http://www.developer.android.com>. Acesso em: 26 ago. 2013.
ARDUINO MILLIS. Site oficial do Arduino Millis. Disponível
<http://www.arduino.cc/en/Reference/millis>. Acesso em: 10 abr. 2013.
em:
ARDUINO UNO. Site oficial do Arduino UNO. Disponível em:
<http://www.arduino.cc/en/Main/ArduinoBoardUno>. Acesso em: 25 nov. 2012.
BANZI, M. Primeiros passos com Arduino. São Paulo. Novatec Editora, 2011.
152 p.
BMP085 Data Sheet. BMP085 Digital Pressure Sensor. Disponível em:
<http://www.adafruit.com/datasheets/BMP085_DataSheet_Rev.1.0_01July2008.p
df>. Acesso em: 23 mar. 2013.
CAMARGO, C. G. C.; BRAGA, H.; ALVES, R. Mudanças climáticas atuais e
seus impactos no Estado de Santa Catarina. Agropecuária Catarinense, v. 19,
n. 3, p. 31-35, nov. 2006.
DHT22 Data Sheet. Digital relative humidity & temperature sensor RHT03.
Disponível
em:
<http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Weather/RHT03.pdf>.
Acesso em: 20 fev. 2013.
27
ECLIPSE.
Site
oficial
do
Eclipse.
Disponível
<http://www.eclipse.org/documentation/>. Acesso em: 26 ago. 2013.
em:
INEMA - Instituto do Meio Ambiente e Recursos Hídricos da Bahia. O que é uma
PCD?
Disponível
em:
<http://www.inema.ba.gov.br/wpcontent/uploads/2011/10/O-que-%C3%A9-uma-PCD.pdf>. Acesso em: 01 nov.
2012.
JOBSTRAIBIZER, F. Criação de aplicativos para celulares com Google
Android. São Paulo: Digerati Books. 2009. 128 p.
LECHETA, R. R. Google Android - Aprenda a criar aplicações para
dispositivos móveis com o Android SDK. 2ª edição. NovaTec Editora, 2010.
608 p.
LIMA, C. B.; VILLAÇA, M. B. M. AVR e Arduino as Técnicas de Projeto. Edição
dos Autores. Florianópolis - SC. 2a Edição. 2012. 632 p.
MACHADO, P. L. O. A. Agricultura de precisão para o manejo da fertilidade
do solo em sistema plantio direto. Rio de Janeiro. Embrapa, 2004. 209 p.
MAVI, H. S.; TUPPER, G. J. Agrometeorology – Principles and application of
climate studies in agriculture. New York: Food Products Press. 2004. 364 p.
McROBERTS, M. Arduino básico. [tradução Rafael Zanolli]. São Paulo: Novatec.
Editora. Primeira Edição. Setembro 2011. 456 p.
MONTEIRO, J. E. B. A. Agrometeorologia dos Cultivos: O fato meteorológico
na produção agrícola. Instituto Nacional de Meteorologia. INMET. 1ª Edição.
Brasília – DF, 2009. 530 p.
PROCESSING.
Site
oficial
do
Processing.
<http://www.processing.org>. Acesso em: 25 nov. 2012.
Disponível
em:
SD
Card
Data
Sheet.
SD
Card
Shield.
Disponível
em:
<ftp://imall.iteadstudio.com/IM120417007_Stackable_SDCard_shield/DS_IM12041
7007_StackableSDCardshield.pdf>. Acesso em: 19 abr. 2013.
SILVEIRA, J. A. Experimentos com Arduino. Editora Ensino Profisional. 2ª
Edição. 2013. 200 p.
TERRA, V. S. S.; JÚNIOR, C. R.; TIMM, L. C.; CARVALHO, F. L. C.; PEREIRA, J.
F. M. Análise espacial da temperatura e umidade relativa do ar em um pomar
de pessegueiro, no município de Morro Redondo - RS. Agricultura de Precisão
– Um Novo Olhar. EMBRAPA, 2011. 334 p.
3 ARTIGO
DESENVOLVIMENTO DE MINIPLATAFORMA DE COLETA DE
DADOS METEOROLÓGICOS PARA PEQUENOS PRODUTORES
RURAIS UTILIZANDO AS TECNOLOGIAS LIVRES ARDUINO E
ANDROID
29
DESENVOLVIMENTO DE MINIPLATAFORMA DE COLETA DE DADOS
METEOROLÓGICOS PARA PEQUENOS PRODUTORES RURAIS UTILIZANDO
AS TECNOLOGIAS LIVRES ARDUINO E ANDROID
RESUMO
A agricultura de precisão está se tornando tendência atual no agronegócio,
principalmente pela demanda mundial crescente por alimentos em contrapartida à
diminuição das terras agricultáveis. Para resolver esta problemática, deve haver
melhora da produtividade com redução de custos, assim, a tecnologia tornou-se
aliada no aumento de produção, possibilitando planejar o processo produtivo,
desde o preparo do solo, a colheita, racionalização do uso de fertilizantes,
insumos e o cuidado com o meio ambiente. Assim, a partir do uso de tecnologias
computacionais livres, pretende-se oferecer aos produtores rurais de pequeno
porte, como agricultura familiar e orgânica, solução para a obtenção de dados
meteorológicos confiáveis para auxílio no ciclo produtivo. O objetivo desta
pesquisa foi criar uma miniplataforma agrometeorológica de baixo custo utilizando
o Arduino, que se trata de um conjunto computacional com sensores e
componentes para coleta de dados e o Android, sistema operacional mais
utilizado em dispositivos móveis na atualidade. Os resultados mostraram a
viabilidade na coleta de dados que servirão como subsídios nas tomadas de
decisão do pequeno produtor quando convertidos em ações de planejamento.
Palavras-chave:
Agronegócio;
agricultura
de
precisão;
tecnologias
computacionais livres; agricultura familiar e orgânica; tomadas de decisão.
30
DEVELOPMENT OF MINIPLATAFORM OF AGROMETEOROLOGICAL DATA
COLLECTION FOR SMALL RURAL PROCUCERS USING THE FREE
TECHNOLOGIES ARDUINO AND ANDROID
ABSTRACT
Precision agriculture is becoming mainstream in agribusiness, mainly by
increasing global demand for food in contrast to the decrease in arable land. To
solve this problem, there should be improvement in productivity with cost
reduction, thus technology became allied in increasing production, enabling plan
production process, from soil preparation, harvesting, rational use of fertilizers,
inputs and care for the environment. Thus, from free use of computer
technologies, we intend to provide small farmers, like organic and family
agriculture, solution for obtaining reliable weather data to aid in the production
cycle. The objective of this research was to create a agrometeorological
miniplataform low cost using the Arduino, which is a computational conjunction
with sensors and components for data collection and the Android operating system
used in most mobile devices today. The results showed the feasibility of collecting
data that will serve as inputs in decision making of the small producer wh en
converted into planning actions.
Keywords: Precision Agriculture; agribusiness; free computer technologies;
organic and family agriculture; decision making.
31
3.1. INTRODUÇÃO
O avanço da agricultura de precisão alavanca cada dia mais o
desenvolvimento do agronegócio e tem motivado tecnologias antes destinadas a
outros nichos de mercado a serem cada vez mais aplicadas, como produtos e
serviços, a atender a demanda crescente deste setor produtivo. Tecnologias
como sistemas de automação, monitoramento e sensoriamento remoto tem
alcançado o meio rural, trazendo benefícios e consolidando o uso de técnicas que
permitem a melhoria na qualidade e quantidade de produtos agropecuários dentro
do mesmo espaço, aumentando com isso a competitividade e a produtivicade no
campo.
Para Silva et al. (2012), a agricultura de precisão relaciona conceitos
inovadores e desafiadores que interagem de forma bastante coesa com a
otimização da produtividade em contrapartida a um menor impacto ambiental
possível. Portanto, o diferencial para a adoção da agricultura de precisão deve
estar fundamentada na redução do uso de insumos e de agrotóxicos, refletindo
em uma melhoria na preservação do meio ambiente, ao mesmo tempo em que
propicia
um
aumento
da
produtividade
com
reflexos
na
melhoria
da
competitividade, propiciando maiores ganhos financeiros.
Mantovani et al. (2005) explica que existem três fases distintas que
compõem a agricultura de precisão: coleta dos dados meteorológicos através dos
sensores Data Loggers (coletor/gravador de dados) e GPS (Global Position
System – Sistema Global de Posicionamento), instalados nos equipamentos de
colheita; organização dos dados em mapas, interpretação e diagnóstico e;
interferência no sistema de produção.
Neste contexto, tecnologias livres tais como o Arduino e Android
tornam-se alternativas interessantes ao pequeno produtor uma vez que ambas
têm baixos custos, o que permite o acesso à essas tecnologias em todo ciclo
produtivo rural.
Margolis (2011) descreve que o Arduino foi projetado para ser de
fácil uso aos iniciantes, àqueles que não possuem conhecimento de programação
ou de eletrônica, e que com ele se pode construir objetos que respondam à ação
de luz, som, toque e movimento, sendo utilizado, também, para criar uma
32
infinidade de projetos, incluindo instrumentos musicais, robôs, esculturas de luz,
jogos,roupas interativas, entre outros.
Para realizar a leitura dos dados gravados pela miniplataforma a
partir do Arduino foi criado um software utilizando-se a plataforma Android, e seu
principal ambiente de programação é o IDE Eclipse, que realiza a leitura
diretamente do dispositivo de armazenamento, inserindo-a no equipamento e
retornando os valores na tela do telefone celular, smartphone ou tablet.
Jobstraibizer (2009) define o Android como um sistema operacional
Open Source (Código Aberto) para dispositivos móveis, adquirido pelo Google em
2005, de empresa de mesmo nome que atuava na área, com o objetivo de
abranger seus softwares ao maior número possível de usuários, que tem como
símbolo um pequeno robô de cor verde e é atualmente o sistema operacional
mais utilizado em dispositivos móveis.
O objetivo geral desta pesquisa é o de criar uma miniplataforma de
coleta de dados agrometeorológicos, de baixo custo, utilizando-se tecnologias
computacionais livres. Para tanto tem os seguintes objetivos específicos: realizar
consultas aos Data Sheet (Manuais Técnicos), livros especializados e sites dos
fabricantes dos componentes e dos sensores que foram utilizados no experimento
e no desenvolvimento do equipamento; compreender as tecnologias que foram
adotadas, tanto com relação ao uso adequado do hardware envolvido, como dos
códigos envolvidos para o seu devido funcionamento; conhecer as técnicas de
programação para a formatação dos dados de saída; conhecer o contexto
histórico que problematizou a necessidade da construção de alternativas para a
agricultura de precisão; descrever a modelagem do protótipo da miniplataforma, a
confecção e a programação; realizar testes para observar o funcionamento do
protótipo; apresentar a planilha de custos do protótipo da miniplataforma e;
apresentar planilha sobre as limitações do protótipo como a autonomia de
baterias, alcance, etc.
33
3.2. MATERIAL E MÉTODOS
3.2.1. Material
Foram utilizados diversos materiais no trabalho entre hardwares e
softwares, descritos a seguir.
Hardwares:
- 01 Kit Arduino UNO Rev3 (Arduino e cabo USB conector de dados e energia);
- 01 Protoboard;
- 01 Sensor de temperatura e umidade DHT22;
- 01 Sensor de pressão e altitude BMP085;
- 01 Módulo de Leitura/Escrita Cartão SD;
- 01 Resistor 10 KΩ;
- 08 Fios jumper Premium macho de 20 cm;
- 17 Fios jumper Premium macho de 10 cm;
- 01 conector de energia;
- 01 chave liga/desliga;
- 01 cartão de armazenamento de memória Flash SD;
- 02 baterias de celular Li-ion usadas de 3,7 V e 1000 mAh;
- 01 placa solar 6 V e 400 mA (13 x 13 cm);
- 01 Notebook (Core i3 – QuadCore, 4 GB memória RAM e 500 GB de disco
rígido).
Softwares:
- Sistema operacional: Linux Ubuntu 13.04 ou Microsoft Windows 8®;
-
Software
Processing
Arduino:
arduino-1.0.5-linux64
ou
arduino-1.0.5-
windows.exe.
- ADT Bundle: adt-bundle-linux-x86_64-20130219 ou ADT-bundle-windowsx86_64-20131030.zip.
3.2.2. Métodos
A
metodologia
adotada
para
o
desenvolvimento
de
uma
miniplataforma de coleta de dados meteorológicos foi o desenvolvimento e o
34
delineamento. O trabalho constitui-se de uma pesquisa experimental e explicativa,
baseado na criação de um hardware e de softwares que regulam e formatam suas
funcionalidades e seus resultados.
3.2.2.1. Implementação do projeto
A implementação deste trabalho se divide nas seguintes etapas:
- Testes no Arduino;
- Sensores e módulo;
- Protótipo;
- Aplicação do Android.
3.2.2.1.1. Testes no Arduino
Esta fase foi determinada pelos testes de funcionamento realizados
na placa Arduino Uno Rev3, tais como:
- ligação dos cabos na placa e no notebook;
- verificação de resposta (via Leds) do fornecimento de energia;
- upload (transferência) de programas-exemplos à placa;
- verificação da resposta a programa-exemplo que utiliza saída de sinal luminoso
via Led e;
- verificação da resposta a programa-exemplo via saída serial do Processing.
3.2.2.1.2. Sensores e módulo
Esta fase consistiu na montagem inicial de todos os sensores e
módulos e códigos de forma individual, de forma a realizar os testes de ligação e
código e, posteriormente, foram realizadas as interconexões com todos os
sensores e o módulo, junção de seus códigos e testes posteriores de coleta de
dados.
O sensor DHT22:
Segundo o DHT22 Data Sheet (2013), o esquema de interligação
segue seguinte determinação:
35
- pino 1: na alimentação de energia de 5 V do Arduino;
- pino 2: ligado a um resistor de 10 KΩ e deste na alimentação de energia de 5 V
do Arduino;
- pino 2: na entrada PWM 5 na placa, e que consta no código a interligação com o
PWM 5 (#define DHT22_PIN 4) na entrada 4 do Arduino, que é um dos pinos de
entrada digital do Arduino, responsável pelo envio dos dados do sensor ao
Arduino;
- pino 3: sem ligação;
- pino 4: ligado ao terra (neutro) via protoboard no GND do Arduino .
A Figura 14 especifica o esquema de ligações do sensor DHT22 ao
Arduino utilizando-se protoboard.
Figura 14. Esquema de ligação do DHT22 ao Arduino
Fonte: Mlstatic (2013).
A Figura 15 ilustra as ligações realizadas, havendo apenas a
substituição das cores de alguns dos fios jumper com relação ao esquema devido
à ausência das cores sugeridas, porém obedecidas todas as interligações e
disposições ilustradas.
36
Figura 15. Protótipo ligando o sensor DHT22 ao Arduino
Fonte: Imagem de fonte própria.
Realizadas as ligações, o conjunto foi ligado ao notebook via cabo
USB e executados os passos:
- inicialização do ambiente de programação Processing;
- inserção do código;
- importação a biblioteca DHT22.h para o diretório libraries;
- verificação e depuração de erros;
- envio do código ao Arduino;
- execução e verificação dos dados coletados via saída serial.
Sensor BMPO85:
Segundo o BMP085 Data Sheet (2013), o esquema de ligação, que
não utilizou protoboard, seguiu as especificações descritas a seguir:
- pino 1 (VCC): ligado ao Arduino na conexão de alimentação de energia
de 5 V (fio vermelho);
- pino 2 (GND): na conexão terra ou neutro (fio preto);
- pino 5 (SCL - Relógio Serial): ligado à conexão ANALOG IN 5 (fio verde);
- pino 6 (SDA - Dados Serial): ligado na ANALOG IN 4 (fio azul).
O esquema de interligação do BMP085, sem o uso de protoboard,
está ilustrado na Figura 16.
37
Figura 16. Esquema de ligação do sensor BMP085 ao Arduino
Fonte: Mlstatic (2013).
A Figura 17 mostra a ligação do BMP085 realizada diretamente na
placa Arduino, havendo a substituição das cores de alguns dos fios jumper com
relação ao esquema da Figura 16 devido à ausência das cores do esquema, no
entanto todas as interligações e disposições foram realizadas corretamente.
Figura 17. Protótipo ligando o sensor BMP085 diretamente ao Arduino
Após a montagem foram realizados os passos:
- inicialização o ambiente de programação Processing;
- inserção do código;
- importação da biblioteca BMP085.h para o diretório libraries;
- verificação e depuração de erros;
- envio do código;
38
- execução e verificação dos dados coletados via saída serial.
Data e hora:
Neste passo foram realizados testes na rotina de registro de data e
hora com o uso da função millis(), com uma função específica para contagem e
tratamento do tempo decorrido, retornando o número de milissegundos desde o
início da execução do código enviado. Para realizar os cálculos utilizaram-se as
variáveis: seg, min, hor, dia, mes e ano que interagindo com a função millis() e o
código incrementam cada uma de forma a avançar sucessivamente registrando
devidamente a hora e a data (ARDUINO MILLIS, 2013).
Para a análise do registro de data/hora foram realizados os passos:
- inicialização o ambiente de programação Processing;
- inserção do código;
- verificação e depuração de erros;
- envio do código;
- execução e verificação dos dados coletados via saída serial.
Nesta fase, utilizando-se o código pode-se inserir uma rotina de
código para definir a periodicidade de escrita no cartão de memória, que se
estabeleceu que fosse de hora em hora.
Módulo SD Card:
O módulo de cartão SD possui 16 pinos, organizados e funcionando
em 8 pares, que são ligadas ao Arduino da seguinte forma (SD CARD DATA
SHEET, 2013):
- pinos 1 e 2 (par 1): terra (neutro) conectado ao GND;
- pino 3 e 4 (par2): + 3,3V - conectado à saída 3,3V;
- pinos 5 e 6 (par 3): + 5v - não conectado;
- pinos 7 e 8 (par 4): SDCS - conectado à entrada digital PWM 7 do Arduino;
- pinos 9 e 10 (par 5): MOSI - conectado à entrada digital PWM 11;
- pinos 11 e 12 (par 6): SCK - conectado à entrada digital PWM 13;
- pinos 13 e 14 (par 7): MISO - conectado à entrada digital PWM 12;
- pinos 15 e 16 (par 8): GND - não conectado.
A Figura 18 mostra a especificação das ligações do Módulo SD Card
ao Arduino diretamente, sem uso de protoboard.
39
Figura 18. Interligação das conexões do Módulo de Cartão SD
Fonte: Webtronico (2013).
A Figura 19, por sua vez, ilustra as ligações do módulo SD Card
realizadas utilizando-se o protoboard.
Figura 19. Protótipo da miniplataforma com o módulo de cartão de memória
Após a montagem do módulo procedeu-se utilizando os passos a
seguir:
- inicialização o ambiente de programação Processing;
- inserção do código;
- verificação e depuração de erros;
- envio do código;
- execução e verificação dos dados coletados via saída serial.
40
3.2.2.1.3. Protótipo
Encerrada a fase de montagem, instalação, codificação, depuração
e captação dos dados de cada um dos sensores DHT22, BMP085, da rotina de
Data/Hora e do módulo SD Card separadamente, o passo a seguir consistiu na
integração de todos os sensores e módulos no protótipo e da integração de todos
os códigos, para que a coleta e leitura e retorno (via saída serial) dos dados
pudesse ser feito de forma unificada.
Os passos percorridos foram:
- interligação dos sensores e módulo ao protoboard e ao Arduino;
- inicialização do ambiente de programação Processing;
- inserção do código unificado (DHT22, BMP085, rotina Data/Hora e SD Card);
- verificação e depuração de erros;
- envio do código;
- execução e verificação dos dados coletados via saída serial.
A Figura 20 mostra o protótipo com os sensores DHT22, BMP085 e
o módulo SD Card conectados ao Arduino via protoboard.
Figura 20. Protótipo de miniplataforma com todos os seus componentes
41
3.2.2.1.4. Aplicação Android
Como complementar a coleta de dados pela miniplataforma foi
criada uma aplicação, chamada de DroidReport, que possibilita a leitura dos
dados coletados em loco via Cartão SD, quando retirado do protótipo e inserido
no tablet ou smartphone, realize a leitura dos dados nele armazenados.
O ambiente Eclipse trata-se de uma Interface de Desenvolvimento
Integrado (IDE) para desenvolvimento de aplicações Android. Os arquivos
utilizados para criar o app (aplicativo) foram (ECLIPSE, 2013):
- MainActivity.java: localizado no diretório src/com.droidpoint/, arquivo que define
as funcionalidades Java da aplicação Android;
- R.java: localiza-se no diretório gen/com.droidreport/, este arquivo une os códigos
e funcionalidades do MainActivity.java e activity_main.xml, ou seja, arquivo que
automaticamente vai sendo escrito à medida que códigos são inseridos no
arquivos citados; este arquivo não deve ser alterado, pois o próprio sistema IDE
(Eclipse-ADTBundle) se encarrega de escrevê-lo;
- activity_main.xml: localiza-se no diretório res/layout/, é o arquivo de layout da
tela principal do aplicativo Android;
- AndroidManifest.xml: localiza-se no diretório raíz da aplicação, este arquivo é o
sistema nervoso central da aplicação Android, onde se definem todas as
funcionalidades da aplicação.
3.3. RESULTADOS E DISCUSSÃO
A coleta dos resultados dos testes nos sensores, módulo e códigos
associados foi iniciada com o DHT22 que, montado, depurado e corrigidos os
erros, foi transferido para memória flash do Arduino e executado, que resultou na
saída serial do Processing, que segundo Processing (2013), trata-se da interface
de programação do Arduino. A Figura 21 ilustra o Processing e sua saída serial.
42
Figura 21. Saída serial dos dados coletados pelo sensor DHT22
A seguir, após a montagem do sensor BMP085, inserção e
depuração de seu código, foi realizado o upload (transferência) do programa. Os
resultados são visualizados conforme a Figura 22.
Figura 22. Saída serial dos dados coletados pelo sensor BMP085
43
O passo posterior foi o de realizar os testes de Data/Hora que, após
testes exaustivos de geração de código e resolução dos seus problemas, gerou a
saída desejada, ilustrada na Figura 23.
Figura 23. Saída serial do código de temporização de hora e data
Finalmente se realizou os testes com o módulo de cartão SD Card e
a geração de seus respectivos código, que também demandou de longas
tentativas de acerto até que houvesse a saída desejada conforme a Figura 24.
44
Figura 24. Saída serial do código do Módulo Cartão SD
Após os testes individuais de cada um dos itens descritos houve a
junção de todos os sensores e módulo e também de seus respectivos códigos, de
forma que o resultado fosse a coleta conjunta de dados necessários para que se
configurasse uma miniplataforma.
A interligação dos componentes seguiu os mesmos esquemas de
quando conectados individualmente, iniciando pelo DHT22, passando pelo
BMP085 e finalizando com o módulo de leitura/gravação SD Card.
A seguir houve o trabalho de se reunir os códigos gerados que
foram:
- DHT22;
- BMP085;
- Data/Hora;
- SD Card.
Em todos os passos, tanto nos testes individuais dos códigos,
quanto da sua junção em um programa único, houve a necessidade de testes de
depuração dos erros, ora causados por questões de sintaxe, geralmente
ocasionados por grafia errada de comandos, nomes de variáveis ou chaves sem
45
serem fechadas, os quais foram resolvidos de forma mais simples apenas
fazendo uma releitura do código; ou ora causados por problemas lógicos, que são
mais difíceis de serem detectados e resolvidos, como, por exemplo, erros de
portas lógicas ou digitais, mal declaradas, os quais não impedem que o código
compile e seja executado, mas provocam saídas erradas de dados, necessitando
que seja realizado um teste de depuração minucioso de item por item, já que nem
sempre estes erros são apontados pelo programa depurador (debugger).
Alguns erros de lógica foram causados pelo uso de bibliotecas
(libraries) e funções erradas, já que se constatou, durante a fase de codificação,
haver vários disponíveis para o mesmo sensor, de fabricantes diferentes,
ocasionando assim a impossibilidade de execução (havendo erros de código não
se permite o envio) ou mau funcionamento dos sensores.
As bibliotecas utilizadas no trabalho são:
- DHT22.h
- Adafruit_BMP085.h
- Wire.h - disponível no diretório libraries do Arduino;
- millis() - função disponível no Arduino;
- SD.h - disponível no diretório libraries do Arduino.
A associação dos códigos dos sensores, temporizador e do cartão
SD foi concluído após diversas tentativas, havendo necessidade de se alterar
códigos, testar bibliotecas diferentes, resolver os problemas gerados, testar
formato de saída e realizar os cálculos necessários, como por exemplo, o da
conversão da pressão de Pascal para Atmosfera e o de altitude para altitude real.
Após repetidas tentativas de acerto, obteve-se os resultados
desejados de forma que o protótipo funcionou corretamente, fez leitura e coleta
dos dados e também conseguiu gravar os dados no Cartão SD de forma
totalmente satisfatória conforme ilustra a Figura 25.
46
Figura 25. Saída do código final da miniplataforma
Em seguida, houve a inserção no sistema das baterias para
fornecimento de energia de forma autônoma, já que com a conexão via cabo USB
o sistema era abastecido pela energia gerada pelo notebook.
O Arduino necessita de uma voltagem (ddp – diferença de potencial)
acima de 6 V (entre 6 a 20 V), recomendando-se entre 7 a 12 V. Cada bateria
possui voltagem em torno de 3,7 V por padrão, portanto, abaixo da necessidade
recomendada, logo interligou-se as em série (polo positivo de um ligado ao polo
negativo do outro) para alcançar voltagem acima de 7 V, resultando sua soma
valor aproximado de 8,3 V.
A Figura 26 mostra a voltagem medida, utilizando-se um multímetro
digital, das baterias usadas de telefone celular já ligadas em série, ou seja, o pólo
positivo de um ligado no polo negativo de outro e os outros polos livres para
serem conectados ao protótipo.
47
Figura 26. Baterias ligadas em série e sua voltagem correspondente
Para que o sistema fosse auto carregável, sem interferência humana
constante para troca de pilhas ou baterias, correndo o risco de ficar descarregado,
utilizada placa solar, que converte energia luminosa em energia elétrica, ligando-a
as baterias para que sejam constantemente carregadas.
A conexão do conjunto foi realizada via protoboard, interligando-as
de forma que, enquanto houver luz solar suficiente, possa carregar as baterias,
sempre as deixando com carga suficiente para abastecer o protótipo.
Os testes realizados demonstraram que as baterias estavam sendo
carregadas pela placa solar durante o período do dia, possibilitando, portanto, que
a miniplataforma fosse autossuficiente no que concerne à necessidade de
energia.
A Figura 27 mostra a voltagem medida, utilizando-se um multímetro
digital, do conjunto todo, com sensores, módulo, baterias e placa interligados
formando a miniplataforma.
48
Figura 27. Protótipo montando em funcionamento
O teste de medida de voltagem da Figura 27 foi realizado às 16 h 34
min, ou seja, com o sol em seu pico descendente, resultando em uma medição
aproximada de 8,36 V, podendo este valor ultrapassar os 12 V com picos de
intensidade maior do sol, portanto, mais do que suficiente, mesmo em seu
período de intensidade mais fraca (8,36 V), para carregar as baterias que
fornecem energia ao protótipo e de manter o equipamento funcionando
corretamente.
A Figura 28 mostra o protótipo em sua configuração final com os
seguintes componentes:
- 01 placa Arduino UNO Rev3;
- 01 protoboard;
- 18 fios jumper;
- 01 sensor temperatura e umidade DHT22;
- 01 sensor de pressão barométrica e altitude BMP085;
- 01 módulo de cartão SD;
- 01 cartão SD de 2 GB (dois Giga Bytes);
- 02 baterias de celular usadas ligadas em série;
- 01 placa solar.
49
Figura 28. Protótipo com o Led indicador de energia aceso
A Figura 28 mostra que o conjunto baterias/placa solar está
funcionando de forma autônoma, observado mediante a iluminação do Led
indicador do Arduino, pois quando este está iluminado (HIGH – alto/aceso) há a
indicação de que está recebendo a energia necessária para operar. Em teste de
campo, realizado durante o período do dia e, posteriormente, durante a noite,
verificou-se que houve a coleta e escrita dos dados.
A Figura 29 apresenta o protótipo acomodado em um recipiente
hermético, que possibilita que a miniplataforma seja colocada a campo para seu
funcionamento sem que as intempéries da natureza, como sol e chuva afetem os
circuitos, conexões, sensores e módulos com o passar do tempo.
Figura 29. Miniplataforma em caixa hermética
50
Com relação aos custos, que foram calculados sempre com o
objetivo de se obter o menor valor possível, justificando o uso de tecnologias
livres, de forma a possibilitar a montagem de um conjunto que fosse funcional,
prático, útil e de fácil acesso, inclusive dos softwares criados, a todos os
produtores rurais. O Quadro 4 apresenta o custo dos componentes e dos
softwares utilizados no protótipo.
QUADRO 4. Custo dos componentes e dos softwares utilizados no protótipo
Quantidade Item
Valor unitário
(R$)*
39,00
Valor total
(R$)
39,00
01
Placa Arduino Uno Rev3 + cabo USB
01
Protoboard
10,00
10,00
23
Fio jumper
0,20
4,60
01
Sensor DHT22
20,00
20,00
01
Sensor BMP085
20,00
20,00
01
Módulo SD Card
10,00
10,00
01
Cartão memória SD Card – 2 GB
10,00
10,00
02
Bateria de celular – usado
0,00
0,00
01
Placa Solar
34,00
34,00
01
Conector de energia
1,00
1,00
01
Chave liga/desliga
1,00
1,00
01
Caixa hermética
20,00
20,00
Total geral
170,00
* Os preços pesquisados são referentes à data de 15 de outubro de 2013, portanto, podendo
sofrer alterações para maiores ou menores valores.
O Quadro 4 representa os gastos realizados na compra de
hardwares e demais componentes, já que os softwares utilizados são livres (Free
Software), que foram feitos durante o processo de implementação do protótipo,
porém deve ser levado em conta que por ser uma proposta de protótipo, portanto
experimental, poderá ter seus custos significativamente reduzidos em caso de
uma produção em série.
51
A consulta dos preços dos componentes utilizados realizada em
sites de comércio de componentes eletrônicos indica que quando adquiridos em
lotes (atacado), sofrem uma redução de custos de aproximadamente 40%
(quarenta por cento), sendo nestas condições enviados sem a cobrança de taxa
de entrega, que possibilita, portanto, se aproximar dos valores calculado no
Quadro 5.
QUADRO 5. Valor total dos componentes e dos softwares adquiridos no atacado
Valores calculados
Porcentagem (%)
Valor (R$)
Total geral (Quadro 4)
100
170,00
Redução de custos (compra por atacado)
40
68,00
Total com redução de custos
60
102,00
O valor de R$ 102,00 (cento e dois reais) pode ser considerado
extremamente viável em contrapartida aos enormes benefícios, em termos das
informações fornecidas, que a miniplataforma pode trazer ao produtor rural em
vista de outros equipamentos similares que existem no mercado.
Com relação à confecção de software para o sistema operacional
Android, executando os códigos e mensurando os seus resultados no emulador
AVD, analisando o layout na tela e a forma como os dados serão visualizados
pelo usuário, foi escrito o código, depurados os seus erros e testado à exaustão
até obter êxito na formatação dos dados da forma desejada. A Figura 30 ilustra a
interface do ambiente de programação Eclipse juntamente à máquina virtual AVD
(Dispositivo Virtual Android) emulando a execução da aplicação DroidReport.
52
Figura 30. Tela do Eclipse, a aplicação no emulador AVD e o seu layout
Após a fase de testes no AVD, a aplicação DroidReport.apk, nome
do arquivo de instalação, gerado pelo Eclipse, foi copiada em cartão SD,
transferida aos dispositivos móveis tablet e smartphone visualizadas na Figura 31.
Figura 31. Smartphone fazendo leitura dos dados da Miniplataforma
A Figura 32 mostra a tela do Tablet com a aplicação DroidReport
sendo executada.
53
Figura 32. Tablet fazendo leitura dos dados da miniplataforma
Foi realizado também o upload (transferência) da aplicação,
DroidReport.apk,
para
site
localizado
em
servidor
próprio
(https://www.insecure.net.br/droidreport.html), para que fosse realizado o teste de
seu download (transferência para os aparelhos), o qual foi realizado com sucesso,
tanto a sua transferência como a sua instalação nos dois dispositivos (tablet e
smartphone).
Terminadas as fases de transferência e instalação, o cartão de
memória com os dados meteorológicos coletados e gravados, foi colocado em
ambos os dispositivos móveis (tablet e smartphone) e utilizando-se a aplicação
DroidReport obteve-se a leitura dos resultados gerados diretamente do cartão,
como era esperado e que fora mensurado nos testes realizados anteriormente no
AVD.
Após os testes de funcionamento, coleta de dados, energia,
armazenamento e software foi realizada a colocação da miniplataforma em
campo, no Centro Meteorológico da Universidade para o Desenvolvimento do
Estado e da Região do Pantanal – UNIDERP, junto à Plataforma Vantage Pro2 –
Duo, da empresa Davis Corporation & Co., fabricado no Estados Unidos da
América - EUA para efeito de validação dados e cálculo de possíveis erros do
protótipo em relação ao equipamento certificado.
54
A coleta de testes de validação foi realizada das 8:30 h do dia 20 de
abril de 2014 às 5:50 h do dia 22 de abril de 2014, sendo realizadas coletas de
dados de temperatura (em graus Celsius), de umidade relativa do ar (em
porcentagem) e da pressão (em Bar) realizados de 5 em 5 minutos, por esta ser a
periodicidade de coleta do equipamento certificado.
A Figura 33 mostra a planilha comparativa com data, hora,
temperatura, umidade e pressão do equipamento certificado e da miniplataforma.
Figura 33. Planilha comparativa entre dados do equipamento certificado e da
miniplataforma
A Figura 34 ilustra gráfico de linhas comparativo entre as
temperaturas, em graus Celsius (0C), do equipamento certificado e da
miniplataforma.
55
Figura 34. Gráfico comparativo das temperaturas em graus “Celsius” medidas
pelo equipamento certificado e da miniplataforma
A Figura 35 ilustra gráfico de linhas comparativo entre as pressões,
em Bar, do equipamento certificado e da miniplataforma.
Figura 35. Gráfico comparativo das pressões “Bar” medidas pelo equipamento
certificado e da miniplataforma
56
A Figura 36 ilustra gráfico de linhas comparativo entre as umidades
relativas do ar, em porcentagem (%), do equipamento certificado e da
miniplataforma.
Figura 36. Gráfico comparativo das umidades relativas do ar em porcentagem
(%) medidas pelo equipamento certificado e da miniplataforma
Após a coleta dos dados, comparação em planilha e geração de
gráficos, foi realizado o cálculo dos erros dos dados gerados pelo equipamento
certificado e pela miniplataforma, em que foi utilizado o método do erro
quadrático. A Figura 37 ilustra o erro quadrático médio calculado em relação às
temperaturas coletadas que gerou um valor de: 0,01198309, ou seja, um erro
quadrático médio aproximado de 1,2%.
57
Figura 37. Gráfico de erro quadrático médio entre as temperaturas do
equipamento certificado e da miniplataforma
A Figura 38 ilustra o erro quadrático médio calculado em relação às
umidades coletadas que gerou um valor de: 0,00034634, ou seja, um erro
quadrático médio aproximado de 0%.
Figura 38. Gráfico de erro quadrático médio entre as umidades medidas pelo
equipamento certificado e da miniplataforma
58
A Figura 39 ilustra o erro quadrático médio calculado em relação às
pressões coletadas que gerou um valor de: 9,4085E-05 ou 9,4085x105, ou seja,
um erro quadrático médio aproximado de 0%.
Figura 39. Gráfico de erro quadrático médio entre as pressões medidas pelo
equipamento certificado e da miniplataforma
A análise dos erros gerados resulta em erros baixos, em torno de
1,2% para as temperaturas comparadas e de 0% para umidade e pressão,
possibilitando concluir que os erros gerados estão dentro da margem satisfatória
e desejada para que a coleta de dados agrometeorológicos seja confiável com a
miniplataforma construída no projeto com os seus sensores, módulos e códigos
utilizados.
3.4 CONCLUSÃO
A agricultura de precisão pode ser apontada como um dos fatores
que poderá auxiliar significativamente na melhoria de produtividade e de gestão
do agronegócio, de forma a melhorar a competitividade em um mercado cada vez
mais exigente, possibilitando diminuir custos, aumentar a qualidade, melhorar a
quantidade da produção no mesmo espaço e até podendo contribuir com a
59
preservação ambiental, desde que se consiga racionalizar o uso de insumos e
defensivos, largamente utilizados na atualidade.
O protótipo da miniplataforma desenvolvido neste trabalho alcança
suas pretensões e vislumbra ampliações futuras de suas funcionalidades, já que
se trata de projeto modular, permitindo, assim, que se agreguem outros
componentes
ao
conjunto
para
coleta
e
leitura
de
demais
dados
agrometeorológicos que se julgue necessário para determinada cultivar ou que
para alguma necessidade pontual para regiões com climas e relevos específicos.
Dessa forma, o protótipo da miniplataforma desenvolvido neste
trabalho alcança seus objetivos e ainda vislumbra aperfeiçoamentos de futuras
funcionalidades, já que por se tratar de um projeto modular, permite agregar a
coleta e leitura de outros dados agrometeorológicos relevantes como: velocidade
do vento, luminosidade, umidade do solo, sensor de chuva e captação automática
de índice pluviométrico.
Destaca-se que com o protótipo da miniplataforma desenvolvido
nesta pesquisa obteve-se resultados desejados, funcionando corretamente para
um modelo de protótipo, fazendo leituras e coleta dos dados de forma correta e
programada, tudo agregado ao fator custo, que ficou dentro das expectativas
estimadas do projeto.
Portanto, baseada nos resultados obtidos, entre montagem do
protótipo, inserção de sensores, módulos, códigos e dos cálculos dos erros
permite concluir que se trata de proposta bastante viável, principalmente por
possibilitar o seu alcance aos produtores rurais de pequeno porte, agricultura
familiar, orgânica e de subsistência no que tange às tecnologias utilizadas e aos
custos envolvidos.
60
REFERÊNCIAS BIBLIOGRÁFICAS
ARDUINO MILLIS.
Site oficial do Arduino Millis. Disponível
<http://www.arduino.cc/en/Reference/millis>. Acesso em: 10 abr. 2013.
em:
ARDUINO UNO.
Site oficial do Arduino UNO. Disponível em:
<http://www.arduino.cc/en/Main/ArduinoBoardUno>. Acesso em: 25 nov. 2012.
BMP085 Data Sheet. BMP085 Digital Pressure Sensor. Disponível em:
<http://www.adafruit.com/datasheets/BMP085_DataSheet_Rev.1.0_01July2008.p
df>. Acesso em: 23 mar. 2013.
DHT22 Data Sheet. Digital relative humidity & temperature sensor RHT03.
Disponível
em:
<http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Weather/RHT03.pdf>.
Acesso em: 20 fev. 2013.
ECLIPSE.
Site
oficial
do
Eclipse.
Disponível
<http://www.eclipse.org/documentation/>. Acesso em: 26 ago. 2013.
em:
FONSECA, E. G. P.; BEPPU, M. M. Apostila Arduino. Niterói. Universidade
Federal Fluminense - UFF. 2010. 23 p.
JOBSTRAIBIZER, F. Criação de aplicativos para celulares com Google
Android. São Paulo: Digerati Books. 2009. 128 p.
MANTOVANI, E. C.; COELHO, A. M.; MATOSO, M. J. Agricultura de Precisão.
2005.
Disponível
em:
<http://www.embrapa.br/imprensa/artigos/2005/ArtigoAgriculturaPrecisao/>.
Acesso em: 30 de ago. de 2013.
MARGOLIS, M. Arduino Cookbook. USA, Editora O'REILLY. 1ª edição. 2011.
634 p.
PROCESSING.
Site
oficial
do
Processing.
<http://www.processing.org>. Acesso em: 25 nov. 2012.
Disponível
em:
SD
Card
Data
Sheet.
SD
Card
Shield.
Disponível
em:
<ftp://imall.iteadstudio.com/IM120417007_Stackable_SDCard_shield/DS_IM12041
7007_StackableSDCardshield.pdf>. Acesso em: 19 abr. 2013.
SILVA, C. B.; MORETTO, A. C.; RODRIGUES, R. L. Viabilidade econômica da
agricultura de precisão: o caso do Paraná. Disponível em:
<http://www.sober.org.br/palestra/12/12O499.pdf>. Acesso em: 30 de ago. de
2013.
Download

Visualizar