sistema inteligente de automatização de bombas de irrigação por

103
Centro de Tecnologia e Urbanismo Departamento de Engenharia Elétrica Jean Carlos Fabiano dos Santos Sistema Inteligente de Automatização de Bombas de Irrigação por Temperatura e Umidade Londrina 17 de novembro de 2014

Upload: dothu

Post on 07-Jan-2017

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sistema Inteligente de Automatização de Bombas de Irrigação por

Centro de Tecnologia e UrbanismoDepartamento de Engenharia Elétrica

Jean Carlos Fabiano dos Santos

Sistema Inteligente de Automatização de Bombasde Irrigação por Temperatura e Umidade

Londrina17 de novembro de 2014

Page 2: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 3: Sistema Inteligente de Automatização de Bombas de Irrigação por

Centro de Tecnologia e UrbanismoDepartamento de Engenharia Elétrica

Jean Carlos Fabiano dos Santos

Sistema Inteligente de Automatização de Bombas deIrrigação por Temperatura e Umidade

Trabalho de Conclusão de Curso apresentado ao Departamento de En-genharia Elétrica da Universidade Estadual de Londrina, como requisitoparcial à conclusão do Curso de Engenharia Elétrica.

Orientador: Prof. Dr. Walter Germanovix

Londrina17 de novembro de 2014

Page 4: Sistema Inteligente de Automatização de Bombas de Irrigação por

Ficha Catalográfica

Jean Carlos Fabiano dos SantosSistema Inteligente de Automatização de Bombas de Irrigação por Temperatura eUmidade - Londrina, 17 de novembro de 2014 - 103 p., 30 cm.Orientador: Prof. Dr. Walter Germanovix

I. Universidade Estadual de Londrina. Curso de Engenharia Elétirca. II. SistemaInteligente de Automatização de Bombas de Irrigação por Temperatura e Umidade.

Page 5: Sistema Inteligente de Automatização de Bombas de Irrigação por

Jean Carlos Fabiano dos Santos

Sistema Inteligente de Automatização de Bombas deIrrigação por Temperatura e Umidade

Trabalho de Conclusão de Curso apresentado aoDepartamento de Engenharia Elétrica da Uni-versidade Estadual de Londrina, como requi-sito parcial à conclusão do Curso de EngenhariaElétrica.

Trabalho aprovado. Londrina, ____ de Novembro de 2014:

Prof. Dr. Walter GermanovixOrientador

Prof. Dr. José Alexandre de FrançaConvidado

Prof. Dr. Francisco de Assis Scannavino JrConvidado

Londrina17 de novembro de 2014

Page 6: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 7: Sistema Inteligente de Automatização de Bombas de Irrigação por

Dedico este trabalho aos meus pais, Suzeli Fabiano Ferreira dos Santos e Claudeir Lopes dos

Santos, nas quais sempre acreditaram e investiram em meus sonhos, me apoiando em todos os

momentos, em quaisquer dificuldades encontradas no caminho até aqui.

Page 8: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 9: Sistema Inteligente de Automatização de Bombas de Irrigação por

Agradecimentos

Agradeço primeiramente a Deus por me dar força, sabedoria e paciência para realizarcom calma todo o trabalho desenvolvido, agradeço aos meus pais que desde sempre nunca me-diram esforços para investirem em uma boa educação para seus filhos. Em especial a minhanamorada Priscila, que sempre esteve ao meu lado me apoiando durante a graduação e enfren-tando comigo todas as dificuldades encontradas. Agradeço ao meu orientador Walter Germa-novix, por ter aceito o desafio de me orientar nesse projeto, me oferecendo uma base sólida efortíssima de conhecimento e ideias. Aos meus professores que auxiliaram no processo peda-gógico que hoje resulta em todo o conhecimento adquirido por mim. Aos meus familiares eamigos mais próximos que de alguma forma durante o meu curso, ajudaram para que hoje essetrabalho fosse concretizado.

Page 10: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 11: Sistema Inteligente de Automatização de Bombas de Irrigação por

"Nossa maior fraqueza está em desistir. O caminho mais certo de vencer é tentar mais uma

vez". Thomas Edison

Page 12: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 13: Sistema Inteligente de Automatização de Bombas de Irrigação por

Jean Carlos Fabiano dos Santos. 17 de novembro de 2014. 103 p. Trabalho de Conclusão deCurso em - Universidade Estadual de Londrina, Londrina.

Resumo

Nos dias de hoje, a água é um fator de suma importância em qualquer meio em que vivemos,com a preocupação de uma escassez futura desse recurso e visto que para o desenvolvimentode qualquer plantio é necessário tal preocupação, foi desenvolvido, durante o transcorrer dotrabalho aqui apresentado, um sistema de automatização de irrigação voltada para a área rural.O protótipo inicial visou um fato de que o grande ponto de uma boa lavoura é uma correta re-gulagem entre a umidade e a temperatura necessária para o ápice de produção, também pode-seafirmar que o déficit hídrico é o que mais afeta o desenvolvimento de quaisquer culturas agríco-las, pois o manejo errado da quantidade de água levada na produção, pode causar pertubaçõesfisiológicas que afetarão o desenvolvimento da planta como um todo. Sabendo disso houve apreocupação em realizar o desenvolvimento de um sistema inteligente de irrigação na qual iráauxiliar na manutenção da lavoura, através de acionamentos realizados por diferentes níveis detemperatura e umidade.O sensor escolhido foi DTH11, um sensor responsável por coletar a temperatura e umidade doar com uma boa precisão para o projeto aplicado. Este determinado sensor capta variações natemperatura de 0𝑜C a 50𝑜C, e na umidade de 20% a 90%, com uma resolução de ± 0.5 paraa variável escolhida. Palavras-Chave: DHT11. Temperatura. Umidade. Irrigação. Automá-tica.

Page 14: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 15: Sistema Inteligente de Automatização de Bombas de Irrigação por

. 17 de novembro de 2014. 103 p. Monograph in - Universidade Estadual de Londrina, Lon-drina.

Abstract

These days, the water is of great importance in any environment we live in, with the concernof a future scarcity of this resource, and since the development planting of any such concernis necessary, was developed during the course of this work presented, a system for automatingirrigation for rural area. The initial prototype begin with a small idea that the great point of agood crop is a correct adjustment between the humidity and the temperature required for thepeak of production, also, we can say that the water deficit is what most affects the developmentof any crop, used as the mishandling of the amount of water taken in production, may unsettlewhich will affect the physiological development of the plant as a whole. Knowing this therewere the concern in undertaking a development of an intelligent irrigation system in which willassist in maintaining the crop through activation by different levels of temperature and humidity.The sensor DTH11 was chosen, responsible for collecting temperature and humidity of air witha good accuracy for the applied project. This particular sensor captures variations between 0𝑜C- 50𝑜C the temperature and the humidity 20% to 90%, with a resolution of ± 0.5 for the chosenvariable.Key-words:DHT11. Temperature. Moisture. Irrigation. Automatic

Page 16: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 17: Sistema Inteligente de Automatização de Bombas de Irrigação por

Lista de ilustrações

Figura 1 – Diagrama de Blocos do Projeto . . . . . . . . . . . . . . . . . . . . . . . . 27

Figura 2 – Demonstração de uma correta conexão do Sensor . . . . . . . . . . . . . . 35

Figura 3 – Diagrama temporal do sinal DATA . . . . . . . . . . . . . . . . . . . . . . 37

Figura 4 – Diagrama de bloco do Menu de Opções . . . . . . . . . . . . . . . . . . . . 46

Figura 5 – Área de Trabalho, tela principal do display. . . . . . . . . . . . . . . . . . . 48

Figura 6 – PIC18F452 no simulador Proteus . . . . . . . . . . . . . . . . . . . . . . . 50

Figura 7 – DHT11 no simulador Proteus . . . . . . . . . . . . . . . . . . . . . . . . . 51

Figura 8 – Teclados push-buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Figura 9 – Filtro Passa-Baixas do Bounce . . . . . . . . . . . . . . . . . . . . . . . . 52

Figura 10 – Software JCFS Irrigações - layout e opacidade . . . . . . . . . . . . . . . . 54

Figura 11 – Display: Tela de abertura . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Figura 12 – Display: Banner do Projeto cadastrado . . . . . . . . . . . . . . . . . . . . 60

Figura 13 – Display: Nomes dos envolvidos no projeto . . . . . . . . . . . . . . . . . . 60

Figura 14 – Display: Tela de boas vindas e configurações iniciais . . . . . . . . . . . . 61

Figura 15 – Menu de Configurações . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Figura 16 – Display: Área de Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Figura 17 – Circuito de simulação de irrigação . . . . . . . . . . . . . . . . . . . . . . 63

Figura 18 – Menu de Ensaio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Figura 19 – Menu de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Figura 20 – Menu de Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figura 21 – Menu de Configurações . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figura 22 – Menu de Ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 23 – Menu Sair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 24 – Gráfico Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Figura 25 – JCFS Irrigações - Coleta de Dados . . . . . . . . . . . . . . . . . . . . . . 68

Figura 26 – Janela de Comando no MatLab . . . . . . . . . . . . . . . . . . . . . . . . 68

Figura 27 – Gráfico gerado automaticamente no MatLab. . . . . . . . . . . . . . . . . . 69

Figura 28 – Caixa de mensagem: Email Enviado . . . . . . . . . . . . . . . . . . . . . 70

Figura 29 – Notificação de Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Figura 30 – Email recebido com sucesso. . . . . . . . . . . . . . . . . . . . . . . . . . 70

Figura 31 – Circuito: Tela de abertura . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Figura 32 – Configurações Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Figura 33 – Configurações Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Figura 34 – Circuito: "Área de Trabalho" . . . . . . . . . . . . . . . . . . . . . . . . . 72

Figura 35 – Circuito: Ensaio temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Figura 36 – JCFS Irrigações: Dados coletados . . . . . . . . . . . . . . . . . . . . . . . 74

Page 18: Sistema Inteligente de Automatização de Bombas de Irrigação por

Figura 37 – MATLAB: Tabela gerada automaticamente . . . . . . . . . . . . . . . . . . 75Figura 38 – MATLAB: Gráfico gerado automaticamente . . . . . . . . . . . . . . . . . 75Figura 39 – Esquemático do circuito roteado . . . . . . . . . . . . . . . . . . . . . . . 77

Lista de tabelas

Tabela 1 – Descrição da Pinagem do PIC18F452 . . . . . . . . . . . . . . . . . . . . . 38Tabela 2 – Comandos básicos do Display Gráfico . . . . . . . . . . . . . . . . . . . . 44

Page 19: Sistema Inteligente de Automatização de Bombas de Irrigação por

Lista de abreviaturas e siglas

DHT11 Digital Humidity and Temperature sensor

PIC Peripherical Interface Controller

CI Circuito Integrado

GLCD Graphic LCD

SMTP Simple Mail Transfer Protocol

TCP Transmission Control Protocol

FTDi Future Technology Devices International

IBGE Instituto Brasileiro de Geografia e Estatística

EMBRAPA Empresa Brasileira de Pesquisa Agropecuária

DNAEE Departamento Nacional de Águas e Energia Elétrica

Page 20: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 21: Sistema Inteligente de Automatização de Bombas de Irrigação por

Sumário

I JUSTIFICATIVA E OBJETIVOS DO TRABALHO 23

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.1 O tema - Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.2 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.2.1 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271.3 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . 28

II FUNDAMENTAÇÃO TEÓRICA 29

2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . . . . . 312.1 Linguagem C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2 Software MikRoC Pro PIC R . . . . . . . . . . . . . . . . . . . . . . . . . 322.3 DTH11 - Sensor de Temperatura e Umidade . . . . . . . . . . . . . . . . 332.3.1 Características e Desenvolvimento . . . . . . . . . . . . . . . . . . . . . 342.3.2 Conexão e Leitura do Sensor . . . . . . . . . . . . . . . . . . . . . . . . 352.3.3 Diagrama Temporal do Sensor DTH11 . . . . . . . . . . . . . . . . . . . 372.4 Microcontrolador Microchip PIC18F452 . . . . . . . . . . . . . . . . . . 382.5 Display Gráfico com Controlador KS0108 . . . . . . . . . . . . . . . . . 39

III EXPERIMENTO E DESENVOLVIMENTO DO CIRCUITODO SENSOR 41

3 PROGRAMAÇÃO E SIMULAÇÃO NO PROTEUS . . . . . . . . . . . 433.1 Display Gráfico KS0108 . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.2 Inicialização do sensor DHT11 . . . . . . . . . . . . . . . . . . . . . . . 453.3 Desenvolvimento da Interface . . . . . . . . . . . . . . . . . . . . . . . . 453.3.1 Menu de Opções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.3.2 Área de Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.4 Simulação no Proteus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.4.1 Simulação do PIC18F452 . . . . . . . . . . . . . . . . . . . . . . . . . . 503.4.2 Simulação do sensor DTH11 . . . . . . . . . . . . . . . . . . . . . . . . . 503.4.3 Desenvolvimento do Teclado de comandos . . . . . . . . . . . . . . . . . 513.4.4 Simulação da comunicação Circuito ⇐⇒ PC . . . . . . . . . . . . . . . 533.5 Microsoft Visual Studio IDE C# . . . . . . . . . . . . . . . . . . . . . . . 533.5.1 Desenvolvimento do Código . . . . . . . . . . . . . . . . . . . . . . . . . 54

Page 22: Sistema Inteligente de Automatização de Bombas de Irrigação por

22 SUMÁRIO

3.5.2 Criação da Porta COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.5.3 Criação servidor de envio de emails . . . . . . . . . . . . . . . . . . . . . 55

IV FECHAMENTO 57

4 RESULTADOS E CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . 594.1 Discussão dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 594.1.1 Simulação via Proteus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.1.2 Simulação Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.1.3 Teste em campo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.1.4 Roteamento do Circuito . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.2 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.2.1 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

APÊNDICE A – ESQUEMÁTICO DO CIRCUITO . . . . . . . . . . . 81

APÊNDICE B – DATASHEET DHT11 . . . . . . . . . . . . . . . . . . 83

APÊNDICE C – DATASHEET DO DISPLAY . . . . . . . . . . . . . . 89

APÊNDICE D – DATASHEET DO PIC18F452 . . . . . . . . . . . . . 91D.0.2 Diagrama de Blocos e Principais Periféricos . . . . . . . . . . . . . . . . 91

Page 23: Sistema Inteligente de Automatização de Bombas de Irrigação por

Parte I

Justificativa e Objetivos do Trabalho

Page 24: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 25: Sistema Inteligente de Automatização de Bombas de Irrigação por

25

1 Introdução

1.1 O tema - Justificativa

Com a crescente ascensão do Brasil no setor da agricultura a cada ano, e assim como naexportação dessas culturas, isso acarreta um constante uso de recursos naturais como a principalenvolvida nessa questão, a água.

A água é um recurso que é pouco preservado e muito visado na atualidade, onde existeo uso desse bem natural, tem-se a ideia de sustentabilidade. A introdução de equipamentoseletrônicos que visam otimizar, analisar e identificar os pontos de melhoria do sistema, possuemum papel muito importante nesse conceito como um todo, pois evitar desperdícios é um fatorcrucial no desenvolvimento de cada economia. Então, através da utilização de sistemas commedições em tempo real, extração e descrição de dados, visulização do ciclo, medição precisae descritiva do comportamento do sistema, pode-se otimizar o uso da água.

Como dito por (JOHN, 2003), "A crescente demanda por recursos hídricos torna neces-sária a utilização mais eficiente da água, tanto em áreas com disponibilidade hídrica limitada,como em regiões que ainda não enfrentam tais restrições. A escolha da tecnologia mais ade-quada e, sobretudo, a promoção de métodos de irrigação que evitam o desperdício são funda-mentais para atender a demanda por alimentos, com o mínimo de impactos ambientais", o usodo correto manejo da água é crucial e necessário no século XXI, pois, em diversos países, jáexistem leis que fiscalizam e protegem esse bem natural.

Sabe-se que o manejo errado da quantidade água a qualquer cultura, seja com falta ouexcesso, acarreta em uma limitação nos rendimentos de produção, pois com o correto manejodesse recurso vem a ser decisivo para a obtenção de altos níves de produção agrícola, que emoutras palavras, foi dito: "Uma grande contribuição na preservação dos recursos hídricos é oavanço nos sistemas de manejo da água e do solo, que contribuem para o aumento da eficiênciado uso da água e produtividade agrícola"(SPOHR, 2007).

