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.