Segundo dados do (IBGE, 2014)1 o Brasil, com 8.459.000 km2, possui 3,5 milhõesde hectares com algum tipo de irrigação, sendo que pelos dados informado pelo (DNAEE,Maio,2014)2, apenas 14% de toda a irrigação brasileira, existe algum tipo de otimização dosrecursos hídricos por sistemas automatização, o que é um número muito baixo, tendo em vistaque o Brasil é um dos maiores detentores desses recursos.

Dos diversos meios de irrigação, o que mais vem se destacando, nesse conceito de sus-tentabilidade, é a irrigação por aspersão, visto que é a irrigação que abrange áreas de médio agrande porte, com um controle mais preciso e homogêneo na plantação utilizada, esse tipo de

1 IBGE: Instituto Brasileiro de Geografia e Estatística2 DNAEE: Departamento Nacional de Águas e Energia Elétrica

Page 26: Sistema Inteligente de Automatização de Bombas de Irrigação por

26 Capítulo 1. Introdução

irrigação tem tomado frente nas lavouras brasileiras, pois seu uso passou de 22% para 39% nosúltimos 5 anos (2008-2013), segundo dados do (EMBRAPA, Junho,2014)3.

Algumas vantagens da irrigação por aspersão, são (ROBERTO, 2008):

∙ Possui boa uniformidade de distribuição de água no terreno, o que aumenta a eficiênciade aplicação;

∙ Apresenta menores perdas por evaporação e por infiltração;

∙ Com o projeto e manejo adequados reduzem-se os riscos da erosão causada pela aplicaçãoexcessiva de água;

∙ Controle do micro-clima;

∙ Umidificação do ar e controle da temperatura;

∙ Aplicação de agroquímicos via água, permitindo tratamentos fitossanitários e também aprática da fertirrigação;

∙ Permite uma flexibilidade na taxa de aplicação de água (precipitação), possibilitandoadaptá-la à capacidade de infiltração característica de cada solo, ou à fase de desenvolvi-mento da cultura.

A irrigação por asperção é o meio mais fácil de ter um controle preciso da irrigaçãopor sistemas de automatização, sabendo as facilidades e as vantagens do seu uso, o trabalhorealizado será feito com base nesse tipo de bombeamento.

1.2 Objetivos Gerais

Os objetivos gerais do presente trabalho, que está vinculado ao Projeto de Pesquisa -Inovação Tecnológica, cadastrado sob o número 8060, com o título: Transdução e Processa-mento de Sinais Analógicos com Instrumentação Eletrônica e Microprocessadores, é desenvol-ver um circuito capaz de controlar o bombeamento de água através da temperatura e umidadeambiente, este circuito possuirá automatização em seus acionamentos, sendo necessária umaprimeira configuração de alguns parâmetros para determinados tipos de solo e cultura na qualfoi aplicada tal mecanismo.

Dessa forma o trabalho estará visando a sustentabilidade de pequenas até grandes àreasde cultivo, aumentando a eficiência do plantio e diminuindo perdas com recursos hídricos, tor-nando mais rentável o setor que movimenta a economia brasileira.

Outro fator importante, é o baixo custo, desconsiderando a quantidade a ser utilizadaem uma lavoura, cada unidade completa sairá por menos de R$200,00 para o consumidor finaldo produto.3 Embrapa: Empresa Brasileira de Pesquisa Agropecuária

Page 27: Sistema Inteligente de Automatização de Bombas de Irrigação por

1.2. Objetivos Gerais 27

1.2.1 Objetivos Específicos

Para os objetivos específicos:

∙ Por meio de um PIC desenvolver o projeto;

∙ Utilizar um visor gráfico para melhor interface com o usuário;

∙ Utilizar um sensor de temperatura e umidade em um único componente;

∙ Desenvolver um menu iterativo para fácil manuseio de qualquer pessoa;

∙ Autonomia e automatização nos acionamentos;

∙ Conexão com o computador;

∙ Criação de um software para comunicação entre circuito↔ PC e internet, com backup emservidor deemail;

∙ Desenvolvimento de uma rotina para geração de tabela e gráfico no software MATLABdos dados colhidos;

∙ Minimizar o custo do circuito;

∙ Realizar simulações;

∙ Realizar testes em bancada e em campo;

E o diagrama de blocos da figura 1 descreve toda a montagem a ser realizada:

Figura 1 – Diagrama de Blocos do Projeto

Page 28: Sistema Inteligente de Automatização de Bombas de Irrigação por

28 Capítulo 1. Introdução

1.3 Organização do Trabalho

Para a organização do trabalho:

1. Capítulo 1: Neste capítulo é definido a problematização, justificativa e uma das possíveissoluções para o problema apresentado, em poucas palavras é definido os objetivos geraisa ser alcançados no decorrer do projeto.

2. Capítulo 2: Neste capítulo é descrito algumas teorias e fundamentações detalhadas dosdiferentes periféricos utilizados na montagem do esquemático, além da explicação dealguns componentes essenciais no circuito.

3. Capítulo 3: Neste capítulo é descrito todo o processo de desenvolvimento, são apresentadométodos como foi montado o circuito, hardware e simulações realizadas, além de todosos equipamentos e a estruturação dos softwares, seja no microcontrolador PIC, ou noaplicativo desenvolvido para computador, mais especificamente para sistema operacionalWindows.

4. Capítulo 4: É apresentado os resultados e aplicação do sistema desenvolvido, tanto osresultados em simulações quanto os resultados em bancada.

5. Capítulo 5: Será concluído o trabalho, com a apresentação da conclusão, aplicação epossíveis trabalhos futuros à serem implementados no dispositivo até então criado.

Page 29: Sistema Inteligente de Automatização de Bombas de Irrigação por

Parte II

Fundamentação Teórica

Page 30: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 31: Sistema Inteligente de Automatização de Bombas de Irrigação por

31

2 Fundamentação Teórica

2.1 Linguagem C

C é uma das inúmeras linguagens de programação existentes, no mais pode-se dizerque é uma das mais importantes, se não a mais em todas elas. No início da década de 70 doishomens que trabalhavam no AT& T Bell Labs Dennis M e seu parceiro Brian Kernighan, paradesenvolver o sistema operacional Unix, que originalmente foi escrito em Assembly, acabarampor inventar um novo método de programar, uma linguagem que revolucionou e alavancou aindústria da programação, esta ficou conhecida como a linguagem C(JAMSA, 1999).

Logo ao ser inventada e apresentada às universidades e empresas de tecnologia da época,em pouco tempo, esta linguagem teve grande utilização em diversos pontos espalhados pelomundo, tornando-se quase que oficial em todos os tipos de engenharias no ocorrido momento.Quase tão poderosa quanto a linguagem Assembly, C rapidamente dominou o mercado globalpor ser eficiente, rápida, estruturada, e principalmente mais didática das que até então eramexistentes.

Sabe-se que programas em C são muito mais eficientes, didática e rápidos de seremescritos pelo fato dos compiladores para ele existente possuem diversas bibliotecas de micro-controladores com várias funções e rotinas prontas afim de agilizar e facilitar o trabalho doprogramador, pois deste modo este não precisaria sempre estar programando algumas funçõespara comunicação serial, I2C, PWM, ADC, LCD entre outras, em que dependendo o uso e oprojeto nela aplicado, esta rotina em si já estará pronta a ser realizada (FEOFILOFF, 2008-2009). No entanto, ainda pode-se dizer que uma das enormes vantagens de se programar em Cé o fato de que o usuário não irá precisar se preocupar em desenvolver algorítimos para loca-lização de memória, acesso a bancos, e alguns outros periféricos de microcontroladores pois ocompilador já é o responsável por gerenciar todos esses pacotes, assim tudo isso proporcionaque o programador preocupe-se apenas com o programa a ser desenvolvido, assim ao executara rotina no compilador, este irá fazer uma rápida conversão de C para a linguagem de máquina(.HEX) que é a linguagem universal compreendidas para quaisquer modelo de microcontrola-dores(ARAUJO, 2004).

Page 32: Sistema Inteligente de Automatização de Bombas de Irrigação por

32 Capítulo 2. Fundamentação Teórica

2.2 Software MikRoC Pro PIC R

O MikroC Pro PIC é um dos vários softwares existentes no mercado para compilaçãode códigos C para microcontroladores PIC, este software foi escolhido, por possuir uma vastabiblioteca do display e microcontrolador escolhido, o mesmo possui alguns utilitários que aju-dam e facilitam ao programador trabalhar com Display’s gráficos, pois a partir dele é possívelfazer uma rápida conversão de imagens.

Este software é um compilador da Microelektronika, possui uma versão estudante queé gratuíta para o desenvolvimento de programas com até 20K words, isto é, permite uma boaescrita antes mesmo que solicite uma validação premmium do aplicativo. Este programa é com-patível com os microcontroladores Microchip das famílias 12, 16, 18 e 32, pois destes ele possuíinúmeras bibliotecas de controle dos principais e mais utilizados periféricos. Assim pode-se lis-tar algumas dessas bibliotecas presentes neste software:

∙ One Wire Library

∙ PWM Library

∙ PS2 Library

∙ CANSPI Library

∙ EEPRON Library

∙ Ethernet Library

∙ USB Library

∙ CAN Library

∙ I2C Library

∙ LCD Library

∙ SPI Ethernet Library

∙ RS485 Library

∙ SPI Library

∙ UART Library

∙ GLCD Library

Page 33: Sistema Inteligente de Automatização de Bombas de Irrigação por

2.3. DTH11 - Sensor de Temperatura e Umidade 33

2.3 DTH11 - Sensor de Temperatura e Umidade

O sensor escolhido para o projeto foi um sensor da família DHT, no caso o mais apro-priado e selecionado foi o sensor DHT11, pois apesar de existir sensores com maiores faixasde variações seja na temperatura ou seja na umidade, mesmo que existam resoluções de erromaiores, o sensor DHT11 foi o escolhido por possuir uma faixa de variação plausível para opresente experimento, no caso ele varia de 0𝑜 a 50𝑜 graus Celsius e de 20% à 90% por centona umidade relativa do ar, assim não existe a necessidade de se utilizar um sensor que atinjatemperaturas abaixa de 0𝑜 graus e nem mesmo acima de 50𝑜 graus, visto que nenhuma cultura écultivada em condições extremas de temperatura e umidade. Então, pode-se dizer que o sensorantes mesmo de atingir seus limiares de captação de dados irá ativar ou desativar o sistema debombeamento de água, isto é, a irrigação presente.

O dispositivo é de fabricação chinesa, apesar do mesmo possuir um Datasheet muitolimitado, é relativamente fácil fazer o seu acionamento, sendo que ele possui apenas quatropinos na qual utiliza-se apenas três destes, sendo o Ground, +𝑉𝐶𝐶 e o pino DATA, responsávelem enviar os dados coletados de forma binária.

De acordo com a descrição do Datasheet, DHT11 é um sensor de temperatura e umi-dade que é composto de uma saída digital com precisas calibrações, apesar da simplicidade doencapsulamento, a tecnologia é composta de alguns módulos digitais de forma a garantir umaalta confiabilidade e uma excelente estabilidade do componente a longo prazo. O componenteé composto de uma pequena resistência sensível à umidade, um termistor NTC1, e conectadoà estes um microcontrolador de 8 bits de alto desempenho pré-programado. Este componentepossui transmissão do sinal em longas distâncias, estabilidade a longo prazo, calibração precisafeita em laboratório especializado, resposta rápida (até 2s após a coleta do dados) e principal-mente possui uma boa blindagem contra ruídos ou interferências.

Diversas aplicações podem ser realizadas a partir desse pequeno dispositivo, sejam al-gumas aplicações citadas pelo próprio Datasheet tais como: Desumidificadores de ambiente,teste e inspeção de equipamentos, controle automotivo, inserção em equipamentos de uso coti-diano, coletor de dados de determinado ambiente, acionamentos por temperatura, acionamentospor umidade, pequenas estações meteorológicas, regulador de umidade, chocadeira, medição deumidade médica, entre outras aplicações.

Vale salientar que este componente possui uma enorme desvantagem, ele não pode serutilizado para aplicações que envolvam fogo ou fumaça, isto é, o processo de calibração do seumicrocontrolador envolve alta temperatura e baixa umidade, pois para a calibração o sensor éexposto à temperaturas acima de 50𝑜 graus Celsius e umidade abaixo de 20% u.a, então paraquaisquer aplicação como alarme de incêndio por exemplo, deve ser evitada.

1 NTC: dispositivo de medição de temperatura

Page 34: Sistema Inteligente de Automatização de Bombas de Irrigação por

34 Capítulo 2. Fundamentação Teórica

2.3.1 Características e Desenvolvimento

Algumas das características citada pelo fabricante são:

∙ Para a umidade relativa:

– Resolução: 16 Bits;

– Repetibilidade: ± 1% Umidade Relativa;

– Precisão: Em 25𝑜C ± 5% Umidade Relativa;

– Intercambialidade: Totalmente intercabiáveis;

– Tempo de Resposta: A 63% e 25𝑜C, 6s à 1m/s no ar;

– Histerese: <± 0.3% Umidade Relativa;

– Estabilidade a longo prazo: <± 0.5% Umidade Relativa/Ano;

∙ Para a temperatura:

– Resolução: 16 Bits;

– Repetibilidade: ±0.2𝑜C

– Range: em 25𝑜C ±0.2𝑜C

– Tempo de Resposta: A 63% e 25𝑜C, 6s à 1m/s no ar;

∙ Características Elétricas:

– Alimentação: DC 3.5V ↔ 5.5V

– Corrente: em medição 0.3mA, em standby 0.3𝜇 A

∙ Descrição da Pinagem:

1. Pino VDD, fonte de alimentação, DC 3.5V ↔ 5.5V

2. Pino DATA - Serial, uma linha.

3. Pino NC - Pino Vazio

4. Pino GND - Ground

Para uma rápida visão e montagem de um circuito genérico que se utiliza o sensorDHT11, tem-se a seguinte figura sugeria pelo Datasheet do fabricante:

Para um correto desenvolvimento e funcionamento de quaisquer projetos que utilizeo sensor DHT11, é necessário seguir algumas especificações de projeto, pois como visto nocircuito da Figura 2 o microcontrolador e o sensor, estão interligados apenas pelo pino DATAque passa anteriormente em um resistor de Pull-Up.

As recomendações do fabricante são as seguintes:

Page 35: Sistema Inteligente de Automatização de Bombas de Irrigação por

2.3. DTH11 - Sensor de Temperatura e Umidade 35

Figura 2 – Demonstração de uma correta conexão do Sensor

Fonte: Datasheet AOSONG

1. Ao realizar a conexão do pino DATA do sensor à um pino I/O do microcontrolador utili-zado, recomenda-se que o cabo utilizado seja de até 20 metros, para que não haja perdada qualidade e precisão do sinal emitido pelo dispositivo. De toda maneira, caso seja ne-cessário a utilização de um cabo extensor além dos 20 metros sugeridos, recomenda-seque seja realizada uma blindagem do cabo a ser utilizado abaixo do resistor de Pull-Up.

2. Se o projeto estiver sendo alimentado com um fonte de 3.5V, nunca utilizar um cabo dealimentação com tamanhos maiores do que 20 centímetros, pois caso contrário a energiadissipada fará com que o sensor faça medições incorretas ou de baixa precisão.

3. Cada leitura que o microcontrolador solicita, é resultado da última medição do sensor,pois caso seja necessário uma medição em tempo real, o ideal é que o microcontroladorsolicite uma resposta do DHT11 a cada 5 segundos, que é o intervalo necessário de umamedição à outra.

2.3.2 Conexão e Leitura do Sensor

Para receber uma correta resposta do sensor DHT11, é necessário entender o seu corretofuncionamento interno e o que o mesmo envia como saída no seu pino DATA. Ainda seguindoas instruções e orientações do Datasheet, este nos diz as seguintes informações.

O DHT11 utiliza uma conexão de dados conhecida como Single-Bus Communication,ou no português, comunicação de barramento único, o sensor envia seus dados por apenas umúnico fio, que é a saída do seu pino DATA. Esta conexão é flexível permitindo o sensor agircom conexões Master-Slave, e caso haja outras conexões na porta, é necessário um resistor dePull-Up para que quando o sensor estiver em stand-by não ficar emitindo informações caso omicrocontrolador não solicite, normalmente para que isso não ocorra, é utilizado um resistorde 4.7𝑘Ω, porém o fabricante recomenda-se uma resistência no valor mais próximo de 5.1𝑘Ω.A comunicação deve ser corretamente master-slave pois o sensor envia uma sequência correta

Page 36: Sistema Inteligente de Automatização de Bombas de Irrigação por

36 Capítulo 2. Fundamentação Teórica

de números binários que devem ser respeitadas para que não haja má interpretação pelo micro-controlador, isto é, somente quando o master, no caso o microcontrolador, solicitar resposta doslave, este irá começar a enviar a sequência correta de números binários a ser lida pelo master,caso a conexão não seja realizada corretamente, o sensor na irá reponder, omitindo os dadosque estão sendo medidos pelo mesmo(TIANLONG, 2010).

Para o formato de dados da comunicação o sensor utiliza um pacote de transmissão de40bits, começando em nível lógico alto. O próprio fabricante definiu um corolário para estadefinição do DHT11:

"Sendo enviado 8bits do inteiro da umidade + 8bits dos decimais da umidade + 8bits dointeiro da temperatura + 8bits dos decimais da temperatura, o checksum é igual a soma de todosestes com o resultado expresso nos 8 últimos bits enviados".

Logo após essa definição, podemos exemplificar o que foi dito, e como o microcontroladorirá enxergar essa informação.- Exemplo: 40bits é enviado pelo sensor, assim:

01000001 00000000 00011001 00000000 010110108 Bits Int. Umidade 8 Bits Dec. Umidade 8 Bits Int. Temperatura 8 Bits Int. Temperatura 8 Bits de Paridade

Então calculando:

01000001 + 00000000 + 00011001 + 00000000 = 01011010

Encontramos como solução:→ Umidade: 01000001+00000000 = 41 Hexadecimal = 65 decimal→ Temperatura: 00011001+00000000 = 19 Hexadecimal = 25 decimal→ Paridade: 01011010 = 5A Hexadecimal = 90 decimalLogo concluímos que o microcontrolador leu o sensor corretamente.

Para um exemplo que ocorra algo errado.- Exemplo: 40bits é enviado pelo sensor, assim:

01000001 00000000 00011001 00000000 010100108 Bits Int. Umidade 8 Bits Dec. Umidade 8 Bits Int. Temperatura 8 Bits Int. Temperatura 8 Bits de Paridade

Então calculando:

01000001 + 00000000 + 00011001 + 00000000 = 01011010

Encontramos como solução:→ Paridade: 01011010 = 01010010Logo concluímos que o microcontrolador leu o sensor incorretamente.

Page 37: Sistema Inteligente de Automatização de Bombas de Irrigação por

2.3. DTH11 - Sensor de Temperatura e Umidade 37

2.3.3 Diagrama Temporal do Sensor DTH11

Como dito em (NI, 2010) o microcontrolador que está sendo utilizado, deverá enviarum sinal para informar que deseja receber os dados medidos, este sinal será convertido paramodo de baixo consumo e alta velocidade pelo DHT11, o sensor levará um tempo para atéentão retornar a resposta de que foi solicitada, abaixo segue o diagrama temporal do tempo queo sensor toma para responder.

Figura 3 – Diagrama temporal do sinal DATA

Fonte: Datasheet AOSONG

Dado o diagrama temporal, o Datasheet trás um passo-a-passo para a leitura do sensorDHT11 a partir do microcontrolador utilizado. Assim ficará mais fácil para o programadorrealizar a comunicação dos periféricos em si. Em poucas palavras é basicamente a identificaçãodo pulso da onda, que está sendo recebido, se "0"ou "1", os mesmos possuirão larguras de pulsodiferentes, podendo dar maior liberdade ao programador de como identificar esses pulsos, comopor PWM por exemplo.

Page 38: Sistema Inteligente de Automatização de Bombas de Irrigação por

38 Capítulo 2. Fundamentação Teórica

2.4 Microcontrolador Microchip PIC18F452

O microcontrolador utilizado foi o PIC 18F452, um PIC da família 18F, especificamenteo microcontrolador PIC18F452 por este possuir inúmeras por I/O e cinco blocos PORT’s, sendoordenados de A à E, sendo que cada um dos PORT possui entradas para diversos periféricosexistente em tal componente, como I2C, UART, SPI, CCP, SPI entre outros, as PORT’s podemser utilizadas para outros usos I/O desde que sejam programadas e corretamente alocadas à fun-ção escolhida dentro do microcontrolador. Sucintamente pode-se descrever a função dos 40 pi-nos existentes no microcontrolador de acordo com a tabela1 presente no seu próprio DataSheet.O PIC 18F452 possui cinco PORT’s: PORTA, PORTB, PORTC, PORTD e PORTE. Cada PORTpossui pinos com acesso aos periféricos como Conversor Analógico/Digital, Interrupções, I2C,UART, Módulo CCP, SPI, ou podem ser utilizados como I/O de uso geral(PEATMAN, 2002).

Tabela 1 – Descrição da Pinagem do PIC18F452

PINO Nome Tipo Função1 MCLR/VPP In-In Reset externo e programação ICSP2 RA0/AN0 I/O e input A/D I/O digital e entrada AD03 RA1/AN1 I/O e input A/D I/O digital e entrada AD14 RA2/AN2/Vref- I/O e input A/D I/O digital e entrada AD25 RA3/AN3/Vref+ I/O e input A/D I/O digital e entrada AD3 e referência alta do A/D6 RA4/TOCKI I/O e input TMR0 I/O digital e entrada TMR07 RA5/AN4/SS/LVDIN I/O e Inputs I/O digital, entrada do AD4, entrada do SPI e Detector de LV8 RE0/RD/AN5 Fonte I/O digital, Leitura da Porta Paralela e entrada do AD59 RE1/WR/AN6 Fonte I/O digital, Escrita da Porta Paralela e entrada do AD6

10 RE2/CS/AN7 Fonte I/O digital, Seleção da Porta Paralela e entrada do AD711 VCC Fonte Positivo da Fonte de Alimentação12 GND Fonte Negativo da Fonte de Alimentação13 OSC1/CLK1 Input Entrada do Cristal e entrada do Clock externo14 OSC2/CLK2/RA6 I/O e Inputs I/O digital, Saída do Cristal e saída do Clock externo15 RC0/T10S0/T1CK1 I/O Out e In I/O digital, saída do 2 oscilador e entrada do contador externo Timer1/Timer316 RC1/T10S1/CPP2 I/O In e Out I/O digital, entrada do 2 oscilador e saída do Módulo CCP217 RC2/CCP1 I/O e Out I/O digital e saída do Módulo CCP118 RC3/SCK/SCL I/O, I/O e I/O I/O digital, in e out do Clock serial para modo SPI e in/out do Clock serial para modo I2C19 RD0/PSP0 I/O e I/O I/O digital e Porta de Comunicação Paralela20 RD1/PSP1 I/O e I/O I/O digital e Porta de Comunicação Paralela21 RD2/PSP2 I/O e I/O I/O digital e Porta de Comunicação Paralela22 RD3/PSP3 I/O e I/O I/O digital e Porta de Comunicação Paralela23 RC4 / SDI / SDA I/O e I/O I/O digital e Porta de Comunicação Paralela24 RC5 / SD0 I/O e I/O I/O digital e saída de dados SPI25 RC6 / TX / CK I/O e I/O I/O digital, Transmissão UART e Clock de sincronismo UART26 RC7 / RX / DT I/O e I/O I/O digital, Recepção UART e Dados do UART27 RD4 / PSP4 I/O e I/O I/O digital e Porta de Comunicação Paralela28 RD5 / PSP5 I/O e I/O I/O digital e Porta de Comunicação Paralela29 RD6 / PSP6 I/O e I/O I/O digital e Porta de Comunicação Paralela30 RD7 / PSP7 I/O e I/O I/O digital e Porta de Comunicação Paralela31 GND Fonte Negativo da Fonte de Alimentação32 VCC Fonte Positivo da Fonte de Alimentação33 RD0 / INT0 I/O e In I/O digital e entrada de Interrupção Externa 034 RD0 / INT1 I/O e In I/O digital e entrada de Interrupção Externa 135 RD0 / INT2 I/O e In I/O digital e entrada de Interrupção Externa 236 RB3 / CCP2 I/O e I/O I/O digital Módulo CCP237 RB4 I/O e In I/O digital e entrada de Interrupção por Mudança de Estado38 RB5 / PGM I/O e In I/O digital, Interrupção por Mudança de Estado e Habilita ICSP baixa tensão39 RB6 / PGC I/O e In I/O digital, Interrupção por Mudança de Estado e ICSP in-circuit Debuger40 RB7 / PGD I/O e In I/O digital, Interrupção por Mudança de Estado e ICSP in-circuit Debuger

Fonte: (MICROCHIP, 2014)

Page 39: Sistema Inteligente de Automatização de Bombas de Irrigação por

2.5. Display Gráfico com Controlador KS0108 39

2.5 Display Gráfico com Controlador KS0108

O display gráfico monocromático do tipo GLCD, com resolução de 128x64 pixels, ovisor possui um controlador KS0108, um controlador muito conhecido e compatível com amaioria dos compiladores, além de que é possível realizar a simulação do mesmo via softwareProteus.

Esse dispositivo possui um sistema de memória, isto é, ao acionarmos um determinadopixel, este terá o último estado guardado até que haja uma próxima ação ou mesmo uma simpleslimpeza em toda a tela.

Ao utilizarmos o software Mikroc Pro Pic, este possui um utilitário de conversão deimagens para matriz, além de possuir algumas bibliotecas que ajudam o programador desenharretângulos, circulos e linhas com mais praticidade e agilidade.

O display em si, possui 20 pinos, destes 2 pinos serão responsáveis pelo Ground e𝑉𝐶𝐶 , 2 serão responsáveis pelas tensões de iluminação de background +LED e -LED, 1 seráresponsável pelo circuito de contraste, e os demais pinos serão responsáveis pela comunicaçãocom o microcontrolador(FORDATA, Abril,2014).

Sua aplicação não é das mais simples visto que envolve programação ponto a ponto doque será desenhado no display. O exemplo ilustra como deve tratado a colocação dos pixels novisor, seja por imagens ou por figuras geométricas.

Por exemplo:Diga-se que deseja desenhar um quadrado de lado 20 pixels, iniciando no ponto (0,0)

do display até que atinja o ponto (20,0) do visor. Assim poderíamos escrever uma rotina para omesmo:

G l c d _ R e c t a n g l e (A, B , C , D, E ) ;

Sendo os comandos como:

1. A = Ponto de partida x1 = 0;

2. B = Ponto de partida y1 = 0;

3. C = Ponto de chegada x2 = 20;

4. D = Ponto de chegada y2 = 20;

5. E = Cor escolhida 0 = Branco, 1 = Preto e 2 = Inverte a cor do pixel.

São pequenos e simples comandos como esses, que irão facilitar e agilizar bastante oprocesso de programação do display.

Page 40: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 41: Sistema Inteligente de Automatização de Bombas de Irrigação por

Parte III

Experimento e Desenvolvimento doCircuito do Sensor

Page 42: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 43: Sistema Inteligente de Automatização de Bombas de Irrigação por

43

3 Programação e Simulação

3.1 Display Gráfico KS0108

Após ser escolhida a área de aplicação a ser realizada, foi separado primeiramente ocompilador C a ser utilizado durante todo o trabalho. Pelas demais vantagens citadas na revisãoliterária, foi escolhida o software de compilação MikRoC Pro PIC, após inúmeras pesquisassobre como trabalhar com o compilador e utilizar seus periféricos, foi realizada a escolha dodisplay que fosse compatível com as bibliotecas já existentes no compilador. Assim existia trêsopções a ser escolhida:

1. Display KS0108: compatível somente com a resolução 128x64, é uma ótima escolha parao projeto aplicado, visto que não será necessário um display com enorme resolução, poiso microcontrolador utilizado para fazer o condicionamento das informações na tela é umPIC18F452, apesar de possuir um bom tamanho de memória, não possui um ROM maisindicada para display’s mais completos, como os que possuem uma placa touchscreen oumesmo tenha um padrão de cores muito alto.

2. Display T6963: compatível com a resolução 128x128, não foi o LCD escolhido por pos-suir uma maior dificuldade na compra, visto que este display já se encontra fora de linha,ainda muito utilizado em pequenos projetos de Arduino. Este visor foi descartado por nãopossuir memória como o KS0108, isto é, ao acionar um pixel esse não fica armazenado,mesmo que outra instrução fosse sobrescrita por cima.

3. Display Nokia 3310: Possui vários modelos, apesar de inúmeras resoluções o LCD emsi possui pouca dimensão, isto é, ele é pequeno para a visualização das informações pelousuário do projeto, seria ideal se desejássemos um circuito mais compacto ou um visorque ocupasse menos espaço no projeto, contudo como essa não é a preocupação principaldo trabalho, esse modelo de tela foi descartado apesar de suas facilidades de programaçãoe disponibilidade no mercado.

Escolhido o LCD de resolução 128x64 de controlador KS0108, a partir do site do fa-bricante Mikroe𝑡𝑚 foi colhido algumas informações sobre a biblioteca do visor a ser utilizada,dentre elas encontramos algumas das principais funções que facilitariam muito no decorrer daprogramação do visor, algumas são listadas abaixo:

A tabela 2 lista apenas os comandos mais básicos, porém existe várias variações e roti-nas utilizadas aqui que não valem mencionar.

Page 44: Sistema Inteligente de Automatização de Bombas de Irrigação por

44 Capítulo 3. Programação e Simulação no Proteus

Tabela 2 – Comandos básicos do Display Gráfico

Nome Comando FunçãoGlcd_Init void Glcd_Init(); Inicializa o GLCDGlcd_Fill void Glcd_Fill(0 ou 0xFF); Limpa a tela, seja em 1 ou em 0Glcd_Dot void Glcd_Dot(x_pos, y_pos, color); Pinta um pixel do visorGlcd_Line void Glcd_Line(x, y,x’, y’, cor); Faz uma linha no visor

Glcd_Rectangle void Glcd_Line(x,x’,y,y’,cor); Desenha um retânguloGlcd_Image void Glcd_Image(codigo *image); Insere o código da imagem

Glcd_Set_Font void Glcd_Set_Font(F, L, A, cor); Altera fonte, cor e tamanho da letra

Para as configurações dos periféricos que será utilizado pelo compilador, foi setado asseguintes configurações:

Ao iniciar o projeto foi escolhido os seguintes passos:

1. → Novo → Novo Projeto → PIC18F452 → Clock: 8MHz;

2. Para as bibliotecas:

∙ ADC;

∙ Button;

∙ CMath;

∙ Glcd;

∙ PWM;

∙ UART;

∙ I2;

∙ Conversions;

∙ Além de alguns adicionais selecionados conforme a necessidade do programador;

3. Ainda pelo próprio site do fabricante 1 na aba referente as bibliotecas, podemos procuraro item GLCD Library e encontrar todas as rotinas listadas na tabela 2 melhores explicadase exemplificadas.

4. Uma vez carregado as bibliotecas do display ficará relativamente simples, fazer o acio-namento do mesmo pela própria rotina semi-pronta demonstrado no site da Mikroe, quesegue abaixo:

char GLCD_DataPort a t PORTD;s b i t GLCD_CS1 a t RB0_bi t ;s b i t GLCD_CS2 a t RB1_bi t ;

1 http://www.mikroe.com/

Page 45: Sistema Inteligente de Automatização de Bombas de Irrigação por

3.2. Inicialização do sensor DHT11 45

s b i t GLCD_RS a t RB2_bi t ;s b i t GLCD_RW a t RB3_bit ;s b i t GLCD_EN a t RB4_bit ;s b i t GLCD_RST a t RB5_bi t ;s b i t GLCD_CS1_Direction a t TRISB0_bi t ;s b i t GLCD_CS2_Direction a t TRISB1_bi t ;s b i t GLCD_RS_Direction a t TRISB2_bi t ;s b i t GLCD_RW_Direction a t TRISB3_bi t ;s b i t GLCD_EN_Direction a t TRISB4_bi t ;s b i t GLCD_RST_Direction a t TRISB5_bi t ;

Logo a após a correta configuração da pinagem a ser utilizada na comunicação visor↔ microcontrolador, ao setar o comando Glcd_Init() o display estará apto à receber todos oscomandos, sendo possível fazer a visualização deste por meio de simulação via software Proteus

ou mesmo em teste por protoboard caso tenha o dispositivo em mãos.

Para a simulação do LCD no Proteus, segue-se a rota: Devices → Keywords → LGM12641BS1R

→ OK.

Todas as configurações do visor realizadas, o sistema já estará pronto para receber osensor, e neste fazer todo o condicionamento visual a ser utilizado.

3.2 Inicialização do sensor DHT11

Apesar de muito prático, o sensor DTH11 é pouco conhecido no mundo da eletrônica,visto que não é um sensor que é de fácil condicionamento, logo então o fabricante disponibilizavários exemplos de códigos para diversos microcontroladores, ATMEGA, AVR, Arduíno, STM,DSPic e PIC no caso é o que foi utilizado no decorrer do projeto. Assim tomando como baseum genérico acionamento do sensro DHT11 para PIC da família 16 que é disponibilizado nopróprio site da AOSONG2 para download foi realizado toda a programação do sinal.

3.3 Desenvolvimento da Interface

3.3.1 Menu de Opções

Para a interface do display do circuito foi adotado uma "área de trabalho"que mostrarátodas as informações referentes ao estado atual do circuito, e um "menu de opções"que facilitaráao usuário a correta navegação e configuração do dispositivo.

Para este menu de opções foi adotado o seguinte diagrama de blocos da figura 4.

2 AOSONG Website: http://www.aosong.com/

Page 46: Sistema Inteligente de Automatização de Bombas de Irrigação por

46 Capítulo 3. Programação e Simulação no Proteus

Figura 4 – Diagrama de bloco do Menu de Opções

Para a navegação no menu, estando na área de trabalho basta clicar no botão OK que omesmo irá abrir. Assim cada menu executa a seguinte opção.

1. Ensaio: Em geral essa opção é responsável pela simulação temporal da temperatura eumidade, a partir dela é gerado um gráfico na qual é definida pelo usuário as configuraçõesque mais lhe convém.

∙ Amostras(n): Nesse item é definido o número de amostras que deseja que sejam co-lhidas e armazenadas no gráfico temporal, sendo n = ao número de termos escolhidopelo usuário.

∙ Tempo(m): É o tempo definido em minutos entre uma amostra e outra, observação,é usado m para notação de minuto:

Exemplo 1: Deseja-se coletar 96 amostras de temperatura e umidade durante um diainteiro:

Para a solução, como um dia possui 24h = 1440 minutos, assim:

𝑇𝑒𝑚𝑝𝑜(𝑚𝑖𝑛) =𝑇𝑒𝑚𝑝𝑜 𝐷𝑒𝑠𝑒𝑗𝑎𝑑𝑜 (𝑚𝑖𝑛)

𝐴𝑚𝑜𝑠𝑡𝑟𝑎𝑠(𝑛)=

24 · 60𝑚𝑖𝑛

96= 15

Logo, o valor que deve ser inserido é Tempo(m) = 15

Exemplo 2: Deseja-se coletar 120 amostras de temperatura e umidade durante 3 diasinteiros:

Para a solução:

𝑇𝑒𝑚𝑝𝑜(𝑚𝑖𝑛) =𝑇𝑒𝑚𝑝𝑜 𝐷𝑒𝑠𝑒𝑗𝑎𝑑𝑜 (𝑚𝑖𝑛)

𝐴𝑚𝑜𝑠𝑡𝑟𝑎𝑠(𝑛)=

3 · 24 · 60𝑚𝑖𝑛

120= 36

Page 47: Sistema Inteligente de Automatização de Bombas de Irrigação por

3.3. Desenvolvimento da Interface 47

Assim o valor que deve ser inserido no campo,será Tempo(m) = 36.

2. Dados: Nessa opção será visualizada e armazenado as principais informações da tempe-ratura e umidade dos dados simulados na opção "Ensaio".

Caso ainda não tenha realizado nenhuma simulação será mostrado um aviso de que amemória ainda se encontra vazia.

Observação: Os dados são armazenados somente até o próximo ensaio, a memória é atu-alizada para cada ensaio realizado, apagando as informações anteirores.

∙ Temperatura: Nessa tela irá ser mostrada os principais itens coletado durante o en-saio, sendo esses itens: máxima, mínima e média da tempertura, marcando o horárioque ocorreu cada pico máximo ou mínimo com o total de amostras coletadas.

∙ Umidade: Como o mesmo da temperatura, só que para umidade, então nessa telairá ser mostrada os principais itens coletado durante o ensaio, sendo esses itens:máxima, mínima e média da umidade, marcando o horário que ocorreu cada picomáximo ou mínimo com o total de amostras coletadas.

Observação: Para transitar da tela da temperatura, para a tela da umidade, utiliza-se a teclabaixo (↓) para executar tal tarefa.

3. Redes: Esse é a opção que irá controlar a saída de dados para um software externo, emoutras palavras, irá ligar ou desligar a conexão com o computador.

∙ Server: A única função desse item é habilitar a saída de dados na porta Serial/USB,assim não é necessário que o microcontrolador fique o tempo inteiro enviando in-formações na saída.

∙ MATLAB: Desde que esteja habilitada a saída de dados, é possível setar a opçãoMATLAB para que os dados saia preparados para o software JCFS Irrigações façaa plotagem do gráfico no MATLAB.

4. Configurações: Ao iniciar o dispositivo pela primeira vez, será perguntado ao usuário seeste deseja realizar as configurações inicias, caso ele não deseje, é possível no menu deopções setar ou modificar essas configurações novamente.

∙ Hora: Nessa janela é configurado as horas e os minutos do circuito, visto que é im-portante colocar a hora correta pois, o ensaio marca o horário exato que é mostradono display.

∙ Máximos: Nessa aba é configurado os máximos de temperatura e umidade, assim:

Para a tempertura: Caso seja setado um valor, quaisquer valores acima desde seráativado as bombas de irrigação.

Para a umidade: Caso seja setado uma valor, quaisquer valores abaixo desde seráativado as bombass de irrigação.

Page 48: Sistema Inteligente de Automatização de Bombas de Irrigação por

48 Capítulo 3. Programação e Simulação no Proteus

5. Ajuda: Nesse item é exibido as informações para contato do programador, sendo essasinformações:

∙ Facebook: Exibido "Jeancfs", que deve ser digitado na barra de busca do mesmopara que seja encontrado o perfil.

∙ Google+: Exibido "Jeancffs", deve ser digitado na barra de busca do site Google+para que seja encontrado o perfil.

∙ WhatsApp.Inc: Exibido o número de telefone "9999-9999"necessário adicionar àlista de contatos para que seja encontrado o perfil dentro do aplicativo WhatsApp.

6. Sair: Opção que simplesmente sai do "Menu de Opções"e retorna para a "Área de Traba-lho".

3.3.2 Área de Trabalho

Para a "área de trabalho"ou interface principal do programa foi definido seguinte visualilustrado na figura.

Figura 5 – Área de Trabalho, tela principal do display.

Assim listando de 1 a 5, podemos explicar cada item:

1. Ícone da temperatura: Mostra a temperatura no seu estado atual;

2. Ícone da umidade: Mostra a umidade no seu estado atual;

3. Hora: Mostra hora configurada pelo usário e um logo "UEL-PR", definido somente peloprogramador;

4. Clima: Define o estado do clima medido:

∙ Bom: Caso a temperatura esteja abaixo de máximo estipulado e a umidade estejaacima do máximo estipulado.

Page 49: Sistema Inteligente de Automatização de Bombas de Irrigação por

3.4. Simulação no Proteus 49

∙ Seco: Caso a umidade esteja abaixo do máximo estipulado.

∙ Quente: Caso a temperatura esteja acima do máximo estipulado.

∙ Ruim: Caso a temperatura esteja acima de máximo estipulado e a umidade estejaabaixo do máximo estipulado.

Essa é a tela que foi definida para ser desenvolvida, quaisquer ações de temperatura eumidade é atualizada na mesma.

3.4 Simulação no Proteus

Como já dito no decorrer da pesquisa, o simulador escolhido foi o Proteus pois estepossui uma biblioteca de componentes muito completa, assim a simulação não ficaria compendências de partes físicas a serem testadas na própria protoboard. Não foi necessário muitoscomponentes, visto que praticamente todo o controle é feio via software e o arquivo.h geradopelo MikRoc já é carregado diretamente no esquemático do circuito.

Os componentes que foram utilizados na montagem do esquemático foram os listadosabaixo:

∙ 5x Push-Buttons: responsável pela movimentação do "Menu de Opções", "Seleção deOpções", incremento e decremento de variáves que podem ser alteradas e configuradasmanualmente pelo próprio usuário.

∙ 1x PIC18F452: Componente responsável por todo o controle e simulação do código es-crito na linguagem C, este dispositivo obedece quase que fielmente todas as característicasdo componente físico, será o "cérebro"do circuito a ser desenvolvido.

∙ 1x Max232: Este componente é necessário para a realização da comunicação serial pri-meiramente projetada, ou mesmo para o condicionamento do sinal a ser colocado em umcomponente FTDi3, visto que a entrada será colocada em um soquete de saída para que opróprio usuário escolha o melhor módulo para sua aplicação ou computador.

∙ 1x DHT11: Como o próprio nome diz, é o componente simulador do sensor de tempe-ratura e umidade, este tem uma característica interessante, pois pelo próprio dispositivovocê consegue setar os valores reais de temperatura e umidade desejados, ou seja, ele nãodeixa o dispositivo atravessar os limites reais do próprio sensor.

∙ Os demais componentes, como resistores, capacitores, LED’s e cristais são utilizados ape-nas como redutores de ruídos, filtros e ociladores, básico para a montagem de quaisquercircuito a ser montado.

3 Future Technology Devices International: dispositivo que realiza a conversão de RS-232 ou TTL para sinaisUSB

Page 50: Sistema Inteligente de Automatização de Bombas de Irrigação por

50 Capítulo 3. Programação e Simulação no Proteus

3.4.1 Simulação do PIC18F452

Para a simulação do microcontrolador foi realizado as seguintes conexões:

Figura 6 – PIC18F452 no simulador Proteus

O microcontrolador PIC18F452 possui um Reset barrado, isto é, invertido à lógica con-vencional aos demais pinos, este se estiver em nível lógico 1, 5V, estará desativado, por isso foicolocado um Puss-Button acionado ao Ground, assim ao se pressioná-lo irá reiniciar todas asconfigurações de fábrica definidas durante a criação do código pelo programador.

O cristal oscilador utilizado é um de 8Mhz ligado com dois capacitores de 1nF aterra-dos(GARCIA, 2008). Para fazer essa configuração interna do dispositivo segue-se a rota:

→ Botão direito do mouse sobre o item → Editar Propriedades → Frequência de Clock

do Processador → Clock: 8MHz → OK.

Assim estará corretamente configurado o Clock da simulação.

3.4.2 Simulação do sensor DTH11

Para realizar a simulação do sensor foi realizado as seguintes ligações:O único pino DATA do dispositivo na imagem 7, no caso nomeada como DTH11, é

ligado ao resistor de pull-up e este ligado ao PIC.Como visto, na simulação ele apresenta três botões:

1. ↓ : Decrementa a variável acionada no momento, seja temperatura ou seja umidade;

2. ↑: Incrementa a variável acionada no momento, seja temperatura ou seja umidade;

3. ↔ : Esta seleciona as opções as duas opções:

Page 51: Sistema Inteligente de Automatização de Bombas de Irrigação por

3.4. Simulação no Proteus 51

Figura 7 – DHT11 no simulador Proteus

∙ 𝑜C : Seta as configurações e o visor para a variável temperatura.

∙ %RH : Seta as configurações e o visor para a variável temperatura.

Para o exemplo mostrado na imagem 7, como explicado anteriormente o sistema teriaque retornar 0x23 = 0b00100011 = 35 para a temperatura e retornar 0x44 = 0b01000100 = 44para a umidade. Estes valores serão simulados mais adiante no resultados.

3.4.3 Desenvolvimento do Teclado de comandos

O teclado foi definido com 5 push-buttons, sendo cima, baixo, esquerda, direita e me-nu/ok.

Não foi necessário o uso de botões adicionais, pois a interface foi otimizada a trabalharcom esses 5 botões, pois cada tela irá possuir a opção "OK"caso exista ou não, alteração navariável desejada, além de que em algumas telas, existe o botão "Sair"caso entre na opçãoerrada. No esquemático ficou da seguinte forma, como mostra a figura 8:

Figura 8 – Teclados push-buttons

Page 52: Sistema Inteligente de Automatização de Bombas de Irrigação por

52 Capítulo 3. Programação e Simulação no Proteus

O bounce é um problema corrente em programas, então para melhor qualidade do cir-cuito, este foi removido de duas formas:

A primeira forma foi removido por programação como é mostrado o código a seguir:

vo id t i r a _ b o u n c e ( v o l a t i l e u i n t 3 2 _ t Con tador ) w h i l e ( Contador −−)

Nesta é criada uma função com o nome de "tira_bounce", na qual no momento em queé programado o acionamento de uma flag4, é chamada a função com um valor genérico dadoem milissegundos após o clique, no caso utilizado 200ms, assim o PIC irá aguardar esse tempoa cada ação realizada no botão.

O segundo método de remoção de bounce foi feito através de um filtro passa-baixasaplicado em cada um dos push-buttons, dessa maneira, o circuito fica com duas proteções contraesse tipo de ruído, deixando-o mais robusto. O filtro responsável por remover o bounce, podeser visto na figura 9.

Figura 9 – Filtro Passa-Baixas do Bounce

4 Flag: Rótulo de um dos PORT do microcontrolador

Page 53: Sistema Inteligente de Automatização de Bombas de Irrigação por

3.5. Microsoft Visual Studio IDE C# 53

3.4.4 Simulação da comunicação Circuito ⇐⇒ PC

Para realizar essa comunicação foi utilizado um componente virtual do proteus, nãomencionado, pois não existe equivalente como dispositivo físico, o nome desse componentevirtual é COMPIM, ele é responsável por simular uma ligação serial externa ao simulador, egerando uma por COM genérica para a troca de informações entre softwares. A composiçãodele consiste na mesma de um conector DB95.

A partir desse componente podemos configurar uma porta COM, fazendo a seguinterota:

→ Botão direito do mouse sobre o item → Editar Propriedades →

Assim teremos algumas opções:

1. Porta Física: Aqui será escolhido qual o número da COM que se deseja utilizar ou criar,nota-se que o número de portas é limitado de 1 a 4, e não é necessário existir tais portasfísicas no computador na qual está sendo simulado.

2. Baude Rate6 Físico: Nessa será escolhida a velocidade de comunicação e transmissãode informações que é desejada para a aplicação, por padrão vem 2400, mas na maioriados projetos é utilizado 9600 por padrão, como no Hyperterminal do sistema operacionalWindows como exemplo.

3. Pacote de Bits: Por padrão vem 8Bits, nessa nada será alterado, visto que para o projeto8Bits é mais do que suficiente.

Ao ser realizada tais configurações é só clicar em OK que a porta criada já estará apta afazer a troca de informações entre aplicativos no mesmo computador.

3.5 Microsoft Visual Studio IDE C#

Para o desenvolvimento do software para Windows, JCFS Irrigações, foi desenvolvidona linguagem C#, que nada mais que é própria linguagem C com pequenas variações para odesenvolvimento de aplicativos voltado ao computador, mais especificamente com o sistemaoperacional Windows, a versão utilizada é a Student, que apesar de algumas limitações, supriutodas as necessidades da programação desenvolvida.

Para o layout do software escolhido foi de única janela com 85% de opacidade comosegue a imagem:

5 DB9: Conector de 9 pinos utilizado em comunicações seriais de diversos periféricos6 Baude Rate: Velocidade de transmissão de dados ou mudanças de sinal, que ocorrem em um segundo

Page 54: Sistema Inteligente de Automatização de Bombas de Irrigação por

54 Capítulo 3. Programação e Simulação no Proteus

Figura 10 – Software JCFS Irrigações - layout e opacidade

3.5.1 Desenvolvimento do Código

Para o desenvolvimento do código não foi utilizado muitas bibliotecas além daquelasque já vêm por padrão. Foram utilizadas algumas adicionais, nas quais:

1. System.Data;

2. System.Net.Mail;

3. System.Net;

4. System.Net.Mime;

5. System.Net.Configuration;

Estas bibliotecas são responsáveis pelas configurações de email e data adiconadas noprograma, assim com elas será possível fazer configurações de PORT e SMTP7(LIBERTY,2005).

7 Simple Mail Transfer Protocol: é um protocolo padrão de servidores para envio de email’s.

Page 55: Sistema Inteligente de Automatização de Bombas de Irrigação por

3.5. Microsoft Visual Studio IDE C# 55

3.5.2 Criação da Porta COM

A criação da COM em C# é quase que imediata de ser feita, basta apenas algumaspequenas rotinas e o código já estaria funcionando, porém deseja fazer alguns condicionamentosdessas informações e passa-las para o MATLAB ou mesmo enviá-las para algum email que podeser adicionado rapidamente na textbox pelo usuário.

Para a comunicação COM foi usado a seguinte rotina:

1. Na aba toolbox foi adicionado um componente "Serial Port", este comando já possuialgumas pré-configurações da Porta COM a ser programada, antes de colocar no form8,foi definido um combobox portas numeradas de 1 a 9 para que o usuário possa escolher aque melhor lhe convém.

2. Baude Rate foi configurado para o padrão de 9600, visto que não será utilizado grandeprocessamento de dados que necessite uma alta taxa de velocidade.

3. Data Bits também foi configurado para 8bits.

Realizado essa configuração, no código foi adicionado o comando PortaSerial.Open();

setado na porta escolhida anteriormente no combobox, e então para a configuração do label

mostrado no rodapé do software, foi colocado um comando try, contando da seguinte maneira,"tente conectar na porta COM, conseguiu? Consegui → Label 1. Não conseguiu → Label 2".Caso o comando PortaSerial.Open(); não funcione, foi inserido uma função if que avisará ousuário de que a porta encontra-se ocupada ou em uso por outro periférico conectado ao com-putador.

3.5.3 Criação servidor de envio de emails

Para a configuração de email, foi adicionado um push-button e um textbox de forma quese utilize uma única lacuna para o envio dos dados.

O código adicionado, foi o padrão realizada para quaisquer software que utilize con-figurações de email, assim deixamos algumas configurações já definidas para que na hora doenvio, não se necessite ficar digitando senhas, sites ou mesmo entrar em algum navegador deinternet, simplesmente pelo aplicativo ele fará o envio e a confirmação.

Foi criado um email no servidor GMAIL próprio para o envio do aplicativo, assim, asconfigurações setadas no código foram:

∙ Host: Como o servidor utilizado foi o GMAIL, foi utilizado como host: smtp.gmail.com;8 Região na qual se desenvolve uma tela ou janela do programa.

Page 56: Sistema Inteligente de Automatização de Bombas de Irrigação por

56 Capítulo 3. Programação e Simulação no Proteus

∙ Port: Alguns anos atrás para o envio de email era usado muito o Port:25, com ela era pos-sível o envio através do TelNeT do Windows o que gerava inúmeros email’s falsos, entãopara que os servidores possam ter um contole melhor das correspondências eletrônicas,cada servidor passou a possuir um próprio, no caso o que foi utilizado para o GMAIL foio PORT: 587.

∙ Credentials:Nesse campo foi inserido o email cadastrado, na forma: ("[email protected]","senha-do-email"

∙ Sender: O remetente no formato ("[email protected]", "JCFS Irrigações");

∙ From: O remetente que será visualizado na caixa de entrada do destinatário no formato:("[email protected]", "JCFS Irrigações");

∙ To: Aqui foi inserito a rota do textbox correspondente à caixa "Enviar Dados para oEmail".

∙ Subject: No caso o assunto, que foi colocado como "Dados da Simulação".

∙ Body: Aqui será a rota do textbox que levará o corpo da mensagem, no caso os dadoscoletados.

∙ Priority: Foi setada prioridade alta, assim o aplicativo irá enviar o email antes que sejafeita alguma alteração no mesmo.

Realizada todas as configurações acima, com apenas um clique o usário estará prontopara enviar seus dados via email, sem quaisquer configurações adicionais.

Page 57: Sistema Inteligente de Automatização de Bombas de Irrigação por

Parte IV

Fechamento

Page 58: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 59: Sistema Inteligente de Automatização de Bombas de Irrigação por

59

4 Resultados e Conclusões

4.1 Discussão dos Resultados

4.1.1 Simulação via Proteus

Antes de quaisquer realização prática, foi feito a simulação do circuito e código desen-volvido. Para a simulação, o esquemático foi montado como segue o Apêndice A. Com todosos parâmetros inicializados, o display executou o código como esperado.

Figura 11 – Display: Tela de abertura

Assim a primeira tela ao iniciar será o logo da Universidade Estadual de Londrina, jun-tamente com a inscrição "TCC 2014"na qual se refere este trabalho, mostrada em 5 segundos.

Page 60: Sistema Inteligente de Automatização de Bombas de Irrigação por

60 Capítulo 4. Resultados e Conclusões

A tela seguinte, mostrada em três segundos:

Figura 12 – Display: Banner do Projeto cadastrado

Como este projeto é parte de uma pesquisa desenvolvida juntamente a um dos labora-tórios, mais especificamente cadastrado no Projeto 8060, portanto se achou viável a colocaçãoe notificação de um banner do mesmo, para referenciar possíveis conhecimentos do trabalhocomo um todo.

Na sequência para a terceira tela antes da inicialização, mostrada em 3 segundos:

Figura 13 – Display: Nomes dos envolvidos no projeto

Nessa tela, é mostrado o nome do orientando, nome do orientador e local onde a pes-quisa foi desenvolvida, é importante frisar que essas três imagens serão mostradas somente aoiniciar o circuito, isto é, na primeira vez que for ligado o display, em nenhum outro momento

Page 61: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 61

dentro da rotina elas voltarão a aparecer.

Assim, o circuito programado passa a ser inicializado, como primeiro momento ele irádar as boas vindas ao usuário e solicitar as configurações iniciais:

Figura 14 – Display: Tela de boas vindas e configurações iniciais

Nessa imagem é perguntado ao usuário se ele deseja realizar as configurações iniciaisdo dispositivo, podendo ter duas opções.

1. Sim: Nessa opção, o usuário é levado para a tela de configuração de hora, seguido pelatela de configuração dos máximos de temperatura e umidade.

2. Não: Nessa opção o usuário não fará as configurações iniciais, adotando as configuraçõesde fábrica, definidas no momento da programação, sendo elas:

∙ Hora: 10h

∙ Minutos: 30m

∙ Máximo da temperatura: 30𝑜C

∙ Máximo da umidade: 50%

Observação: Toda vez que existe um clique de seleção, o botão escolhido "acende"(inverteo branco para o preto), confirmando ao usuário a seleção escolhida.

Page 62: Sistema Inteligente de Automatização de Bombas de Irrigação por

62 Capítulo 4. Resultados e Conclusões

Caso a opção escolhida seja "Sim", esta levará para a seguinte tela de configuração:

(a) Display: Tela de configuração de horas (b) Display: Tela de configuração de máximos

Figura 15 – Menu de Configurações

Para o menu de configurações, ilustrado na figura 15, ao escolher a opção "Sim", foipassado para a tela de configuração de horas, então as configurações para teste foram:

1. Hora: 11h

2. Minutos: 15m

3. Máximo da temperatura: 30𝑜C

4. Máximo da umidade: 45%

Ao clicar em "OK"no "Menu de Máximos", ele faz a rápida configuração e entrará na"Área de Trabalho", isto é, na tela mostrada na figura 16:

Figura 16 – Display: Área de Trabalho

Page 63: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 63

Assim, a princípio, a simulação ocorreu como o esperado, visto que a temperatura ea umidade estando dentro dos padrões setados nas configurações, a aba "Clima", retornou oestado do sistema como "BOM".

Para a configuração do relógio foi deixado o Proteus simulando o circuito pelo tempo de1 dia inteiro, de forma a validar se o horário estava condizente com o horário real, contanto nasimulação não existiu erros entre o horário comparado, e o horário dentro do circuito simulado,logo podemos dizer que este funcionou perfeitamente.

Para testarmos o funcionamento das bomba de irrigação, foi realizado um pequeno cir-cuito como mostrado no esquemático da figura 17, assim pelo componente foi setado diferentesvalores de temperatura e umidade para que fosse atingido os limiares desejados, em consequên-cia, ligado os "irrigadores".

(a) Irrigação - Desligado (b) Irrigação - Ligado

Figura 17 – Circuito de simulação de irrigação

O sinal que vem do microcontrolador é o ponto de nome "irrigador", o nome foi dadopara identificar o pino correto do microcontrolador, o que simula a bomba de irrigação é o LED

D1, para os testes no simulador, funcionou perfeitamente, visto que para os valores dados, osistema atingiu estados diferentes acionando os "irrigadores", no caso, o LED D1, assim foidefinido como:

∙ Bom: Bombas desligadas;

∙ Seco: Bombas ligadas;

∙ Quente: Bombas ligadas;

∙ Ruim: Bombas ligadas;

Desta maneira, foi dado o próximo passo na simulação: Teste de menu, e suas opções.

Page 64: Sistema Inteligente de Automatização de Bombas de Irrigação por

64 Capítulo 4. Resultados e Conclusões

Para o teste do menu, basta na tela inicial pressionar o botão "OK". Assim o menu foilistado de acordo com o diagrama de blocos já apresentado na figura 4, ficando na seguinteestrutura:

1. Ensaio:

Selecionando o primeiro item, "Ensaio", temos:

(a) Menu Ensaio: Seleção (b) Menu Ensaio: Selecionado

Figura 18 – Menu de Ensaio

Já explicado anteriormente, foi setado uma situação genérica de valores de amostras etempo para ser alterados no simulador, de forma que possa analisar o teste via gráficotemporal. Ainda na sessão dos resultados será plotado um gráfico e testado no software

JCFS Irrigações. Pelo momento os testes ainda se limitam no "Menu de Opções"

2. Dados;

Mesmo antes de realizar uma simulação, foi clicado sobre o menu "Dados", assim teremosa seguinte situação:

(a) Menu Dados: Seleção (b) Menu Dados: Selecionado

Figura 19 – Menu de Dados

Page 65: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 65

Como dito anteriormente, como não havia sido realizado nenhum ensaio temporal nomenu ensaio, o menu dados informa um erro de que a memória ainda está vazia, comoera esperado. Logo após a realização de um ensaio temporal, voltaremos no menu dadospara que este mostre as informações desejadas.

3. Redes:

Para o Menu de Redes este ficou da seguinte forma, como já havia sido mencionado notrabalho.

(a) Menu Redes: Seleção (b) Menu Redes: Selecionado

Figura 20 – Menu de Redes

O item "Server"e "MATLAB"por padrão os dois vêm desligados, mas para realizar ocorreto teste, vamos deixá-los ligados. Este menu redes está funcionando perfeitamente,visto que abrindo o terminal do Proteus não é encontrado nenhuma informação, quandoessas opções estão desligadas. Ao ligar, nenhum dado deve surgir na saída COM, poiseles só serão escritos quando estiverem em simulação, que no caso foi o que aconteceu.

4. Config:

Figura 21 – Menu de Configurações

Page 66: Sistema Inteligente de Automatização de Bombas de Irrigação por

66 Capítulo 4. Resultados e Conclusões

Para o "Menu Configurações"temos a tela de seleção como mostrado na figura 21, sendoque essa opção, nada mais que é a mesma das configurações iniciais, uma vez que ousuário clicou em "Não"por opção, ele pode voltar nessa seleção e setar as configuraçõesiniciais novamente.

Para fazer o teste dessa seleção, foi alterado os dados de horário e máximos, os dadosforam alterados com sucesso.

5. Ajuda;

O "Menu Ajuda", como já falado, era somente um banner com as informações de con-tanto do programador, note que ele trás uma caricatura do mesmo.

(a) Menu Ajuda: Seleção (b) Menu Ajuda: Selecionado

Figura 22 – Menu de Ajuda

6. Sair:

E por último o menu sair, na qual a sua única função é sair do "Menu de Opções"

Figura 23 – Menu Sair

Page 67: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 67

4.1.2 Simulação Temporal

Para o teste do correto funcionamento do gráfico no tempo, foi realizado o seguintecaminho:

1. No proteus:

COMPIM → Editar Propriedades → Porta Física → COM6 → OK.

2. No software JCFS Irrigações:

Combobox → COM6 → Conectar.

3. No circuito:

Menu → Redes → Configurações → Ok.

As configurações do "Menu Redes":

∙ Server = Ligado

∙ MATLAB = Ligado

Agora para o "Menu Ensaio":

Menu → Ensaio → Configurações → Ok.

Para as configurações do menu ensaio:

∙ Amostras(n) = 100(n)

∙ Tempo(m) = 1(m)

Nota-se, que o Tempo(m) foi 1(m) programado de forma a não contar, pois como se tratade uma simulação no Proteus os dados são alterados manualmente a partir do componenteDHT11. Então o gráfico gerado ficou da seguinte forma, mostrado na figura 24:

Figura 24 – Gráfico Temporal

Page 68: Sistema Inteligente de Automatização de Bombas de Irrigação por

68 Capítulo 4. Resultados e Conclusões

Assim os dados coletados no software JCFS Irrigações foram listados na seguinte forma,como mostra a figura 25.

Figura 25 – JCFS Irrigações - Coleta de Dados

Ao clicar em "Código MatLab"é gerado automaticamente um arquivo com extensão .mque o nome e o local de salvamento pode ser definido pelo usuário, ao executarmos deverá abriruma tabela e o plot gráfico automaticamente, sem que seja digitado quaisquer comando.

Então ao executarmos o arquivo no software MatLab, os dados passados são o seguinte:

Figura 26 – Janela de Comando no MatLab

Automaticamente foi gerado uma tabela com alguns valores importantes, data, hora dageração do código, computador na qual está sendo simulado e alguns dizeres definido pelo

Page 69: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 69

programador do aplicativo JCFS Irrigações.Junto com essa tabela é gerado o gráfico automaticamente de temperatura e umidade, já

sendo inserido cores, nomes e legendas, sem quaisquer alterações prévias por parte do usuário.

Figura 27 – Gráfico gerado automaticamente no MatLab.

Observando a figura 24 e a figura 27 é fácil perceber que os dados dos dois gráficossão idênticos, logo podemos concluir que a simulação do código implementado em C e #Cfuncionam perfeitamente.

Caso o usário deseje armazenar as informações em .txt e não em .m, basta ele removera opção "Código MatLab"e deixar marcado somente a opção "Dados"e salvar, tudo isso noaplicativo JCFS Irrigações.

Para testarmos o envio via email, foi inserido o email "[email protected]", assim aoclicar no botão "Enviar", esta conta recebe o email como já foi demonstrado e falado aqui nessetrabalho.

Page 70: Sistema Inteligente de Automatização de Bombas de Irrigação por

70 Capítulo 4. Resultados e Conclusões

Assim:

Figura 28 – Caixa de mensagem: Email Enviado

Entrando na conta referida, temos os seguinte email:

Figura 29 – Notificação de Email

Abrindo o email:

Figura 30 – Email recebido com sucesso.

Contudo pode-se dizer que tanto a simulação via Proteus ou tanto o software JCFSIrrigações funcionaram perfeitamente, assim como o esperado, o próximo passo será o teste docircuito físico e o comportamento do sensor DHT11 em campo.

Page 71: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 71

4.1.3 Teste em campo

Montado o dispositivo físico, o circuito funcionou perfeitamente, a seguir algumas ima-gens do display com o código em funcionamento.

Figura 31 – Circuito: Tela de abertura

Seguindo como era esperado, a apresentação dos projetos e dos nomes dos envolvidosno desenvolvimento.

(a) Apresentação: Projeto 8060 (b) Apresentação: Nomes

Figura 32 – Configurações Iniciais

Antes de iniciar o projeto, na tela de "Boas-Vindas"foi escolhido a opção "Sim", assimfoi possível fazer o teste das configurações.

Page 72: Sistema Inteligente de Automatização de Bombas de Irrigação por

72 Capítulo 4. Resultados e Conclusões

Então:

(a) Configuração Inicial: Hora (b) Configuração Inicial: Máximos

Figura 33 – Configurações Iniciais

Realizado as configurações inicias como mostrado, foi testado se os valores foram seta-dos corretamente no display, logo:

Figura 34 – Circuito: "Área de Trabalho"

Pela figura 34 facilmente se percebeu que o circuito foi configurado corretamente, foianalisado o sensor DHT11 e viu que este variava a temperatura e umidade como esperado, nomomento de teste ele se encontrava com os mesmos valores amostrados na figura 34. Para umarápida variação foi inserido próximo ao sensor um ferro de solda para que ele causasse alte-rações nos parâmetros do circuito, assim ao aproximar do sensor, foi visto que a temperaturaaumentava e a umidade abaixava. Concluindo que o sensor estava condizente com o anterior-mente simulado.

Page 73: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 73

Para o teste da amostragem temporal em campo e bancada, foi realizado os seguintespassos:

1. No computador:

Conectado o cabo Serial → Iniciado o software JCFS Irrigações → Porta "COM 2"en-contrada e setada → Aguardando resposta do circuito.

2. No circuito:

Menu → Redes → Configurações → Ok.

As configurações do menu redes:

∙ Server = Ligado

∙ MATLAB = Ligado

Agora para o "Menu Ensaio":

Menu → Ensaio → Configurações → Ok.

Para as configurações do menu ensaio:

∙ Amostras(n) = 100(n)

∙ Tempo(m) = 14(m)

Nota-se que foi colocado o tempo de 14(m) para que o circuito colete 100 pontos em 24horas e 40 minutos.

O fio utilizado entre o sensor DHT11 e o circuito, foi de aproximadamente 10 metros,este levava até uma área bem descampada, na qual ele mediu a temperatura e umidade comcoleta de dados de 15 em 15 minutos aproximadamente. Ao terminar foi encontrado o gráficocomo é mostrado na figura 35:

Page 74: Sistema Inteligente de Automatização de Bombas de Irrigação por

74 Capítulo 4. Resultados e Conclusões

Figura 35 – Circuito: Ensaio temporal

Pelo software JCFS Irrigações, foi feito o condicionamento dos dados coletados:

Figura 36 – JCFS Irrigações: Dados coletados

Assim:Confirmando a opção "Código Matlab"→ Salvar Dados → Nome do arquivo.m → Ok.Executando o arquivo no software MATLAB, encontramos os seguintes dados automa-

ticamente gerados:

Page 75: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 75

Figura 37 – MATLAB: Tabela gerada automaticamente

Para o gráfico dos dados coletados.

Figura 38 – MATLAB: Gráfico gerado automaticamente

Observando as duas figuras, figura 38 e a figura 35, é fácil perceber que ambos osgráficos são idênticos, e diz-se que a comunicação entre PIC e PC funcionou perfeitamente.

Desta maneira para realizar a simulação do irrigador, foi inserido um LED azul de auto-brilho, assim quando as "bombas", estivessem ligadas, este LED estava aceso, caso bombas

Page 76: Sistema Inteligente de Automatização de Bombas de Irrigação por

76 Capítulo 4. Resultados e Conclusões

desligadas, estava apagado.

4.1.4 Roteamento do Circuito

O próprio roteamento desenvolvido foi realizado via Proteus, visto que o número decomponentes não era grande, foi trabalhado em apenas um layer1 do circuito, como mostra afigura 39.

Foi passado uma malha de ground em todo o circuito, do mais todas as tensões utiliza-das foram normalizadas para a tensão de 5V, contudo existe um circuito de contraste do display

que requer tensões de no máximo 3.8V, logo foi colocado um resistor para desse uma pequenaqueda de tensão, e suprisse o valor estipulado no datasheet.

1 Layer:Faces ou níveis de uma folha de circuito impresso

Page 77: Sistema Inteligente de Automatização de Bombas de Irrigação por

4.1. Discussão dos Resultados 77

Figura 39 – Esquemático do circuito roteado

Como visto na figura 39 foi o mesmo PCB utilizado para a confecção da placa de cir-cuito impresso. Nota-se que a placa ficou grande pela quantidade de componentes utilizado,isso se deve ao display gráfico que ocupa praticamente metade de todo o PCB montado.

Page 78: Sistema Inteligente de Automatização de Bombas de Irrigação por

78 Capítulo 4. Resultados e Conclusões

4.2 Conclusão

Para considerações finais, após todo o trabalho ser realizado percebeu-se que todos osobjetivos gerais proposto no inicio da pesquisa, foram concluídos com sucesso. De certa formaapesar das limitações do sensor DHT11, em nenhum momento este deixou de executar suasfunções corretamente dentro do projeto.

O circuito de acionamento de bombas de irrigação por temperatura e umidade, estariaquase pronto para entrar no mercado e possívelmente competir com algumas marcas de acio-nadores em geral já existentes, que aqui na pesquisa não é tratada. O baixo custo para criar éuma grande vantagem dessa aplicação, visto que ele não chegaria por preços exorbitantes noconsumidor final. A faixa de preço estaria por menos de 200 reais a unidade, preço comparadocom acionadores por timer que executa o acionamento por um tempo pré-programado e, quepossui constantes intervenções manuais, método que não existe no circuito desenvolvido.

Como trabalhos futuros para uma possível continuação do trabalho até então desenvol-vido, seria interessante a inserção de um sensor de umidade do solo para uma melhor precisãoe resposta, assim, mensurando os dados do ar e do solo. A técnica se aplicaria para um númeromaior de culturas, além de outros tipos de bombeamento de água como os por gotejamento. Ou-tra ideia que poderia ser interessante seria a introdução de um pequeno módulo bluetooth, assimseria possível desenvolver um aplicativo para plataforma Android ou iOS, e controlar e receberas informações em tempo real direto no celular do usuário. Para finalizar, uma ideia simples,mas que no projeto proposto de partida era inviável a introdução, era um simples timer comoa maioria dos acionadores encontrados no mercado, dessa forma o usuário teria uma segundaopção de acionamento, caso lhe seja mais cômodo.

No projeto como um todo não foi encontrado grandes problemas e defeitos no disposi-tivo, então não existe a solução de um possível defeito a ser corrigido futuramente, visto quetodos os encontrados foram sanados e corretamente programados para que o código junto aocircuito fosse o mais robusto, aumentando o tempo de vida e a qualidade do dispositivo.

4.2.1 Considerações Finais

O trabalho realizado no decorrer do documento, foi de suma importância no amadure-cimento e na capacitação do aluno que o desenvolveu, pois com ele foi adquiridos conhecimen-tos externos aos aprendidos no decorrer do curso de graduação, além da introdução de novoscomponentes como o display gráfico e sensor DHT11. Foi introduzido como conhecimento alinguagem C#, sabendo que foi necessário grande tempo de estudo e pesquisa sobre essa lin-guagem antes mesmo de se conseguir realizar a inicialização do aplicativo JCFS Irrigações.Contudo, também foi adquirido o conhecimento de aquisição de componentes e a escolha dequal o melhor a se utilizar no trabalho em si.

Resumindo em poucas palavras, foi uma experiência gratificante de se alcançar.

Page 79: Sistema Inteligente de Automatização de Bombas de Irrigação por

79

Referências

ARAUJO, J. Dominando a linguagem C. 1 edição. ed. Rio de Janeiro, RJ, Brasil: CiênciaModerna, 2004. ISBN 8573933151. Citado na página 31.

DNAEE, G. Maio,2014. Disponível em: <http://www.dnaee.gov.br/>. Citado na página 25.

EMBRAPA, B. Junho,2014. Disponível em: <https://www.embrapa.br/>. Citado na página26.

FEOFILOFF, P. Algoritmos em linguagem C. 2 edição. ed. São Paulo, SP, Brasil:Campus/Elsevier, 2008–2009. ISBN 978-85-352-3249-3. Citado na página 31.

FORDATA, D. Abril,2014. Disponível em: <http://www.fordata.cn/>. Citado na página 39.

GARCIA, E. Compilador c ccs y simulador proteus para microcontroladores pic. EditorialAlfaOmega, p. 154, 2008. Citado na página 50.

IBGE, G. Brasil e suas fronteiras. [S.l.], 2014. Citado na página 25.

JAMSA, P. K. C/C++, A Bíblia, O Melhor Guia Para Programação C/C++. 1 edição. ed. SãoPaulo, SP, Brasil: Lars Klander, 1999. ISBN 85.346.1025-8. Citado na página 31.

JOHN, L. Onu quer mais eficiência na irrigação. Estadão, 2003. Citado na página 25.

LIBERTY, J. Programming C#: Building. NET Applications with C#. [S.l.]: O’Reilly Media,Inc., 2005. Citado na página 54.

MICROCHIP. Datasheet PIC18F452 Microchip. [S.l.], 2014. Citado na página 38.

NI, T. Application on the temperature and humidity measurement and control system of thesingle-bus sensor dht11. Microcontrollers Embeded Syst, v. 6, p. 60–62, 2010. Citado napágina 37.

PEATMAN, J. B. Embedded Design with the PIC18F452. [S.l.]: Pearson Education, 2002.Citado na página 38.

ROBERTO, P. Técnicas de irrigação - irrigação por aspersão. Unicamp, 2008. Citado napágina 26.

SPOHR, R. B. Escoamento superficial e infiltração de água no solo sob chuva. CONGRESSOBRASILEIRO DE CIÊNCIA DO, Gramado, RS, 2007. Citado na página 25.

TIANLONG, N. Application of single bus sensor dht11 in temperature humidity measure andcontrol system [j]. Microcontrollers & Embedded Systems, v. 6, p. 026, 2010. Citado napágina 36.

Page 80: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 81: Sistema Inteligente de Automatização de Bombas de Irrigação por

81

APÊNDICE A – Esquemático doCircuito

Page 82: Sistema Inteligente de Automatização de Bombas de Irrigação por

AB

CD

EF

GH

JK

BC

DE

FG

HJ

KA

FILE

NAME

:

BY:

DATE

:

PAGE

:

TCC

Jean

Car

los.pd

sprj

17/10

/2014

Jean

Car

los F.

San

tos

C:\U

sers

\Jean

CFF\D

ropb

ox\TC

C\PR

INCI

PAL\S

imula

cao\T

CC Je

an C

arlos

.pdsp

rjPA

TH:

1of

1RE

V:3.0

TIME:

00:54

:21

DESI

GN TI

TLE:

TCC

2014

0 1 2 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8

3

9

VDD

58 24%R

H

>

°C

DATA

2VD

D1

GND

4

U2DH

T11

Visor

Sens

or de

Temp

eratur

a

MCLR

/VPP

1

RA0/A

N02

RA1/A

N13

RA2/A

N2/V

REF-

4RA

3/AN3

/VRE

F+5

RA4/T

0CKI

6RA

5/AN4

/SS/

LVDI

N7

RE0/R

D/AN

58

RE1/W

R/AN

69

RE2/C

S/AN

710

OSC1

/CLK

I13

RA6/O

SC2/C

LKO

14

RC0/T

1OSO

/T1CK

I15

RC2/C

CP1

17RC

3/SCK

/SCL

18

RD0/P

SP0

19RD

1/PSP

120

RD2/P

SP2

21RD

3/PSP

322

RD4/P

SP4

27RD

5/PSP

528

RD6/P

SP6

29RD

7/PSP

730

RC4/S

DI/S

DA23

RC5/S

DO24

RC6/T

X/CK

25RC

7/RX/

DT26

RB0/I

NT0

33RB

1/INT

134

RB2/I

NT2

35RB

3/CCP

2B36

RB4

37RB

5/PGM

38RB

6/PGC

39RB

7/PGD

40

RC1/T

1OSI

/CCP

2A16

U1 PIC1

8F45

2

1 2

X1 CRYS

TAL

FREQ

=8MH

z

C1 1nF C2 1nF

R3 10k

Rese

t

CS1 1CS2 2GND 3VCC 4V0 5DI 6R/W 7E 8DB0 9DB1 10DB2 11DB3 12DB4 13DB5 14DB6 15DB7 16RST 17-Vout 18

LCD1

LGM1

2641

BS1R

R2 100k

R4 100k

R5 100k

R6 100k

C3 100n

F

C4 100n

F

C5 100n

F

C6 100n

F

R7 1k R9 1k R10

1k R11

1k

MENU

/OK

MENU

/OK

CIMA

DIRE

ITA

ESQU

ERDA

Cima

DIRE

ITAES

QUER

DA

R14.7

k

dht11

DHT1

1

RV1

10k

OSC1

OSC2

OSC1

OSC2

RD1

RD1

RD2

RD2

RD0

RD0

RD3

RD3

CS2

CS1 DI

R/W E

RST

DB0

DB1

DB2

DB3

DB4

DB5

DB6

DB7

RSTDB7DB6DB5DB4DB3DB2DB1DB0

ER/W

DI

CS2CS1

Filtro

Pas

sa-B

aixas

do B

ounc

e

Oscil

ador

Micro

contr

olado

r

GNDVCC

R12

1k

R13

100k

C7 100n

F

BAIX

O

RD4

RD4

BAIX

O

Tecla

doERRO

R

TXD

3RX

D2

CTS

8RT

S7

DSR

6

DTR

4

DCD

1

RI9

P1 COMP

IM

D1 LED-

BIBY

R8 270

T1IN

11R1

OUT

12T2

IN10

R2OU

T9

T1OU

T14

R1IN

13T2

OUT

7R2

IN8

C2+

4

C2-

5

C1+

1

C1-

3

VS+

2VS

-6U3 MAX2

32

C8 10uF C9 10uF

C10

10uF C1

110

uF

1 6 2 7 3 8 4 9 5

J1 CONN

-D9F

Xmod

em, Y

mode

m, Zm

odem

VT52

, VT1

00, A

NSI

RXD

RTS

TXD

CTS

D3 DIOD

E

RL1

5V

IRRI

GADO

R

IRRI

GADO

R

Q1 2N22

22R1

410

k

Page 83: Sistema Inteligente de Automatização de Bombas de Irrigação por

83

APÊNDICE B – Datasheet DHT11

Page 84: Sistema Inteligente de Automatização de Bombas de Irrigação por

Aosong(Guangzhou) Electronics Co.,Ltd. TEL:020-36042809 / 36380552 www.aosong.com - 1 -

1、Product Overview

DHT11 digital temperature and humidity sensor is a composite Sensor contains a calibrated

digital signal output of the temperature and humidity. Application of a dedicated digital modules

collection technology and the temperature and humidity sensing technology, to ensure that the

product has high reliability and excellent long-term stability. The sensor includes a resistive sense

of wet components and an NTC temperature measurement devices, and connected with a

high-performance 8-bit microcontroller.

2、Applications

HVAC, dehumidifier, testing and inspection equipment, consumer goods, automotive, automatic

control, data loggers, weather stations, home appliances, humidity regulator, medical and other humidity

measurement and control.

3、Features

Low cost, long-term stability, relative humidity and temperature measurement, excellent quality, fast

response, strong anti-interference ability, long distance signal transmission, digital signal output, and

precise calibration.

4、Dimensions (unit: mm)

Page 85: Sistema Inteligente de Automatização de Bombas de Irrigação por

Aosong(Guangzhou) Electronics Co.,Ltd. TEL:020-36042809 / 36380552 www.aosong.com - 2 -

5、Product parameters

Relative humidity

Resolution: 16Bit

Repeatability: ±1% RH

Accuracy: At 25 ±5% RH

Interchangeability: fully interchangeable

Response time: 1 / e (63%) of 25 6s

1m / s air 6s

Hysteresis: <± 0.3% RH

Long-term stability: <± 0.5% RH / yr in

Temperature

Resolution: 16Bit

Repeatability: ±0.2

Range: At 25 ±2

Response time: 1 / e (63%) 10S

Electrical Characteristics

Power supply: DC 3.5~5.5V

Supply Current: measurement 0.3mA standby 60μ A

Sampling period: more than 2 seconds

Pin Description

1, the VDD power supply 3.5~5.5V DC

2 DATA serial data, a single bus

3, NC, empty pin

4, GND ground, the negative power

Page 86: Sistema Inteligente de Automatização de Bombas de Irrigação por

Aosong(Guangzhou) Electronics Co.,Ltd. TEL:020-36042809 / 36380552 www.aosong.com - 3 -

6、Typical circuit

Microprocessor and DHT11 of connection typical application circuit as shown above, DATA pull the

microprocessor I / O ports are connected.

1. Typical application circuit recommended in the short cable length of 20 meters on the 5.1K

pull-up resistor, the resistance of greater than 20 meters under the pull-up resistor on the lower of the

actual situation.

2. When using a 3.5V voltage supply cable length shall not be greater than 20cm. Otherwise, the line

voltage drop will cause the sensor power supply shortage, caused by measurement error.

3. Each read out the temperature and humidity values are the results of the last measurement For

real-time data, sequential read twice, but is not recommended to repeatedly read the sensors, each

read sensor interval is greater than 5 seconds can be obtainedaccurate data.

7、Serial communication instructions (single-wire bi-directional)

Single bus Description

DHT11 uses a simplified single-bus communication. Single bus that only one data line, the system

of data exchange, control by a single bus to complete. Device (master or slave) through an open-drain

or tri-state port connected to the data line to allow the device does not send data to release the bus,

while other devices use the bus; single bus usually require an external one about 5.1kΩ pull-up resistor,

so that when the bus is idle, its status is high. Because they are the master-slave structure, and only

when the host calls the slave, the slave can answer, the host access devices must strictly follow the

single-bus sequence, if the chaotic sequence, the device will not respond to the host.

Single bus to transfer data defined

DATA For communication and synchronization between the microprocessor and DHT11, single-bus

data format, a transmission of 40 data, the high first-out.

Page 87: Sistema Inteligente de Automatização de Bombas de Irrigação por

Aosong(Guangzhou) Electronics Co.,Ltd. TEL:020-36042809 / 36380552 www.aosong.com - 4 -

Data format:

The 8bit humidity integer data + 8bit the Humidity decimal data +8 bit temperature integer data +

8bit fractional temperature data +8 bit parity bit.

Parity bit data definition

“8bit humidity integer data + 8bit humidity decimal data +8 bit temperature integer data + 8bit

temperature fractional data” 8bit checksum is equal to the results of the last eight.

Example 1: 40 data is received:

0011 0101 0000 0000 0001 1000 0000 0000 0100 1101

High humidity 8 Low humidity 8 High temp. 8 Low temp. 8 Parity bit

Calculate:

0011 0101+0000 0000+0001 1000+0000 0000= 0100 1101

Received data is correct:

Humidity:0011 0101=35H=53%RH

Temperature:0001 1000=18H=24

Example 2: 40 data is received:

0011 0101 0000 0000 0001 1000 0000 0000 0100 1001

High humidity 8 Low humidity 8 High temp. 8 Low temp. 8 Parity bit

Calculate:

0011 0101+0000 0000+0001 1000+0000 0000= 0100 1101

01001101≠0100 1001

The received data is not correct, give up, to re-receive data.

Data Timing Diagram

User host (MCU) to send a signal, DHT11 converted from low-power mode to high-speed mode,

until the host began to signal the end of the DHT11 send a response signal to send 40bit data, and

trigger a letter collection. The signal is sent as shown.

Data Timing Diagram

Note: The host reads the temperature and humidity data from DHT11 always the last measured

value, such as twice the measured interval of time is very long, continuous read twice to the second

value of real-time temperature and humidity values.

Page 88: Sistema Inteligente de Automatização de Bombas de Irrigação por
Page 89: Sistema Inteligente de Automatização de Bombas de Irrigação por

89

APÊNDICE C – Datasheet do display

Page 90: Sistema Inteligente de Automatização de Bombas de Irrigação por

FDCG12864G

MECHANICAL SPECIFICATIONS

DOT NUMBER

OVERALL SIZE

VIEWING AREA

HOLE - HOLE

128W X 64H

87.00W X 71.00H

62.00W X 44.00H

75.00W X 67.00H

DOT SIZE

DOT PITCH

0.40W X 0.56H

0.04W X 0.04H

mm

mm

mm

mm

mm

Supply current

RecommendedLCD driving voltage

for normal tempversion module

LED forward voltage

LED forward current

Input voltage

ITEM SYMBOL CONDITIONSTANDARD

UNITMIN TYP MAX

Vdd +5V 4.7 5.0 5.5 V

Vdd=5V 8 mAIdd

Vdd-V0

VF

IF

ELECTRONICAL CHARACTERISTICS

V

9.8

9.5

9.3

0

25

50

25

C

C

C

C

C25

4.2

240

4.6

---

---

--- mA

V

---

---

---

---

---

---

---

---

1. 128X64 dots graphic LCD module

2. Built- in controller (KS0108B)

3. +5V power supply

4. STN LCD panel, 1/64 duty cycle

FEATURE

PROFESSIONAL LCD SUPPLIER FROM CHINA

FORDATA ELECTRONIC CO.,LTD

BLOCK DIAGRAM

8

IC2

IC3

IC4

SEG 65~128

LCD PANELSEG 1~64

COM 1~64

IC1

LED BKL

5 3 85 38

3

VddVss

V0

DB0~DB7

A

R/W E RS

RST

Vee

K

CS

ITEM

POWER SUPPLY (LOGIC)

POWER SUPPLY (LCD)

INPUT VOLTAGE

SYMBOL

Vdd

V0

Vin

MIN

-0.3

Vdd -19.0

-0.3

MAX

7.0

Vdd +0.3

Vdd +0.3

UNIT

V

V

V

ABSOLUTE MAXIMUM RATINGS

PIN ASSIGNMENTPIN ASSIGNMENT

PIN

1

2

3

6

5

SYMBOL

Vss

Vdd

V0

E

R/W

FUNCTION

GND

Power Supply

Contrast Adjust

4 RS H/L Rigister select signal

18

Vee Negative voltage output

Chip enable signal

H/L Read/write

20(K) LED- Power supply for BKL(GND)

19(A) LED+ Power supply for BKL(4.2V)

15 CS1

7 to 14 DB0 to DB7 H/L Data bus line

Chip select for IC1

17

RST Reset signal16

CS2 Chip select for IC2

0.040.4

0.04

0.56

62.0 V.A.73.5 0.2

75.0 0.2 H.H.87.0 0.5 O.S.

71.0

0.5

O.S

.67

.00.

2H

.H.

44.0

0.2

V.A.

58.2

0.2

56.28

38.3

6

P2.5

4X1

9=4

8.26

01.25 4PL

10.1

6 K

A

1

VIA

01

.02

0P

LP

AD

01

.82

0P

L

12.3

720

2.5

29.4

23.

0

T1

( )T2 MAX

1.6

128 X 64 DOTS

10.2 15.0

ITEM T2T1LED backlight

EL / without backlight 5.0 10.0

Page 91: Sistema Inteligente de Automatização de Bombas de Irrigação por

91

APÊNDICE D – Datasheet doPIC18F452

D.0.2 Diagrama de Blocos e Principais Periféricos

Page 92: Sistema Inteligente de Automatização de Bombas de Irrigação por

© 2006 Microchip Technology Inc. DS39564C-page 7

PIC18FXX2

1.0 DEVICE OVERVIEW

This document contains device specific information forthe following devices:

These devices come in 28-pin and 40/44-pin packages.The 28-pin devices do not have a Parallel Slave Port(PSP) implemented and the number of Analog-to-Digital (A/D) converter input channels is reduced to 5.An overview of features is shown in Table 1-1.

The following two figures are device block diagramssorted by pin count: 28-pin for Figure 1-1 and 40/44-pinfor Figure 1-2. The 28-pin and 40/44-pin pinouts arelisted in Table 1-2 and Table 1-3, respectively.

TABLE 1-1: DEVICE FEATURES

• PIC18F242 • PIC18F442

• PIC18F252 • PIC18F452

Features PIC18F242 PIC18F252 PIC18F442 PIC18F452

Operating Frequency DC - 40 MHz DC - 40 MHz DC - 40 MHz DC - 40 MHz

Program Memory (Bytes) 16K 32K 16K 32K

Program Memory (Instructions) 8192 16384 8192 16384

Data Memory (Bytes) 768 1536 768 1536

Data EEPROM Memory (Bytes) 256 256 256 256

Interrupt Sources 17 17 18 18

I/O Ports Ports A, B, C Ports A, B, C Ports A, B, C, D, E Ports A, B, C, D, E

Timers 4 4 4 4

Capture/Compare/PWM Modules 2 2 2 2

Serial CommunicationsMSSP,

Addressable USART

MSSP, Addressable

USART

MSSP, Addressable

USART

MSSP, Addressable

USART

Parallel Communications — — PSP PSP

10-bit Analog-to-Digital Module 5 input channels 5 input channels 8 input channels 8 input channels

RESETS (and Delays)

POR, BOR, RESET Instruction,

Stack Full, Stack Underflow

(PWRT, OST)

POR, BOR, RESET Instruction,

Stack Full, Stack Underflow

(PWRT, OST)

POR, BOR, RESET Instruction,

Stack Full, Stack Underflow

(PWRT, OST)

POR, BOR, RESET Instruction,

Stack Full, Stack Underflow

(PWRT, OST)

Programmable Low Voltage Detect

Yes Yes Yes Yes

Programmable Brown-out Reset Yes Yes Yes Yes

Instruction Set 75 Instructions 75 Instructions 75 Instructions 75 Instructions

Packages28-pin DIP

28-pin SOIC28-pin DIP

28-pin SOIC

40-pin DIP44-pin PLCC44-pin TQFP

40-pin DIP44-pin PLCC44-pin TQFP

Page 93: Sistema Inteligente de Automatização de Bombas de Irrigação por

PIC18FXX2

DS39564C-page 8 © 2006 Microchip Technology Inc.

FIGURE 1-1: PIC18F2X2 BLOCK DIAGRAM

InstructionDecode &

Control

PORTA

PORTB

PORTC

RA4/T0CKIRA5/AN4/SS/LVDIN

RC0/T1OSO/T1CKIRC1/T1OSI/CCP2(1)

RC2/CCP1RC3/SCK/SCLRC4/SDI/SDARC5/SDORC6/TX/CKRC7/RX/DT

Note 1: Optional multiplexing of CCP2 input/output with RB3 is enabled by selection of configuration bit.

2: The high order bits of the Direct Address for the RAM are from the BSR register (except for the MOVFF instruction).

3: Many of the general purpose I/O pins are multiplexed with one or more peripheral module functions. The multiplexing combinationsare device dependent.

AddressableCCP1 Synchronous

Timer0 Timer1 Timer2

Serial Port

RA3/AN3/VREF+RA2/AN2/VREF-RA1/AN1RA0/AN0

A/D Converter

Data Latch

Data RAM

Address Latch

Address<12>

12(2)

BSR FSR0FSR1FSR2

4 12 4

PCH PCL

PCLATH

8

31 Level Stack

Program Counter

PRODLPRODH

8 x 8 Multiply

WREG

8

BIT OP88

ALU<8>

8

Address Latch

Program Memory(up to 2 Mbytes)

Data Latch

21

21

16

8

8

8

inc/dec logic

218

Data Bus<8>

8

Instruction

12

3

ROM Latch

Timer3

CCP2

Bank0, F

PCLATU

PCU

RA6

USART

Master

8

Register

Table Latch

Table Pointer

inc/dec logicDecode

RB0/INT0

RB4

RB1/INT1RB2/INT2RB3/CCP2(1)

RB5/PGMRB6/PCGRB7/PGD

Data EEPROM

Power-upTimer

OscillatorStart-up Timer

Power-onReset

WatchdogTimer

OSC1/CLKIOSC2/CLKO

MCLR

VDD, VSS

Brown-outReset

TimingGeneration

4X PLL

T1OSCIT1OSCO

Precision

ReferenceVoltage

Low Voltage Programming

In-Circuit Debugger

Page 94: Sistema Inteligente de Automatização de Bombas de Irrigação por

© 2006 Microchip Technology Inc. DS39564C-page 9

PIC18FXX2

FIGURE 1-2: PIC18F4X2 BLOCK DIAGRAM

Power-upTimer

OscillatorStart-up Timer

Power-onReset

WatchdogTimer

InstructionDecode &

Control

OSC1/CLKIOSC2/CLKO

MCLR

VDD, VSS

PORTA

PORTB

PORTC

RA4/T0CKIRA5/AN4/SS/LVDIN

RB0/INT0

RB4

RC0/T1OSO/T1CKIRC1/T1OSI/CCP2(1)

RC2/CCP1RC3/SCK/SCLRC4/SDI/SDARC5/SDORC6/TX/CKRC7/RX/DT

Brown-outReset

Note 1: Optional multiplexing of CCP2 input/output with RB3 is enabled by selection of configuration bit.

2: The high order bits of the Direct Address for the RAM are from the BSR register (except for the MOVFF instruction).

3: Many of the general purpose I/O pins are multiplexed with one or more peripheral module functions. The multiplexing combinationsare device dependent.

AddressableCCP1Master

Timer0 Timer1 Timer2

Serial Port

RA3/AN3/VREF+RA2/AN2/VREF-RA1/AN1RA0/AN0

Parallel Slave Port

TimingGeneration

4X PLL

A/D Converter

RB1/INT1

Data Latch

Data RAM(up to 4K

address reach)

Address Latch

Address<12>

12(2)

Bank0, FBSR FSR0FSR1FSR2

4 12 4

PCH PCL

PCLATH

8

31 Level Stack

Program Counter

PRODLPRODH

8 x 8 Multiply

WREG

8

BIT OP88

ALU<8>

8

Address Latch

Program Memory(up to 2 Mbytes)

Data Latch

21

21

16

8

8

8

inc/dec logic

218

Data Bus<8>

Table Latch

8

Instruction

12

3

ROM Latch

Timer3

PORTD

PORTE

RE0/AN5/RD

RE1/AN6/WR

RE2/AN7/CS

CCP2

RB2/INT2RB3/CCP2(1)

T1OSCIT1OSCO

PCLATU

PCU

RA6

Precision

ReferenceVoltage

SynchronousUSART

Register

8

Table Pointer

inc/dec logicDecode

RD0/PSP0RD1/PSP1RD2/PSP2RD3/PSP3RD4/PSP4RD5/PSP5RD6/PSP6RD7/PSP7

Low Voltage Programming

In-Circuit Debugger

Data EEPROM

RB5/PGMRB6/PCGRB7/PGD

Page 95: Sistema Inteligente de Automatização de Bombas de Irrigação por

PIC18FXX2

DS39564C-page 10 © 2006 Microchip Technology Inc.

TABLE 1-2: PIC18F2X2 PINOUT I/O DESCRIPTIONS

Pin NamePin Number Pin

TypeBufferType

DescriptionDIP SOIC

MCLR/VPP

MCLR

VPP

1 1

I

I

ST

ST

Master Clear (input) or high voltage ICSP programming enable pin.

Master Clear (Reset) input. This pin is an active low RESET to the device.High voltage ICSP programming enable pin.

NC — — — — These pins should be left unconnected.

OSC1/CLKIOSC1

CLKI

9 9I

I

ST

CMOS

Oscillator crystal or external clock input.Oscillator crystal input or external clock source input. ST buffer when configured in RC mode, CMOS otherwise.External clock source input. Always associated with pin function OSC1. (See related OSC1/CLKI, OSC2/CLKO pins.)

OSC2/CLKO/RA6OSC2

CLKO

RA6

10 10O

O

I/O

TTL

Oscillator crystal or clock output.Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode.In RC mode, OSC2 pin outputs CLKO which has 1/4 the frequency of OSC1, and denotes the instruction cycle rate. General Purpose I/O pin.

PORTA is a bi-directional I/O port.

RA0/AN0RA0AN0

2 2I/OI

TTLAnalog

Digital I/O.Analog input 0.

RA1/AN1RA1AN1

3 3I/OI

TTLAnalog

Digital I/O.Analog input 1.

RA2/AN2/VREF-RA2AN2VREF-

4 4I/OII

TTLAnalogAnalog

Digital I/O.Analog input 2.A/D Reference Voltage (Low) input.

RA3/AN3/VREF+RA3AN3VREF+

5 5I/OII

TTLAnalogAnalog

Digital I/O.Analog input 3.A/D Reference Voltage (High) input.

RA4/T0CKIRA4T0CKI

6 6I/OI

ST/ODST

Digital I/O. Open drain when configured as output.Timer0 external clock input.

RA5/AN4/SS/LVDINRA5AN4SSLVDIN

7 7I/OIII

TTLAnalog

STAnalog

Digital I/O.Analog input 4.SPI Slave Select input.Low Voltage Detect Input.

RA6 See the OSC2/CLKO/RA6 pin.

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power OD = Open Drain (no P diode to VDD)

Page 96: Sistema Inteligente de Automatização de Bombas de Irrigação por

© 2006 Microchip Technology Inc. DS39564C-page 11

PIC18FXX2

PORTB is a bi-directional I/O port. PORTB can be software programmed for internal weak pull-ups on all inputs.

RB0/INT0RB0INT0

21 21I/OI

TTLST

Digital I/O.External Interrupt 0.

RB1/INT1RB1INT1

22 22I/OI

TTLST External Interrupt 1.

RB2/INT2RB2INT2

23 23I/OI

TTLST

Digital I/O.External Interrupt 2.

RB3/CCP2RB3CCP2

24 24I/OI/O

TTLST

Digital I/O.Capture2 input, Compare2 output, PWM2 output.

RB4 25 25 I/O TTL Digital I/O.Interrupt-on-change pin.

RB5/PGMRB5PGM

26 26I/OI/O

TTLST

Digital I/O. Interrupt-on-change pin.Low Voltage ICSP programming enable pin.

RB6/PGCRB6PGC

27 27I/OI/O

TTLST

Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming clock pin.

RB7/PGDRB7PGD

28 28I/OI/O

TTLST

Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming data pin.

TABLE 1-2: PIC18F2X2 PINOUT I/O DESCRIPTIONS (CONTINUED)

Pin NamePin Number Pin

TypeBufferType

DescriptionDIP SOIC

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power OD = Open Drain (no P diode to VDD)

Page 97: Sistema Inteligente de Automatização de Bombas de Irrigação por

PIC18FXX2

DS39564C-page 12 © 2006 Microchip Technology Inc.

PORTC is a bi-directional I/O port.

RC0/T1OSO/T1CKIRC0T1OSOT1CKI

11 11I/OOI

ST—ST

Digital I/O.Timer1 oscillator output. Timer1/Timer3 external clock input.

RC1/T1OSI/CCP2RC1T1OSICCP2

12 12I/OI

I/O

STCMOS

ST

Digital I/O.Timer1 oscillator input.Capture2 input, Compare2 output, PWM2 output.

RC2/CCP1RC2CCP1

13 13I/OI/O

STST

Digital I/O.Capture1 input/Compare1 output/PWM1 output.

RC3/SCK/SCLRC3SCKSCL

14 14I/OI/OI/O

STSTST

Digital I/O.Synchronous serial clock input/output for SPI mode.Synchronous serial clock input/output for I2C mode

RC4/SDI/SDARC4SDISDA

15 15I/OI

I/O

STSTST

Digital I/O.SPI Data In. I2C Data I/O.

RC5/SDORC5SDO

16 16I/OO

ST—

Digital I/O.SPI Data Out.

RC6/TX/CKRC6TXCK

17 17I/OO

I/O

ST—ST

Digital I/O.USART Asynchronous Transmit. USART Synchronous Clock (see related RX/DT).

RC7/RX/DTRC7RXDT

18 18I/OI

I/O

STSTST

Digital I/O.USART Asynchronous Receive.USART Synchronous Data (see related TX/CK).

VSS 8, 19 8, 19 P — Ground reference for logic and I/O pins.

VDD 20 20 P — Positive supply for logic and I/O pins.

TABLE 1-2: PIC18F2X2 PINOUT I/O DESCRIPTIONS (CONTINUED)

Pin NamePin Number Pin

TypeBufferType

DescriptionDIP SOIC

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power OD = Open Drain (no P diode to VDD)

Page 98: Sistema Inteligente de Automatização de Bombas de Irrigação por

© 2006 Microchip Technology Inc. DS39564C-page 13

PIC18FXX2

TABLE 1-3: PIC18F4X2 PINOUT I/O DESCRIPTIONS

Pin NamePin Number Pin

TypeBufferType

DescriptionDIP PLCC TQFP

MCLR/VPP

MCLR

VPP

1 2 18

I

I

ST

ST

Master Clear (input) or high voltage ICSP programming enable pin.

Master Clear (Reset) input. This pin is an active low RESET to the device.High voltage ICSP programming enable pin.

NC — — — These pins should be left unconnected.

OSC1/CLKIOSC1

CLKI

13 14 30I

I

ST

CMOS

Oscillator crystal or external clock input.Oscillator crystal input or external clock source input. ST buffer when configured in RC mode, CMOS otherwise.External clock source input. Always associated with pin function OSC1. (See related OSC1/CLKI, OSC2/CLKO pins.)

OSC2/CLKO/RA6OSC2

CLKO

RA6

14 15 31O

O

I/O

TTL

Oscillator crystal or clock output.Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode.In RC mode, OSC2 pin outputs CLKO, which has 1/4 the frequency of OSC1 and denotes the instruction cycle rate. General Purpose I/O pin.

PORTA is a bi-directional I/O port.

RA0/AN0RA0AN0

2 3 19I/OI

TTLAnalog

Digital I/O.Analog input 0.

RA1/AN1RA1AN1

3 4 20I/OI

TTLAnalog

Digital I/O.Analog input 1.

RA2/AN2/VREF-RA2AN2VREF-

4 5 21I/OII

TTLAnalogAnalog

Digital I/O.Analog input 2.A/D Reference Voltage (Low) input.

RA3/AN3/VREF+RA3AN3VREF+

5 6 22I/OII

TTLAnalogAnalog

Digital I/O.Analog input 3.A/D Reference Voltage (High) input.

RA4/T0CKIRA4T0CKI

6 7 23I/OI

ST/ODST

Digital I/O. Open drain when configured as output.Timer0 external clock input.

RA5/AN4/SS/LVDINRA5AN4SSLVDIN

7 8 24I/OIII

TTLAnalog

STAnalog

Digital I/O.Analog input 4.SPI Slave Select input.Low Voltage Detect Input.

RA6 (See the OSC2/CLKO/RA6 pin.)

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power OD = Open Drain (no P diode to VDD)

Page 99: Sistema Inteligente de Automatização de Bombas de Irrigação por

PIC18FXX2

DS39564C-page 14 © 2006 Microchip Technology Inc.

PORTB is a bi-directional I/O port. PORTB can be software programmed for internal weak pull-ups on all inputs.

RB0/INT0RB0INT0

33 36 8I/OI

TTLST

Digital I/O.External Interrupt 0.

RB1/INT1RB1INT1

34 37 9I/OI

TTLST External Interrupt 1.

RB2/INT2RB2INT2

35 38 10I/OI

TTLST

Digital I/O.External Interrupt 2.

RB3/CCP2RB3CCP2

36 39 11I/OI/O

TTLST

Digital I/O.Capture2 input, Compare2 output, PWM2 output.

RB4 37 41 14 I/O TTL Digital I/O. Interrupt-on-change pin.

RB5/PGMRB5PGM

38 42 15I/OI/O

TTLST

Digital I/O. Interrupt-on-change pin.Low Voltage ICSP programming enable pin.

RB6/PGCRB6PGC

39 43 16I/OI/O

TTLST

Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming clock pin.

RB7/PGDRB7PGD

40 44 17I/OI/O

TTLST

Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming data pin.

TABLE 1-3: PIC18F4X2 PINOUT I/O DESCRIPTIONS (CONTINUED)

Pin NamePin Number Pin

TypeBufferType

DescriptionDIP PLCC TQFP

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power OD = Open Drain (no P diode to VDD)

Page 100: Sistema Inteligente de Automatização de Bombas de Irrigação por

© 2006 Microchip Technology Inc. DS39564C-page 15

PIC18FXX2

PORTC is a bi-directional I/O port.

RC0/T1OSO/T1CKIRC0T1OSOT1CKI

15 16 32I/OOI

ST—ST

Digital I/O.Timer1 oscillator output. Timer1/Timer3 external clock input.

RC1/T1OSI/CCP2RC1T1OSICCP2

16 18 35I/OI

I/O

STCMOS

ST

Digital I/O.Timer1 oscillator input.Capture2 input, Compare2 output, PWM2 output.

RC2/CCP1RC2CCP1

17 19 36I/OI/O

STST

Digital I/O.Capture1 input/Compare1 output/PWM1 output.

RC3/SCK/SCLRC3SCK

SCL

18 20 37I/OI/O

I/O

STST

ST

Digital I/O.Synchronous serial clock input/output for SPI mode.Synchronous serial clock input/output for I2C mode.

RC4/SDI/SDARC4SDISDA

23 25 42I/OI

I/O

STSTST

Digital I/O.SPI Data In.I2C Data I/O.

RC5/SDORC5SDO

24 26 43I/OO

ST—

Digital I/O.SPI Data Out.

RC6/TX/CKRC6TXCK

25 27 44I/OO

I/O

ST—ST

Digital I/O.USART Asynchronous Transmit.USART Synchronous Clock (see related RX/DT).

RC7/RX/DTRC7RXDT

26 29 1I/OI

I/O

STSTST

Digital I/O.USART Asynchronous Receive.USART Synchronous Data (see related TX/CK).

TABLE 1-3: PIC18F4X2 PINOUT I/O DESCRIPTIONS (CONTINUED)

Pin NamePin Number Pin

TypeBufferType

DescriptionDIP PLCC TQFP

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power OD = Open Drain (no P diode to VDD)

Page 101: Sistema Inteligente de Automatização de Bombas de Irrigação por

PIC18FXX2

DS39564C-page 16 © 2006 Microchip Technology Inc.

PORTD is a bi-directional I/O port, or a Parallel Slave Port (PSP) for interfacing to a microprocessor port. These pins have TTL input buffers when PSP module is enabled.

RD0/PSP0 19 21 38 I/O STTTL

Digital I/O.Parallel Slave Port Data.

RD1/PSP1 20 22 39 I/O STTTL

Digital I/O.Parallel Slave Port Data.

RD2/PSP2 21 23 40 I/O STTTL

Digital I/O.Parallel Slave Port Data.

RD3/PSP3 22 24 41 I/O STTTL

Digital I/O.Parallel Slave Port Data.

RD4/PSP4 27 30 2 I/O STTTL

Digital I/O.Parallel Slave Port Data.

RD5/PSP5 28 31 3 I/O STTTL

Digital I/O.Parallel Slave Port Data.

RD6/PSP6 29 32 4 I/O STTTL

Digital I/O.Parallel Slave Port Data.

RD7/PSP7 30 33 5 I/O STTTL

Digital I/O.Parallel Slave Port Data.

PORTE is a bi-directional I/O port.

RE0/RD/AN5RE0RD

AN5

8 9 25 I/OSTTTL

Analog

Digital I/O.Read control for parallel slave port(see also WR and CS pins).Analog input 5.

RE1/WR/AN6RE1WR

AN6

9 10 26 I/OSTTTL

Analog

Digital I/O.Write control for parallel slave port(see CS and RD pins).Analog input 6.

RE2/CS/AN7RE2CS

AN7

10 11 27 I/OSTTTL

Analog

Digital I/O.Chip Select control for parallel slave port(see related RD and WR).Analog input 7.

VSS 12, 31 13, 34 6, 29 P — Ground reference for logic and I/O pins.

VDD 11, 32 12, 35 7, 28 P — Positive supply for logic and I/O pins.

TABLE 1-3: PIC18F4X2 PINOUT I/O DESCRIPTIONS (CONTINUED)

Pin NamePin Number Pin

TypeBufferType

DescriptionDIP PLCC TQFP

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power OD = Open Drain (no P diode to VDD)

Page 102: Sistema Inteligente de Automatização de Bombas de Irrigação por

© 2006 Microchip Technology Inc. DS39564C-page 17

PIC18FXX2

2.0 OSCILLATOR CONFIGURATIONS

2.1 Oscillator Types

The PIC18FXX2 can be operated in eight differentOscillator modes. The user can program three configu-ration bits (FOSC2, FOSC1, and FOSC0) to select oneof these eight modes:

1. LP Low Power Crystal2. XT Crystal/Resonator3. HS High Speed Crystal/Resonator

4. HS + PLL High Speed Crystal/Resonatorwith PLL enabled

5. RC External Resistor/Capacitor6. RCIO External Resistor/Capacitor with

I/O pin enabled7. EC External Clock8. ECIO External Clock with I/O pin

enabled

2.2 Crystal Oscillator/Ceramic Resonators

In XT, LP, HS or HS+PLL Oscillator modes, a crystal orceramic resonator is connected to the OSC1 andOSC2 pins to establish oscillation. Figure 2-1 showsthe pin connections.

The PIC18FXX2 oscillator design requires the use of aparallel cut crystal.

FIGURE 2-1: CRYSTAL/CERAMIC RESONATOR OPERATION (HS, XT OR LP CONFIGURATION)

TABLE 2-1: CAPACITOR SELECTION FOR CERAMIC RESONATORS

Note: Use of a series cut crystal may give a fre-quency out of the crystal manufacturersspecifications.

Note 1: See Table 2-1 and Table 2-2 forrecommended values of C1 and C2.

2: A series resistor (RS) may be required forAT strip cut crystals.

3: RF varies with the Oscillator mode chosen.

C1(1)

C2(1)

XTAL

OSC2

OSC1

RF(3)

SLEEP

To

Logic

PIC18FXXXRS(2)

Internal

Ranges Tested:

Mode Freq C1 C2

XT 455 kHz2.0 MHz4.0 MHz

68 - 100 pF15 - 68 pF15 - 68 pF

68 - 100 pF15 - 68 pF15 - 68 pF

HS 8.0 MHz16.0 MHz

10 - 68 pF10 - 22 pF

10 - 68 pF10 - 22 pF

These values are for design guidance only. See notes following this table.

Resonators Used:

455 kHz Panasonic EFO-A455K04B ± 0.3%

2.0 MHz Murata Erie CSA2.00MG ± 0.5%4.0 MHz Murata Erie CSA4.00MG ± 0.5%8.0 MHz Murata Erie CSA8.00MT ± 0.5%

16.0 MHz Murata Erie CSA16.00MX ± 0.5%All resonators used did not have built-in capacitors.

Note 1: Higher capacitance increases the stabilityof the oscillator, but also increases thestart-up time.

2: When operating below 3V VDD, or whenusing certain ceramic resonators at anyvoltage, it may be necessary to usehigh-gain HS mode, try a lower frequencyresonator, or switch to a crystal oscillator.

3: Since each resonator/crystal has its owncharacteristics, the user should consult theresonator/crystal manufacturer for appro-priate values of external components, orverify oscillator performance.

Page 103: Sistema Inteligente de Automatização de Bombas de Irrigação por

PIC18FXX2

DS39564C-page 18 © 2006 Microchip Technology Inc.

TABLE 2-2: CAPACITOR SELECTION FOR CRYSTAL OSCILLATOR

An external clock source may also be connected to theOSC1 pin in the HS, XT and LP modes, as shown inFigure 2-2.

FIGURE 2-2: EXTERNAL CLOCK INPUT OPERATION (HS, XT OR LP OSC CONFIGURATION)

2.3 RC Oscillator

For timing-insensitive applications, the “RC” and“RCIO” device options offer additional cost savings.The RC oscillator frequency is a function of the supplyvoltage, the resistor (REXT) and capacitor (CEXT) val-ues and the operating temperature. In addition to this,the oscillator frequency will vary from unit to unit due tonormal process parameter variation. Furthermore, thedifference in lead frame capacitance between packagetypes will also affect the oscillation frequency, espe-cially for low CEXT values. The user also needs to takeinto account variation due to tolerance of external Rand C components used. Figure 2-3 shows how theR/C combination is connected.

In the RC Oscillator mode, the oscillator frequencydivided by 4 is available on the OSC2 pin. This signalmay be used for test purposes or to synchronize otherlogic.

FIGURE 2-3: RC OSCILLATOR MODE

The RCIO Oscillator mode functions like the RC mode,except that the OSC2 pin becomes an additional gen-eral purpose I/O pin. The I/O pin becomes bit 6 ofPORTA (RA6).

Ranges Tested:

Mode Freq C1 C2

LP 32.0 kHz 33 pF 33 pF

200 kHz 15 pF 15 pF

XT 200 kHz 22-68 pF 22-68 pF

1.0 MHz 15 pF 15 pF

4.0 MHz 15 pF 15 pF

HS 4.0 MHz 15 pF 15 pF

8.0 MHz 15-33 pF 15-33 pF

20.0 MHz 15-33 pF 15-33 pF

25.0 MHz 15-33 pF 15-33 pF

These values are for design guidance only. See notes following this table.

Crystals Used

32.0 kHz Epson C-001R32.768K-A ± 20 PPM

200 kHz STD XTL 200.000KHz ± 20 PPM

1.0 MHz ECS ECS-10-13-1 ± 50 PPM

4.0 MHz ECS ECS-40-20-1 ± 50 PPM

8.0 MHz Epson CA-301 8.000M-C ± 30 PPM

20.0 MHz Epson CA-301 20.000M-C ± 30 PPM

Note 1: Higher capacitance increases the stabilityof the oscillator, but also increases thestart-up time.

2: Rs may be required in HS mode, as wellas XT mode, to avoid overdriving crystalswith low drive level specification.

3: Since each resonator/crystal has its owncharacteristics, the user should consult theresonator/crystal manufacturer for appro-priate values of external components., orverify oscillator performance.

OSC1

OSC2Open

Clock fromExt. System PIC18FXXX

Note: If the oscillator frequency divided by 4 sig-nal is not required in the application, it isrecommended to use RCIO mode to savecurrent.

OSC2/CLKO

CEXT

REXT

PIC18FXXX

OSC1

FOSC/4

InternalClock

VDD

VSS

Recommended values:3 kΩ ≤ REXT ≤ 100 kΩ

CEXT > 20pF