Você está na página 1de 91

FACULDADE PROJEO BACHARELADO EM SISTEMAS DE INFORMAO

ALUNO WEBERT OLIVEIRA

TEMA

Automao Residencial em sistema embarcado com Arduino

Taguatinga, DF 2012

FACULDADE PROJEO BACHARELADO EM SISTEMAS DE INFORMAO

TEMA

Trabalho de Concluso de Curso apresentado Faculdade Projeo, como requisito complementar e obrigatrio obteno do ttulo de Bacharel em Sistemas de Informao. Esse trabalho foi fruto de uma serie de atividades extracurriculares de pesquisa de novas tecnologias e alguns conceitos tanto de hardware quanto de software livre em sistemas embarcados, assim como tambm, os conceitos de reciclagem de lixo eletrnico Metareciclagem, Internet das Coisas e Economia Criativa.

Orientadora:
Rosa Maria Diekm de Queiroz Damasceno

Taguatinga, DF 2012

TEMA Trabalho de Concluso de Curso apresentado Faculdade Projeo, como requisito complementar e obrigatrio obteno do ttulo de Bacharel em Sistemas de Informao. Esse trabalho foi fruto de uma serie de atividades extracurriculares de pesquisa de novas tecnologias e alguns conceitos tanto de hardware quanto de software livre em sistemas embarcados, assim como tambm, os conceitos de reciclagem de lixo eletrnico Metareciclagem Internet das Coisas e Economia Criativa. Taguatinga, DF, ___ de _______ de 2012. Banca Examinadora:

Professor(a) ...... Orientadora

Professor(a) ......

Professor(a) ......

Professor Elvis Roberto Barreto, Especialista Coordenador do curso de Sistemas de Informao

DEDICATRIA

"Na Natureza nada se cria, nada se perde, tudo se transforma" Antoine-Laurent de Lavoisier

Para se criar algo novo, sempre tero que

existir

modelos que nos basearemos

ou

expiraremos. Como tal, o novo estar ligado existncia de algo antigo, sendo o novo fruto da existncia dos antigos
Herbert Alexandre Galdino Pereira

Dedico esse trabalho, em primeiro lugar a Deus e a minha famlia pelo apoio que me foi dado durante esses anos, a educao, o incentivo e principalmente a minha me, que batalhou muito para que tudo isso fosse realizado, em segundo lugar, aos professores, aos amigos e aos lugares por onde passei, aos parceiros de trabalho que tive, as listas de discusso entre elas, a open-hardware-Braslia, arduino-braslia e calango-hacker-clube em especial aos meus amigos Jeronimo Avelar, Luiz Fellipe, Carlos Botelho, Isaias Coelho, Lucas Fragomeni e tantos outros que me incentivaram e tornaram possvel uma srie de atividades e eventos relacionados ao tema no ano de 2011, prticas que fizeram com que parte desse projeto fosse incluso em um projeto muito maior.

AGRADECIMENTOS Agradeo a minha me por tudo que , foi, e sempre ser... s pessoas que participaram da minha vida e com o tempo, me fizeram ser o que eu sou ou entender o que eu sou, evoluram minhas ideias, as minhas aspiraes, os meus objetivos e o meu futuro. Aos professores em especial Henrique Vinicius, Elvis Roberto, Alysson Vicuna, Rosa Diekm e aos amigos e parceiros nessa caminhada da vida que diretamente ou indiretamente me fizeram chegar a essa conquista, onde hoje finco mais uma estaca, graas aos diversos conhecimentos que vieram dos vrios relacionamentos construdos nessa grande rede que a vida.

RESUMO Esse trabalho foi fruto de uma serie de atividades extracurriculares de pesquisa de novas tecnologias iniciado antes da faculdade, em 2008, inicialmente, para aprendizado de novas ferramentas para o uso em tcnicas e metodologias de ensino, durante esse perodo, foram estudados conceitos tanto de hardware quanto de software livre, reciclagem de lixo eletrnico, microprocessamento, computao visual, modelagem 3D e muitos outros conhecimentos no enquadrados na grade curricular do curso, porm que foram agregados ao conhecimento profissional. Foi aplicado parte desse conhecimento, para a criao de um sistema de automao residencial embarcado, com o microcontrolador Arduino, utilizando os conceitos de reciclagem de lixo eletrnico Metareciclagem, programao micro controlada, dentro de uma viso de Economia Criativa e Internet das Coisas Internet of the Things. Inicialmente, o projeto foi pensado para resolver um problema real de automao de ambientes para pessoas com necessidades especiais, e para ser aplicado em uma residncia real, o projeto foi apresentado disciplina de programao de sistema, adquirindo um grande xito em sua realizao. O projeto continua em desenvolvimento e parte incorporada a outro projeto maior, chamado Monitora Cerrado, o qual um projeto colaborativo, aberto e que hoje existe uma grande quantidade de profissionais e voluntrios envolvidos para desenvolver uma grande rede de dados climticos aberta. Para o escopo desse projeto, ser documentada toda a parte de automao residencial, que a Central de Controle e a central de ativao de equipamentos, as suas codificaes embarcadas no microcontrolador Atmega328 com a programao Wiring que baseada na linguagem C/C++. Sero explicados os conceitos dos microcontroladores AVR, os fluxos de decises, modelos de casos de uso e a sua aplicao na automao de ambientes. Palavras-chave: Arduino, AVR, Metareciclagem, Automao Residencial, Internet of the things, economia criativa.

SUMRIO GERAL 1 2 INTRODUO .................................................................................................... 16 PROBLEMA ........................................................................................................ 17 2.1 3 Descrio do problema.................................................................................. 17

JUSTIFICATIVA E VIABILIDADE ........................................................................ 19 3.1 3.2 Necessidades e Solues propostas............................................................. 19 Escolha de um sistema de baixo custo ......................................................... 19 Soluo Atual: ......................................................................................... 19 Soluo Proposta: ................................................................................... 19

3.2.1 3.2.2 3.3

Recursos Necessrios e disponveis ............................................................. 20 Aproveitamento do lixo eletrnico e materiais slidos ............................. 20 Circuito micro controlado para programao embarcada ........................ 20 Ambiente de desenvolvimento em Linguagem Wiring ............................ 20 Necessidade de componentes de hardware ........................................... 21

3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.5 4

Viabilidade ..................................................................................................... 21 Consideraes finais ..................................................................................... 21

OBJETIVOS ........................................................................................................ 22 4.1 4.2 Objetivo Geral ............................................................................................... 22 Objetivos Especficos .................................................................................... 22

MTODOS E TCNICAS .................................................................................... 23 5.1 Tcnicas de Levantamento de Requisitos ..................................................... 23 Pesquisa Cientifica .................................................................................. 23 Estudos dos componentes de hardware ................................................. 23 7

5.1.1 5.1.2

5.1.3 5.2

Estudos das bibliotecas para programao ............................................. 23

Modelo de Desenvolvimento ......................................................................... 24 Metareciclagem ....................................................................................... 24 Programao em Wiring no Arduino IDE ................................................ 24 Sistemas Embarcados ............................................................................. 25 Internet das Coisas.................................................................................. 25 Economia criativa .................................................................................... 26

5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.3

Tecnologias em Geral ................................................................................... 26 Arduino IDE ............................................................................................. 26 LCD Nokia 3310 ...................................................................................... 26 Sensor de temperatura e umidade .......................................................... 27 Sensor de luminosidade .......................................................................... 27 Sensor de som ........................................................................................ 27 Sensor de presena ................................................................................ 28 Sensor de IR Controle remoto .............................................................. 28 Controle remoto ....................................................................................... 28 Bluetooth ................................................................................................. 29 Placa de rede ....................................................................................... 29 Placa de rels ....................................................................................... 29

5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9 5.3.10 5.3.11 5.4

Linguagem de Programao ......................................................................... 30 Linguagem Wiring.................................................................................... 30

5.4.1 5.5

Padres ......................................................................................................... 30 Padro ANBT .......................................................................................... 30 8

5.5.1

DOCUMENTAO TCNICA ............................................................................. 31 6.1 Descrio ...................................................................................................... 31 Objetivo do Projeto .................................................................................. 31 Produto do Projeto................................................................................... 31 Premissas ................................................................................................ 31 Restries ............................................................................................... 31

6.1.1 6.1.2 6.1.3 6.1.4 6.2 6.3 6.4 6.5

Cronograma bsico do projeto ...................................................................... 32 Estimativa de custo ....................................................................................... 32 Necessidade inicial de recurso ...................................................................... 33 Escopo .......................................................................................................... 33 Definio ................................................................................................. 33 Finalidade ................................................................................................ 34 Cliente ..................................................................................................... 34 Desenvolvedores ..................................................................................... 34 Objetivo ................................................................................................... 34 Stakeholders ........................................................................................... 34 Funcionalidades e servios solicitados .................................................... 35 Caractersticas tcnicas da interface do sistema .................................... 35 Recomendaes para Layout solicitado .................................................. 35 Premissas e recomendaes ............................................................... 35 Verificao de resultados ..................................................................... 36

6.5.1 6.5.2 6.5.3 6.5.4 6.5.5 6.5.6 6.5.7 6.5.8 6.5.9 6.5.10 6.5.11 6.6

Documento de Viso ..................................................................................... 37 Seo 1 Introduo .............................................................................. 37 9

6.6.1

6.6.2 6.6.3 6.6.4 6.6.5 6.6.6 6.6.7 6.6.8 6.7

Seo 2 Contextualizao .................................................................... 39 Seo 3 -Descrio Stakeholders (envolvidos) ....................................... 42 Seo 4 - Necessidades e solues........................................................ 43 Seo 5 Viso Geral do Produto .......................................................... 45 Seo 6 Caractersticas do produto ........................................................ 45 Seo 7 Ambiente do usurio ................................................................. 46 Seo 10 Restries Tcnicas ............................................................. 47

Documento de Requisitos ............................................................................. 48 Definio ................................................................................................. 48 Descrio geral do sistema ..................................................................... 50 Requisitos Funcionais (casos de uso) ..................................................... 50

6.7.1 6.7.2 6.7.3

[RF001] Ativar e desativar equipamento................................................................... 50 [RF002] Reconhecer e Interpretar variaes de temperatura e umidade ........................ 50 [RF003] Reconhecer e Interpretar variaes de luminosidade ..................................... 51 [RF004] Reconhecer e Interpretar variaes de som .................................................. 51 [RF005] Reconhecer e Interpretar variaes de presena ............................................ 51 [RF006] Reconhecer e Interpretar sinais do controle remoto ....................................... 52 [RF007] Reconhecer e Interpretar sinais de dispositivo Bluetooth ............................... 52 [RF008] Reconhecer e Interpretar sinais emitidos pela rede ........................................ 52 6.7.4 Requisitos no-funcionais ....................................................................... 53

[NF001] Desempenho ............................................................................................ 53 [NF002] Hardware e Software ................................................................................. 53 6.8 Diagramas UML............................................................................................. 53 10

6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9

Definio ................................................................................................. 53 Diagrama Viso Geral ............................................................................. 55 Diagrama de Componentes ..................................................................... 56 Diagrama de Funes ............................................................................. 57 Diagramas de Execuo ......................................................................... 58

Especificaes de Caso de Uso .................................................................... 59 Controle temperatura e umidade ............................................................. 59 Controle de luminosidade ........................................................................ 59 Controle de som ...................................................................................... 60 Controle de presena .............................................................................. 60 Controle remoto ....................................................................................... 61 Controle via bluetooth.............................................................................. 61 Controle via rede ..................................................................................... 62 Definio ................................................................................................. 62 Funo Alterar Estado ............................................................................. 63

6.9.1 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 8

CONCLUSO ...................................................................................................... 70

ANEXO I.................................................................................................................... 71 1. Componentes da Central de Controle ........................................................... 71

1.1. LCD Nokia ..................................................................................................... 73 1.2. Sensor de temperatura e umidade ................................................................ 73 1.3. Sensor de luminosidade ................................................................................ 74 1.4. Sensor de som .............................................................................................. 74 1.5. Sensor de presena ...................................................................................... 75 11

1.6. Receptor de IR controle remoto .................................................................... 75 1.7. Controle remoto ............................................................................................. 76 1.8. Bluetooth ....................................................................................................... 76 1.9. Placa de rede ................................................................................................ 77 2. Componentes da Central de Ativao ........................................................... 78

2.1. Placa de reles ................................................................................................ 79 ANEXO II................................................................................................................... 80 1. Programao do Sistema .............................................................................. 80

REFERENCIAS BIBLIOGRFICAS .......................................................................... 90

12

LISTA DE FIGURAS Figura 1 - Pesquisa Google Trends - Automao Residencial .................................. 39 Figura 2 - Pesquisa Google Trens - Arduino ............................................................. 40 Figura 3 Esquema de Pinos do Atmega168/328 .................................................... 54 Figura 4 - Diagrama viso geral ................................................................................ 55 Figura 5 - Diagrama de componentes ....................................................................... 56 Figura 6 - Diagrama de funes ................................................................................ 57 Figura 7 - Diagrama de execuo ............................................................................. 58 Figura 8 - Interface da Central de Controle ............................................................... 71 Figura 9 - Tela LCD Nokia 3310 ................................................................................ 73 Figura 10 - Sensor de temperatura e umidade .......................................................... 73 Figura 11 - Sensor de luminosidade.......................................................................... 74 Figura 12 - Sensor de som ........................................................................................ 74 Figura 13 - Sensor de presena ................................................................................ 75 Figura 14 - Receptor de controle remoto ................................................................... 75 Figura 15 - Controle remoto ...................................................................................... 76 Figura 16 - Transceiver bluetooth.............................................................................. 76 Figura 17 - Placa de rede .......................................................................................... 77 Figura 18 - Placa de reles ......................................................................................... 79

13

LISTA DE QUADROS Quadro 1 - Estimativa de custo ................................................................................. 32 Quadro 2 - Histrico e Revises................................................................................ 33 Quadro 3 - Versionamentos e revises ..................................................................... 37 Quadro 4 - Referncias ............................................................................................. 38 Quadro 5 - Descrio do problema ........................................................................... 41 Quadro 6 - Resumo dos Stakeholders (No Usurios) ............................................. 42 Quadro 7 - Resumo dos Stakeholders (Usurios) ..................................................... 42 Quadro 8 - Equipe de Desenvolvimento do Projeto .................................................. 43 Quadro 9 - Perspectiva do produto ........................................................................... 45 Quadro 10 - Documento de requisitos - Histrico e revises .................................... 48 Quadro 11 - Diagrama UML - Histrico e revises .................................................... 53 Quadro 12 - Casos de uso - Histrico e revises ...................................................... 62 Quadro 14 - Glossrio - Termos de Descries ........................................................ 66 Quadro 13 - Componentes da central de controle..................................................... 72 Quadro 13 - Componentes da Central de Ativao ................................................... 78

14

LISTA DE TABELAS Tabela 1 Dispositivo utilizados para alterao do estado ....................................... 46 Tabela 2 - Fluxo de eventos de casos de uso ........................................................... 63 Tabela 3- Comandos LCD Nokia............................................................................... 73 Tabela 4 - Comandos sensor de temperatura e umidade ......................................... 73 Tabela 5 - Comandos sensor de luminosidade ......................................................... 74 Tabela 6 - Comandos sensor de som ....................................................................... 74 Tabela 7 - Comandos sensor de presena................................................................ 75 Tabela 8 - Comandos receptor de controle remoto ................................................... 75 Tabela 9 - Comandos controle remoto ...................................................................... 76 Tabela 10 - Comandos transceiver bluetooth ............................................................ 76 Tabela 11 - Comandos placa de rede ....................................................................... 77 Tabela 12 - Comandos placa de reles ....................................................................... 79

15

INTRODUO A tecnologia tem evoludo de tal forma, que tem afetado todas as reas do

conhecimento e do convvio humano, segundo o dicionrio Michaelis (Weiszflog) a tecnologia o estudo sistemtico dos procedimentos e equipamentos tcnicos necessrios para a transformao de matrias-primas em produtos. E a tecnologia da Informao - TI1 a rea do conhecimento responsvel por criar, administrar e manter a gesto da informao atravs de dispositivos e equipamentos para acesso, operao e armazenamento dos dados, que cria formas a gerir informao para tomada de deciso. Verificando as possibilidades de uso da tecnologia da informao levamos o foco desse trabalho para a gesto, controle e automao de ambientes residenciais. O avano tecnolgico trouxe a popularizao e o barateamento das tecnologias, palavras antes desconhecidas e equipamentos restritos, comearam a ser encontrados com mais facilidade por pessoas de pouco conhecimento, coisa que antes era restrito exatamente pela falta de comercializao. Todos os dispositivos, eletro eletrnicos, tm dentro de si um controlador que definem as suas tecnologias e seu poder de processamento, dispositivos mais antigos eram fabricados com acordos entre as grandes empresas, onde as fabricantes de microcontroladores2 faziam especificaes por demanda para outras fabricantes de equipamentos. Os dispositivos comercializados no podiam ser atualizados, a tecnologia utilizada hoje nos microcontroladores, possibilita a atualizao das informaes gravadas, podendo assim ser atualizadas ou customizadas, mesmo depois que o produto j esteja no mercado. Essa utilizao de microcontroladores com memria tirou a necessidade de criaes exclusivas para determinados fabricantes, com isso alguns controladores comearam a ser comercializados mais facilmente.

Tecnologia da Informao a rea de conhecimento responsvel por criar, administrar e manter a gesto da informao atravs de dispositivos e equipamentos para acesso, operao e armazenamento dos dados, de forma a gerar informaes para tomada de deciso. (Ivan Luizio Magalhes) (Weiszflog).
2

Microcontrolador um sistema micro processado com vrias funcionalidades disponveis em um nico chip, basicamente processador com memria embutida (Lima). 16

PROBLEMA O problema levantado foi criao de um sistema para automatizar uma

residncia, no caso a minha, com uso de uma tecnologia que fosse de baixo custo, e que pudesse ser atualizada de novas funes de acordo com o tempo, fosse porttil, sendo de fcil instalao e desinstalao e pudesse ser depois aplicada em outros ambientes independente de ser de grande ou de baixo porte. A soluo encontrada foi o uso de um microcontrolador do tipo AVR3, baseado na arquitetura RISC, e que contm uma memoria interna para gravao da programao. A forma de controle de dispositivos nas residncias, ainda, continua a ser feita manual, e para automatizar esse controle, os dispositivos de mercado que desenvolvem esse papel, so extremamente caros e inacessveis para o uso residencial e tambm no possuem os recursos de as atualizaes necessrios. 2.1 Descrio do problema Dentro do tema proposto, o problema era a automao residencial utilizando um sistema de baixo custo com possibilidades de atualizao e aberto, tendo total conhecimento das partes integrantes desse projeto, tanto no hardware quanto no software. Existem diversos dispositivos que exercem esse papel para a automao predial e de locais que necessitam de monitoramento e de controle de vigilncia precisos: o caso de CPDs, locais de estocagem de alimentos, controle de ar condicionado e controle de acesso. Esses dispositivos so extremamente caros, inacessveis a pessoas comuns e exigem alto conhecimento tcnico para a sua implantao. Como a proposta do projeto era um dispositivo de baixo custo, foi necessria a substituio desse modelo, por outro mais acessvel e que atendesse as necessidades bsicas de uma residncia. Para isso, foram necessrios cerca de

ARV so microcontroladores de arquitetura RISC com memria interna, de baixo custo e consumo energtico, fruto da tese de mestrado de ALF Egil Boden e Vegard Wollan, que logo aps foi comprada e passou a ser comercializada pela Atmel a partir de 1997 com lanamento do AT90S1200 (Lima). 17

dois anos de estudo das mais diversas tecnologias existentes no mercado, chegando a at a plataforma Arduino4. Arduino um microcontrolador de baixo custo, baseado tanto em hardware, quanto em software livres para prototipao de projetos. A plataforma Arduino vem sendo constantemente usada, por ser de fcil acesso, ter um baixo custo e muita documentao disponvel na Internet, incluindo um portal que leva o mesmo nome Arduino.cc5, com pessoas de todas as partes do mundo contribuindo para o aperfeioamento da plataforma e dos projetos. A programao do microcontrolador do Arduino feita de forma embarcada, que nada mais que do que a gravao da programao de forma permanente no chip AVR, utilizando a IDE do Arduino, formato esse que pode ser chamado de Firmware6. Resolvida s questes tcnicas, faltava resoluo das questes tericas que diminuir os custos utilizando reaproveitamento de materiais eletrnicos, tcnica chamada de Metareciclagem7, montando dispositivos criativos, baratos e prontos para interagir com a Internet das Coisas8. Essa metodologia de enxergar a juno das coisas para uma melhoria da sociedade um padro da chamada Economia Criativa9.

Arduino uma plataforma de prototipagem eletrnica baseada em hardware e softwares livres, projetada com um microcontrolador AVR, com suporte para entradas/sadas digitais e analgicas utilizando de uma linguagem de programao padro, na qual tem origem na Wiring, uma customizao do C/C++ (Mazimo Banzi).
5

A popularidade da plataforma Arduino se deu pela facilidade de localizao de dispositivos, documentao e a centralidade em uma plataforma, que tambm que abarca o frum, blog e a vendo dos dispositivos (Mazimo Banzi).
6

Firmware o software bsico responsvel pela inicializao do processador e pela programao dos circuitos de interface, aps ser desenvolvido armazenado em uma memria no voltil (Alexandre Mendona).
7

Metareciclagem principalmente uma ideia, um conceito de reapropriao de tecnologia para transformao social (Fonseca).
8

Internet of the Things ou Internet das Coisas so objetos ligados Internet mantendo uma interao com uso de sensores mecanismos que mantenham essa interao (Kranenburg).
9

Economia Criativa uma produo que valoriza a singularidade, o simblico, aquilo que intangvel como a criatividade, o folclore e cultura de uma sociedade (A. C. Fonseca). 18

JUSTIFICATIVA E VIABILIDADE 3.1 Necessidades e Solues propostas Para a realizao desse projeto, foram necessrios estudos

interdisciplinares para chegar at a proposta de um dispositivo de automao de baixo custo, boa parte dos recursos de hardware, tiveram de serem importados os produtos nacionais inviabilizavam a execuo do projeto por conta de seu preo e de sua qualidade. Ento, foi necessrio substituio dos componentes nacionais por novas possibilidades, chegando concluso da obrigatoriedade de importao de componentes tecnolgicos para realizao do projeto, como os sensores para as medies, os controles para a automao e o prprio microcontrolador AVR. 3.2 Escolha de um sistema de baixo custo 3.2.1 Soluo Atual: Foi escolhida a placa Arduino Severino10 por ser fcil de achar componentes e barata de construda, podendo ser montada partindo de um kit bsico de componentes, no Severino, as informaes so recebidas e processadas pelo microcontrolador que gera os resultados esperados de acordo com a programao. 3.2.2 Soluo Proposta: Criao de uma Central de Controle11 para gerenciar as mais diversas funes da casa, tendo um controle presencial e remoto dessas funes. Criando conforto e qualidade para o usurio, criando tambm rotinas para segurana e automao de atividades rotineiras com a iluminao noturna de espaos como a

10

Severino um modelo de Arduino serial de face simples e de fcil manuteno, podendo ser montado com peas velhas de outras placas.
11

Central de Controle o dispositivo onde se encontra o Arduino Severino, os sensores e que recebe os dados e faz o processamento. 19

garagem e o quintal. A ativao dos aparelhos ligados ao sistema feito por meio da Central de Ativao12 que recebe os comandos da Central de Controle. 3.3 Recursos Necessrios e disponveis 3.3.1 Aproveitamento do lixo eletrnico e materiais slidos O principal foco desse projeto foi o baixo custo e a possibilidade de viabilizar a diminuio dos gastos e o aumento do tempo de vida de materiais slidos que no tinham mais utilidade seja pela depreciao ou defeito, ou pela substituio por novas verses e na consequente falta de utilidade. Esse pensamento foi baseado em Metareciclagem, que um movimento de uma rede auto organizada que prope a desconstruo da tecnologia para a transformao social utilizando o aproveitamento de materiais. 3.3.2 Circuito micro controlado para programao embarcada A tecnologia escolhida foi a do microcontrolador Arduino, que usa um controlador AVR, essa soluo foi escolhida por atender as necessidades bsicas do projeto, tambm por ser de baixo custo e de fcil aplicao e replicao do projeto para outros ambientes e situaes. 3.3.3 Ambiente de desenvolvimento em Linguagem Wiring Utilizao do Arduino IDE13, que o software livre para desenvolvimento disponibilizado gratuitamente pela equipe Arduino, que permite que voc edite e escreva o cdigo e converta esse cdigo em instruo de maquina. A IDE do Arduino tambm transferem estas instrues para a placa do Arduino, para cada novo elemento de componente fsico incorporado ao projeto necessrio biblioteca especifica para controle e programao do hardware.

12 13

Central de Ativao o dispositivo responsvel por controlar os equipamentos.

Arduino IDE a plataforma de programao para o Arduino, que faz interface entre o usurio, o computador e o hardware. 20

3.3.4 Necessidade de componentes de hardware Nesse caso a placa escolhida foi uma placa Severino serial com um cabo conversor de RS23214 para USB, para fazer a comunicao da IDE pela porta COM e a placa micro controlada. Boa parte dos componentes foram importados por conta da falta de comercializao de componentes no mercado nacional, dentre eles: O microcontrolador atmega32815, placa controladora de rels, sensores de movimento, sensores de som, sensores de luminosidade e o LCD Nokia modelo PCD854416. 3.4 Viabilidade O Brasil no um pas produtor de tecnologias, por mais que detenha todo o necessrio para que isso fosse possvel como: mo de obra qualificada, recursos naturais e grandes centros de pesquisa que poderiam gerir o desenvolvimento de novas tecnologias. 3.5 Consideraes finais Durante a realizao do projeto foram encontradas outras interessantes possibilidades de uso de novas tecnologias que no entraram no escopo desse projeto, como o controle da intensidade de luminosidade, o travamento e a liberao de portas com o uso de cartes de RFID, a automao de irrigao de plantas e outros mdulos que esto sendo estudados para verses futuras do projeto.

14 15 16

RS232 o tipo de comunicao serial presente nos computadores pessoais. Microcontrolador AVR fabricado e vendi pela Atmel e utilizado nas verses do Arduino. LCD usado em algumas verses de celulares da Nokia, em especial o 3310, 6120 e 6125. 21

OBJETIVOS 4.1 Objetivo Geral Criar um sistema de automao residencial usando tecnologia embarcada

com um microcontrolador AVR Atmega328, com a finalidade de atender as necessidades de automao de uma residncia, fazendo com que aes simples e rotineiras do dia a dia, como o ato de ativar o interruptor de uma lmpada que feito fisicamente, possa ser feito tanto de forma manual como de forma automtica utilizando uma Central de Controle com sensores de presena, som, temperatura e receptor de controle remoto proporcionando maior conforto para o usurio. 4.2 Objetivos Especficos Trazer para o usurio um maior conforto e segurana, automatizando aes rotineiras e tambm fazendo alteraes atravs de medies de variaes analgicas de temperatura, umidade, luz e som, adaptando uma casa normal para um ambiente autmato, tendo o controle do acionamento de aparelhos feito por uma Central de Controle sem inviabilizar os comandos locais. Medir as variaes atravs de sensores, para adaptar o ambiente a alteraes, sem a interveno humana, fazendo com que esse se torne o mais agradvel possvel para o usurio, gerando tambm uma economia de energia. Monitorar ambientes, fora dos limites residenciais, suas variaes e alteraes por meio da medio de sensores que enviam os dados para a Central de Controle, colocando assim essa residncia e os dispositivos dela no mundo da Internet das Coisas. Para essa primeira fase foi necessrio o investimento de R$ 500,00 em equipamentos, mais a mo de obra. O sistema feito em partes modularizadas, podendo em verses futuras agregar novas funcionalidades e a reconfigurao das j existentes.

22

MTODOS E TCNICAS 5.1 Tcnicas de Levantamento de Requisitos 5.1.1 Pesquisa Cientifica Justificativa Foram realizadas constantes pesquisas na rea de tecnologia da

informao, para saber qual seria a melhor tecnologia e a que mais se enquadraria no padro proposto, respeitando o baixo custo e dando preferencia a tecnologias novas no mercado. Atravs desta tcnica foi possvel definir o escopo do projeto, e chegar at a melhor soluo para montagem do sistema.

Artefato(s) Gerado(s) Componentes de hardware livre Componentes de software livre 5.1.2 Estudos dos componentes de hardware Justificativa Atravs dessa tcnica foi possvel pesquisar cada componente e sua documentao disponibilizada pelo fabricante para saber quais as formas de resposta do hardware mediante programao.

Artefato(s) Gerado(s) Programao e sinais de controle do hardware 5.1.3 Estudos das bibliotecas para programao Justificativa Com o uso dessa tcnica, foi possvel saber quais os nveis de resposta do hardware, usando as bibliotecas de controle. Cada hardware, em especifico tem a

23

sua prpria biblioteca e responde de forma especifica, cabendo parte de programao, definir as funes que sero executadas.

Artefato(s) Gerado(s) Mensagens de controle 5.2 Modelo de Desenvolvimento 5.2.1 Metareciclagem Surgida na rede, ideia de Metareciclagem apropriar-se das

coisas (sejam "novas" ou "velhas"), reestruturando o significado de tudo (de computadores a sentimentos), compartilhando de maneira de faz-lo e assim permitindo que qualquer pessoa possa replicar aes, produes e experincias, para preserv-las ou transform-las (F. Fonseca).

Artefato(s) Gerado(s) Designer da embalagem final do produto e partes dos mdulos de hardware. 5.2.2 Programao em Wiring17 no Arduino IDE Justificativa a linguagem onde feita a parte de programao do sistema, sendo uma das principais fases do projeto, seno a mais importante, onde toda a lgica da programao feita com abstrao para depois ser convertida para linguagem de maquina atravs da IDE do Arduino e logo depois de transferida para o microcontrolador Atmega328.

Artefato(s) Gerado(s) Firmware com a logica de funcionamento do sistema

17

Wiring um framework open-source para programao de microcontroladores (Reas). 24

5.2.3 Sistemas Embarcados18 Justificativa. Esse modelo de desenvolvimento feito em conjunto com bibliotecas escritas na variao da linguagem C/C++, a denominada Wiring, que para cada dispositivo adicionado ao projeto, deve ser feita a programao de seu modulo gerando possibilidades de evolues de funes para verses futuras, podendo adaptar o cdigo para cada necessidade em especifico de usurio. Depois de concluda a parte de programao da linguagem, essa enviada permanentemente para o microcontrolador que fica responsvel por realizar todas as funes ali especificadas.

Artefato(s) Gerado(s) Codificao final do programa de forma embarcada 5.2.4 Internet das Coisas Justificativa. Essa uma rea que tem sido a responsvel por colocar dispositivos na Internet. Basicamente, so objetos interagindo com outros objetos, ou com seres humanos, via Internet. Para isso necessrio que eles tenham alguma capacidade de interao, seja ativa por meio de sensores e controladores, ou passiva como cartes de reconhecimento e interao. Um dos principais exemplos o uso do microcontrolador Arduino, por profissionais sem profundos conhecimentos de eletrnica, para construir os mais diversos objetos inteligentes.

Artefato(s) Gerado(s) Informaes e controle de dispositivos pela Internet

18

Sistemas embarcados so dispositivos que tem a sua programao salva em uma memria FLASH ou em uma memria especifica dentro do microcontrolador. 25

5.2.5 Economia criativa Justificativa. Esse um setor que procura repensar as cidades e a economia, fazendo com que as reas de consumo da sociedade gerem o menor numero de impacto, para o meio, menor consumo de energia e uma melhor qualidade de vida para os cidados.

Artefato(s) Gerado(s) Um produto final altamente criativo 5.3 Tecnologias em Geral 5.3.1 Arduino IDE Justificativa O modelo foi escolhido por facilitar a comunicao da programao com o hardware, essa tecnologia usada para desenvolver a parte final de programao e compilao do cdigo para o circuito controlador, a escolha dessa tecnologia se deu por conta da IDE do Arduino j estar preparada para esse tipo de programao, com exemplos de algumas bibliotecas e de modelos de aplicao real no uso de componente pelo cdigo.

Artefato(s) Gerado(s) Codificao em linguagem WIRING baseada em C/C++ 5.3.2 LCD Nokia 3310 Justificativa Esse modelo foi escolhido por ser de fcil utilizao, existir uma compatibilidade de hardware com o sistema e possuir vrias bibliotecas prontas. O uso de um LDC possibilita saber o estado da Central de Controle e o status de cada canal controlado, assim como informaes de temperatura, umidade e quantidade de luz no ambiente. 26

Artefato(s) Gerado(s) Resposta automtica das variaes do microcontrolador 5.3.3 Sensor de temperatura e umidade Justificativa Esse componente foi escolhido por conseguir identificar e receber valores referentes s variaes de temperatura e umidade, informando valores digitais que variam de 0 a 255.

Artefato(s) Gerado(s) Valor digital referente temperatura e umidade do ambiente. 5.3.4 Sensor de luminosidade Justificativa Esse componente foi escolhido por conseguir identificar e receber um valor digital que varia de 0 a 255, referente quantidade luz do ambiente, podendo assim agir como um controle enviando seus valores para possveis aes da central.

Artefato(s) Gerado(s) Valor do sinal analgico com a quantidade de luz do ambiente 5.3.5 Sensor de som Justificativa Com o uso desse sensor possvel receber valores instantneos de 0 a 255, referente s variaes sonoras no ambiente.

Artefato(s) Gerado(s) Valor em sinal analgico da quantidade de som do ambiente

27

5.3.6 Sensor de presena Justificativa Com uso desse sensor possvel receber um valor 0 ou 255, referente situao de ligado ou desligado que representa se h ou no movimentao nas proximidades do sensor.

Artefato(s) Gerado(s) Valor positivo ou neutro referente movimentao nas proximidades do sensor 5.3.7 Sensor de IR Controle remoto Justificativa Com esse sensor possvel receber valores numricos atravs de uma porta digital. Esses valores so referentes a comandos emitidos por um controle remoto para assim poderem ser convertidos em aes na parte de programao.

Artefato(s) Gerado(s) Valor referente a um boto ou comando vindo do controle remoto 5.3.8 Controle remoto Justificativa Com esse dispositivo possvel enviar sinais de infravermelho para o receptor atravs de uma porta digital. Esses valores so referentes aos comandos emitidos por cada tecla apertada no controle remoto.

Artefato(s) Gerado(s) Valor referente a um comando do controle remoto

28

5.3.9 Bluetooth Justificativa Com o uso desse sensor possvel receber valores instantneos de 0 a 255, referente comunicao com dispositivos Bluetooth19.

Artefato(s) Gerado(s) Valor referente aos dados enviados de dispositivos bluetooth 5.3.10 Placa de rede Justificativa Com o uso desse dispositivo possvel fazer a comunicao com a rede TCP/IP, podendo assim enviar e receber informaes de controle e status atravs da rede.

Artefato(s) Gerado(s) Comunicao entre dispositivos ligados rede TCP/IP 5.3.11 Placa de rels Justificativa Com o uso desse dispositivo possvel controlar dispositivos, como se fosse uma chave liga e desliga, com valores enviados pela Central de Controle que 0 ou 255, referente mudanas de estado do dispositivo para ligado ou desligado.

Artefato(s) Gerado(s) Ativao e controle dos dispositivos ligados placa de rels

19

Bluetooth uma tecnologia que possibilita a comunicao sem fio entre dispositivos. 29

5.4 Linguagem de Programao 5.4.1 Linguagem Wiring Justificativa Wiring uma linguagem de programao de baixo nvel, que em sua estrutura, mantm as caractersticas da linguagem de programao, porm criando cdigos bem mais simplificados para o usurio final atravs de bibliotecas com abstraes. uma tecnologia que motiva diversas pessoas das mais variadas reas do conhecimento a desenvolver prottipos para resoluo de alguns problemas em sua rea de atuao. Ser utilizado para desenvolver as funes de rotinas e acertar as demandas de funcionalidades do projeto.

Artefato(s) Gerado(s) Programao das funcionalidades do sistema 5.5 Padres 5.5.1 Padro ANBT Justificativa Toda documentao do Projeto ser conforme padres ABNT (Associao Brasileira de Normas Tcnicas) para trabalhos acadmicos, que tem como objetivo estabelecer uniformidade na apresentao dos trabalhos acadmicos.

Artefato(s) Gerado(s) Documentao do Projeto/TCC Trabalho de Concluso de Curso.

30

DOCUMENTAO TCNICA 6.1 Descrio 6.1.1 Objetivo do Projeto Criar um sistema de automao residencial de baixo custo para atender as

necessidades de automao de uma residncia, fazendo com que aes rotineiras, como o ato de ativar o interruptor de uma lmpada ou controlar alguns dispositivos, como eletrodomsticos possam ser feitas tanto de forma manual como automtica atravs de uma central de controle, utilizando sensores de movimento, som, toque e dispositivo de controle remoto que proporciona maior conforto para o usurio. 6.1.2 Produto do Projeto

O produto consiste em uma Central de Controle para ser instalada em conjunto com as instalaes fsicas de uma residncia, a central contm toda a programao referente automao e os hardwares necessrios para o controle e a obteno de dados, tanto digitais, quanto analgicos. Como o produto inclui uma placa de rede integrada, o mesmo possibilita acesso rede, permitindo acesso remoto por um computador ou usando um celular com tecnologia WIFI colocando a residncia no mundo da Internet das Coisas. 6.1.3 Premissas

O projeto tem como foco principal o conforto do usurio final, verificando as suas reais necessidades, fazendo a automao de tarefas rotineiras, gerando economia de energia e a conscientizao para o aproveitamento de resduos slidos em especial a do lixo eletrnico por meio de Metareciclagem. 6.1.4 Restries

Este projeto tem a finalidade de automatizar aparelhos de acionamento imediato, no cabendo a este projeto o controle de equipamentos mais complexos, como o exemplo de aparelhos de som, televisores, DVDs, dentre outros que exijam um maior grau de comandos com o controle especifico do fabricante.

31

6.2 Cronograma bsico do projeto O projeto teve inicio, em fevereiro de 2010, e em seu escopo como projeto de TCC, tem o tempo previsto de encerramento para julho de 2012. Fez parte desse projeto, o pr-projeto apresentado matria de programao de sistemas com o tema Sistema de automao residencial com acessibilidade AutoAcessDuino, o qual continuou a ser desenvolvido at chegar verso atual. Como o projeto tem o objetivo de ter uma aplicao real, o seu desenvolvimento continuar mesmo depois da apresentao como projeto de concluso de curso sendo constantemente atualizado, modificado e agregado de novas tecnologias. 6.3 Estimativa de custo Estima-se que para a criao do sistema por completo, sejam gastos com peas e mo de obra dos profissionais envolvidos cerca de R$ 2000,00. Grande parte do valor gasto foi em dlar e esse valor convertido para o real, abaixo segue a descrio de gastos de acordo com cada equipamento adicionado ao projeto.
Quadro 1 - Estimativa de custo Itens 01 02 03 04 05 06 07 08 09 10 11 Quant 01 01 01 01 01 01 01 01 01 01 01 TOTAL Especificao Arduino Severino LCD Nokia 3310 Sensor de temp. e umidade DHT11 Sensor de presena PIR Sensor de luminosidade Sensor de som Sensor de controle remoto IR Controle remoto Transceiver Bluetooth Placa de rede ENC28J60 Placa de rels VALOR TOTAL GASTO EM EQUIPAMENTOS Valor R$ 80,00 R$ 40,00 R$ 35,00 R$ 25,00 R$ 10,00 R$ 35,00 R$ 3,50 R$ 0,00 R$ 37,50 R$ 64,99 R$ 53,00 R$ 383,99

32

6.4 Necessidade inicial de recurso Para iniciar o desenvolvimento do projeto, foi necessrio um investimento aproximado entorno de R$ 500,00, referente ao circuito microcontrolador e alguns componentes como as placas controladoras de rels que tiveram de ser importadas e compradas em mais de uma quantidade. 6.5 Escopo 6.5.1 Definio O escopo tem o objetivo de definir os limites do projeto para a automao residencial, para essa primeira fase, no foi includa as partes de banco de dados para a plataforma de rede, j que, a adio dessas tecnologias faria com que a complexidade e o preo do produto final ficasse inacessvel. Em futuras verses sero estudadas e implantao dessas e de outras funes usando tecnologias que esto em desenvolvimento para suporte a banco de dados voltado para Automao predial e residencial, podendo gerar histricos de eventos e rotinas avanadas.
Quadro 2 - Histrico e Revises

Data

Verso

Descrio Conhecimento da tecnologia e da plataforma de desenvolvimento. Compra de dois microcontroladores AVR Atmega para montagem de Arduino Severino Inicio do desenvolvimento e documentao Definio da Justificativa e viabilidade, do escopo, objetivos, mtodos e tcnicas. Mudanas nos itens das tecnologias do sistema Alteraes na estrutura do documento e do sumario Padronizao dos itens do documento de viso. Alterao da definio do escopo

Autor

01/2010

1.0

Webert Oliveira

03/2010

1.0

Webert Oliveira

01/03/2012

2.0

Webert Oliveira

18/03/2012

2.3

Webert Oliveira

31/03/2012 31/03/2012 01/04/2012 15/04/2012

2.4 2.5 2.7 3.1

Webert Oliveira Webert Oliveira Webert Oliveira Webert Oliveira

33

15/04/2012 02/05/2012

3.1 3.6

Criao dos ndices de tabelas e de figuras Atualizao dos referenciais tericos e citaes

Webert Oliveira Webert Oliveira

6.5.2 Finalidade Este documento tem a finalidade de fornecer informaes sobre as delimitaes a qual o sistema deve ser desenvolvido, bem como fronteiras e necessidades acordadas pelo cliente e o desenvolvedor. 6.5.3 Cliente Este projeto foi desenvolvido para a aplicao real em uma residncia, o conhecimento adquirido durante o desenvolvimento do projeto, torna possvel a aplicao em outros ambientes que atendam as mesmas necessidades levantadas pelo cliente ou tambm adaptao para portadores de necessidades especiais. 6.5.4 Desenvolvedores Analista de Requisitos Webert Oliveira Analista de Sistemas Webert Oliveira 6.5.5 Objetivo O objetivo delimitar o tamanho do projeto e a suas possveis ramificaes, dando prioridade ao desenvolvimento dos requisitos primordialmente levantados. 6.5.6 Stakeholders Webert Oliveira - Programador e desenvolvedor. Henrique Vinicius - Coordenador do projeto Elvis Roberto - Coordenador do projeto Alysson Vicuna Orientador de pr-projeto Rosa Diekm - Orientadora de projeto de TCC

34

6.5.7 Funcionalidades e servios solicitados Acionamento de dispositivos eletrodomsticos; Identificao de temperatura e umidade local; Identificao de variaes de luminosidade; Identificao de variaes de som; Identificao por presena; Uso de controle remoto; Acesso rede TCI/IP.

Todos estes requisitos foram levantados nos dias, 04, 05,06/01/2010 com os Stakeholders citados acima. 6.5.8 Caractersticas tcnicas da interface do sistema Linguagem: Wiring; IDE de desenvolvimento; Arduino IDE 6.5.9 Recomendaes para Layout solicitado A documentao tcnica dever conter o documento de viso, documento de requisitos e toda a descrio tcnica de hardware e de software assim como o funcionamento de todas as partes do sistema. O produto final como sistema, deve ser de fcil mobilidade e instalao, com uma interface amigvel e agradvel para o usurio final. 6.5.10 Premissas e recomendaes O sistema deve permanecer em funcionamento constante, e os

dispositivos ligados devem tambm responder aos comandos manuais; Toda parte descritiva do sistema deve estar contida em seu cdigo,

bem como as especificaes das ligaes internas e externas dos componentes de hardware; O sistema deve ser de fcil acesso e manuseio para os mais diversos

tipos de usurios. 35

6.5.11 Verificao de resultados Antes de ser implantado, o sistema dever passar por um processo de

teste; O usurio final dever homologar o sistema, verificando se suas

necessidades foram atendidas. Em caso de mudana de status, essa nova situao deve ser

informada no sistema. O sistema deve manter a forma tradicional de funcionamento, para que

em casos de falta de fornecimento na Central de Controle, o usurio possa fazer as mudanas de forma manual.

36

6.6 Documento de Viso 6.6.1 Seo 1 Introduo O propsito deste documento expor as necessidades e funcionalidades gerais do sistema, definindo os requisitos e necessidades dos usurios finais. O detalhamento de como o sistema atinge essas necessidades so descritos no Documento de Requisitos.
Quadro 3 - Versionamentos e revises

Data 18/03/2012 31/03/2012 01/04/2012 15/04/2012 02/05/2012

Verso 2.3 2.5 2.7 3.1 3.7

Descrio Desenvolvimento do Documento de Viso Padronizao da documentao Reviso das sees Organizao dos componentes internos Reviso das definies

Autor Webert Oliveira Webert Oliveira Webert Oliveira Webert Oliveira Webert Oliveira

O documento est estruturado da seguinte forma: Seo 1 Introduo: Apresentao do documento de viso. Seo 2 Contextualizao: descrio do contexto em que surgiu a ideia/necessidade de se fazer o projeto e quais os problemas que devem ser resolvidos com o desenvolvimento deste projeto. Seo 3 Descrio dos Stakeholders (envolvidos): descrio dos principais envolvidos no projeto, juntamente dos usurios que utilizaro a aplicao. Seo 4 Necessidades e solues: descrio geral das necessidades levantadas para o projeto, com as prioridades, as solues atualmente utilizadas a e soluo proposta para a criao do sistema. Seo 5 Viso Geral do Produto: descrio geral do sistema, perspectivas e caractersticas. Seo 6 Caractersticas do produto: As principais premissas consideradas para o desenvolvimento do projeto. 37

Seo 7 Ambiente do Usurio: breve descrio do ambiente fsico e computacional que o sistema ser utilizado. Seo 8 Restries Tcnicas: descrio das restries tcnicas do projeto. Finalidade Definir a viso dos Stakeholders quanto ao produto, de acordo com suas necessidades propostas de funcionalidades serrem atendidas. O documento contm uma viso geral dos requisitos mais importantes do sistema, sendo a base do acordo feito com o cliente das funcionalidades do sistema. Escopo do Documento Essa documentao procura definir o cenrio para a criao do projeto, seus envolvidos, o contexto de sua criao, as tecnologias e os procedimentos usados. Definies, Acrnimos, e Abreviaes As definies, acrnimos e abreviaes utilizadas neste documento esto especificados no documento Glossrio.
Quadro 4 - Referncias

Ttulo Glossrio do Projeto Documento de Requisitos do Projeto. Google Trends Automao Residencial Arduino

Verso 3.1 3.1 2.8 3.7 3.7

Data 15/04/2012 15/04/2012 01/04/2012 02/05/2012 02/05/2012

Onde pode ser obtido Est no tpico 7 documento Est na seo 6.7 desse documento Grficos de pesquisas do Google Est descrito no glossrio tpico 7 Est descrito no glossrio tpico 7

38

6.6.2 Seo 2 Contextualizao 6.6.2.1 Oportunidade de Negcio Como mencionado o intuito do desenvolvimento desse sistema e seu foco totalmente acadmico, porm durante sua realizao foi visto uma tima oportunidade comercial, levando em considerao o baixo custo de fabricao do sistema e a alta possibilidade de lucro, alm das inmeras benfeitorias que o produto traz ao modernizar o ambiente residencial. Os atuais produtos do mercado nacional, so caros e muitas das vezes no atendem as reais necessidades reais de um cliente, tambm existe uma grande dificuldade em mudanas e adaptaes, j que o sistema tem uma arquitetura de fabricao fechada.
20

Fazendo uma pesquisa, utilizando a ferramenta do Google,

Google Trends , que gera grficos de pesquisas feitas na Internet, mostra o constante crescimento e a procura sobre o tema automao residencial no Brasil em especial utilizando open hardware e a plataforma Arduino.

Figura 1 - Pesquisa Google Trends - Automao Residencial

20

Google Trends uma ferramenta do Google Labs que mostra os mais populares termos buscados em um passado recente. 39

A plataforma Arduino, por ser um dispositivo de prototipao de projetos, vem sendo usada para uma serie de projetos e a sua procura tem aumentado constantemente, por estudantes, hobbistas, profissionais e interessados em estudar a plataforma como mostra grfico com os ndices de pesquisa sobre a palavra Arduino na ferramenta Google Trends.

Figura 2 - Pesquisa Google Trens - Arduino

Para o desenvolvimento desse projeto, ficou definido que todo o projeto seria baseado em hardware e software livres, para a criao de uma verso comercial, haver a necessidade de adaptar a parte de hardware e de software para criao de um produto com arquitetura mais fechado e com o uso de patentes, evitando assim copias e similaridades do mesmo produto no mercado, possvel tambm escolher outro microcontrolador AVR mais potente do que o inicialmente usado. No entanto, o autor desse projeto, acredita que o livre compartilhamento de informaes, traz um bem maior para o desenvolvimento tecnolgico nacional, melhorando a qualidade dos produtos e servios locais e preparando o pas para concorrer com igualdade com outros grandes produtores de tecnologia, como a China e os Estados Unidos. 40

Quadro 5 - Descrio do problema

Problema

Encontrar componentes no mercado nacional

Pessoas Atingidas

Como o mercado no disponibiliza tais produtos, isso gerou a necessidade de importar os componentes. Verificando a falta de qualidade no servio de correios do Brasil, este est qualificado entre um dos piores do mundo, e a dependncia por essa empresa, a greve que ocorreu durante a realizao, levou a um atraso de meses no desenvolvimento do projeto.

Impacto

Atraso nos recebimento dos componentes de hardware, afetando no tempo execuo de projeto.

Uma soluo bem sucedida traria

Maior agilidade no envio e recebimento de encomendas criando maior segurana da realizao de um projeto.

Problema

Falta de produo de componentes locais

Pessoas Atingidas

Desenvolvedores de produtos criativos

Impacto

Alto ndice de importaes

Uma soluo bem sucedida traria

Incentivos ao mercado local para uma melhor produo e venda de componentes nacionais.

Problema

Alto custo dos sistemas no mercado local

Pessoas Atingidas

Pessoas que queiram um sistema de automao

Impacto

Falta de acessibilidade ao sistema

Uma soluo bem sucedida traria

Um maior nmero de pessoas com sistemas de automao residencial desenvolvido com tecnologia local.

41

6.6.3 Seo 3 -Descrio Stakeholders (envolvidos) Webert Oliveira - Programador e desenvolvedor. Henrique Vinicius - Coordenador do projeto Elvis Roberto - Coordenador do projeto Alysson Vicuna Orientador de pr-projeto Rosa Diekm - Orientadora de projeto de TCC
Quadro 6 - Resumo dos Stakeholders (No Usurios)

Identificao

Responsabilidades Garantir o fornecimento de informaes necessrias para desenvolvimento do projeto;

Desenvolvedor

Criar as interfaces de interao com o usurio; Desenvolver a programao do sistema. Avaliar as possibilidades de uso do projeto; Adaptar aos padres de projeto e de mercado. Direcionar o projeto para os padres de projeto final.

Coordenador do projeto

Orientador pr-projeto

Orientador de TCC

Ajustar o projeto aos padres de apresentao como projeto de concluso de curso.

Quadro 7 - Resumo dos Stakeholders (Usurios)

Identificao

Responsabilidades Utilizar as funcionalidades do sistema;

Cliente

Informar eventuais erros de desenvolvimento do sistema.

42

Quadro 8 - Equipe de Desenvolvimento do Projeto

Identificao Analista de teste e desenvolvedores

Responsabilidades Emitir feedback das funcionalidades do sistema; Manter atualizadas as tecnologias do sistema; Requisitar atualizao de novos componentes necessrios para desenvolvimento do projeto; Levantar requisitos necessrios para o desenvolvimento do Sistema; Definir os padres de desenvolvimento;

6.6.4 Seo 4 - Necessidades e solues 6.6.4.1 Necessidade 1: Ligar e desligar equipamentos Prioridade: Alta Mdia Baixa

Soluo Atual: Feito manualmente Soluo Proposta: Placa de reles para a funo de controle Fazendo o uso de um hardware como uma Central de Ativao, e usando nesse hardware uma placa de rels, os rels obedecem a comandos de uma funo de controle que emite um pulso positivo de 5V em uma das portas do microcontrolador. Ao receber esse pulso o sistema se arma e faz ligao do dispositivo, ao deixar de receber esse pulso, o sistema fica neutro e o rel desarmado. Esse pulso pode ser gerado por qualquer uma das tecnologias apresentadas no item 5.3 - Tecnologias em geral.

43

6.6.4.2 Necessidade 2: Controlar equipamentos por variaes de temperatura e umidade Prioridade: Alta Mdia Baixa

Soluo Atual: Feito manualmente Soluo Proposta: Uso de sensor de temperatura e funo de rotinas de controle Fazendo uso do sensor DHT22, que mede as variaes de temperatura e umidade e manda por uma porta analgica os dados, como informaes analgicas, possvel, atravs de algumas funes fazer algumas rotinas para automatizao do ambiente com as variaes decorrentes de aumento ou diminuies tanto de temperatura quanto de umidade. 6.6.4.3 Necessidade 3: Usar o mximo tipo de comunicaes possveis Prioridade: Alta Mdia Baixa

Soluo Atual: No h.

Soluo Proposta: Uso de de varias tecnologias usando as mesmas funes de controle Como as tecnologias usadas sempre geram pulsos eltricos de 5V como sinais de verdadeiro ou falso, esses sinais foram adaptados para compartilhar a mesma funo, para depois exercer o ato de ativar e desativar um aparelho que 44

esteja ligado a um canal, dependendo da variao de luz, temperatura ou ao de outro agente como no uso de um controle remoto por exemplo. 6.6.5 Seo 5 Viso Geral do Produto Esse sistema permitir automao residencial atravs do uso da placa Arduino Severino, o programa ser executado de forma embarcada e ter como entrada de dados s informaes dos sensores e a comunicao serial. A programao do sistema desenvolvida na linguagem Wiring, uma variao do C/C++, na plataforma Arduino IDE. As respostas sero enviadas pelos sensores que estaro conectados Central de Controle, os principais sensores so: sensor de temperatura e umidade, sensor de luminosidade, sensor som, sensor de presena, receptor de sinais do controle remoto e o sistema de rede. A sada ser o LCD Nokia 3310 e o controlador de ativao que gerenciar a iluminao e eletrodomsticos como: aquecedor e umidificador. 6.6.6 Seo 6 Caractersticas do produto
Quadro 9 - Perspectiva do produto

Benefcio para o cliente

Recursos de Controle

Recursos de Gesto

Controle remoto Maior conforto e comodidade ao usar a residncia. Acesso por rede Acesso via Bluetooth Configuraes padronizadas, e rotinas definidas e pelo usurio

Adaptao automtica as Rotinas automticas mudanas de temperatura, umidade, som, movimento e luminosidade Economia de energia, e acesso de gerenciamento pela rede

Atualizaes

Possibilidade de reprogramao e upgrade de novas funes

Sistema eficiente e atualizado

45

6.6.7 Seo 7 Ambiente do usurio


Tabela 1 Dispositivo utilizados para alterao do estado

LCD Nokia

Sensor temperatura e umidade

Sensor de luminosidade

Sensor de presena CANAL Transceiver Bluetooth

Comunicao Serial

Controle Remoto

Modulo de rede Ethernet

Esses dispositivos compartilham de uma varivel comum, chamada de CANAL, que recebe o pino a ser alterado, nesse caso chamado de canal, e muda o seu estado atual. Com o uso da funo AlteraEstado(); possvel receber o sinal independente de qualquer fonte de comunicao que esteja enviando o comando. Para o usurio final indiferente forma como o sinal est sendo processado, porm para customizao de cdigo, o uso dessa funo importantssimo para o desenvolvimento do programa. Abrindo a possibilidade de atualizaes futuras usando a comunicao serial para enviar esses comandos para a funo ou adicionando novos dispositivos a pinos livres do microcontrolador AVR.

46

6.6.8 Seo 10 Restries Tcnicas Programao deve ser feita de forma embarcada em formato de Firmware e para a atualizao do dispositivo; O sistema de estar constantemente alimentado; Para uma perfeita mediao de temperatura e umidade, deve estar em local com variaes uniformes dessas variveis; Para perfeita medio de luminosidade a Central de Controle deve estar em local que acompanhe as variaes de mudana do dia; Para a captao de presena, a Central de Controle deve estar direcionada para a rea que se quer monitorar; Para alimentao dos dispositivos, a Central de Ativao deve estar alimentada com 220V; Para controle via rede, necessria a ligao junto rede TCP/IP;

47

6.7 Documento de Requisitos 6.7.1 Definio Os principais requisitos que o sistema deve ter so: controlar dispositivos, reconhecer e interpretar a presena de pessoas, reconhecer interpretar as variaes de temperatura, umidade e luz, ativar dispositivos atravs de controle remoto e acesso pela rede TCP/IP, as mudanas e variaes devem ser reconhecidas de forma automtica. O sistema deve ser de baixo custo, ter baixo consumo de energia e tambm ter como uma das caractersticas principais, ser comercial e de fcil acesso. Tambm dever ser desenvolvido em uma linguagem de programao fcil de ser entendida e mais acessvel possvel para estudantes e no profissionais.
Quadro 10 - Documento de requisitos - Histrico e revises

Data 31/03/2012 15/04/2012

Verso 2.4 3.1

Descrio Definio dos requisitos Reviso da estrutura

Autor Webert Oliveira Webert Oliveira

6.7.1.1 Finalidade O propsito deste documento expor as necessidades e funcionalidades gerais do sistema, definindo os requisitos em termos de necessidades do usurio final. Os detalhes de como o sistema, atinge essas necessidades so descritos no Documento de Requisitos. O objetivo fornecer equipe de desenvolvimento, informaes importantes para o desenvolvimento das especificaes de casos de uso, diagramas UML, projeto de implantao, realizao de testes e homologao do sistema. 6.7.1.2 Escopo do Documento Esse documento tem por objetivo levantar os quesitos essenciais para desenvolvimento dos sistemas, definido o que prioritrio e essencial e as demais funes que so acessrias.

48

Os sinais de controle sero gerados pelo usurio ou por outras aes pr configuradas, esses sinais sero enviadas pelos sensores que estaro conectados a placa os sensores principais so: sensor de som, sensor de presena, sensor de movimento e o receptor de sinais do controle remoto. A sada ser o controle de iluminao e de eletrodomsticos como: aquecedor e umidificador. 6.7.1.3 Definies, Acrnimos, e Abreviaes As definies, acrnimos e abreviaes utilizadas neste documento esto especificados no documento Glossrio. 6.7.1.4 Viso Geral do Documento O documento est estruturado da seguinte forma: Seo 1 Definio: apresenta as necessidades do projeto. Seo 2 Descrio geral do sistema: apresenta uma viso geral do sistema, caracterizando qual o seu escopo e descrevendo seus usurios. Seo 3 Requisitos funcionais (casos de uso): especifica todos os casos de uso do sistema. Seo 4 Requisitos no-funcionais: especifica todos os requisitos no funcionais do sistema. 6.7.1.5 Prioridades dos Requisitos Para estabelecer a prioridade dos requisitos, nas sees 3 e 4, foram adotadas as denominaes essencial, importante e desejvel. Essencial o requisito sem o qual o sistema no entra em funcionamento. Requisitos essenciais so requisitos imprescindveis, que tm que ser implantados impreterivelmente. Importante o requisito sem o qual o sistema entra em funcionamento, mas de forma no satisfatria. Requisitos importantes devem ser implantados, mas, se no forem, o sistema poder ser implantado e usado mesmo assim. Desejvel o requisito que no compromete as funcionalidades bsicas do sistema, isto , o sistema pode funcionar de forma satisfatria sem ele. Requisitos 49

desejveis podem ser deixados para verses posteriores do sistema, caso no haja tempo hbil para implant-los na verso que est sendo especificada. 6.7.2 Descrio geral do sistema Aqui so colocadas todas as funcionalidades levantadas melhor utilizao do projeto, definindo as prioridades de execuo de aes. 6.7.3 Requisitos Funcionais (casos de uso) [RF001] Ativar e desativar equipamento Descrio do caso de uso: O sistema dever receber os dados das entradas tanto analgicas quanto digitais e utiliza-las para controle a ativao de equipamentos. Prioridade: Essencial Importante Desejvel

Pr Condies e Entradas: necessidade de haver energia eltrica na Central de Controle, receber um sinal de entrada por qualquer uma das tecnologias usadas. Sadas e ps-condio: a corrente eltrica ativada ou desativada. [RF002] Reconhecer e Interpretar variaes de temperatura e umidade Descrio do caso de uso: O sistema dever receber os dados analgicos emitidos pelo sensor de temperatura e umidade para efetuar aes de acordo com as mudanas e variaes dessas variveis. Prioridade: Essencial Importante Desejvel

Pr Condies e Entradas: necessidade de haver energia eltrica na Central de Controle e a mesma esta em ambiente bem posicionado para a medio. Sadas e ps-condio: aes realizadas com as variveis de temperatura e umidade.

50

[RF003] Reconhecer e Interpretar variaes de luminosidade Descrio do caso de uso: O sistema dever receber os dados analgicos emitidos pelo sensor de luminosidade e efetuar as aes configuradas pelo usurio Prioridade: Essencial Importante Desejvel

Entradas e pr-condies: necessidade de estar bem posicionado no ambiente para receber a luz de forma uniforme, sem grandes variaes. Sadas e ps-condio: aes relacionadas mudana de luminosidade. [RF004] Reconhecer e Interpretar variaes de som Descrio do caso de uso: O sistema dever receber os dados analgicos emitidos pelo sensor de som e efetuar as aes configuradas pelo usurio. Prioridade: Essencial Importante Desejvel

Entradas e pr-condies: necessidade de estar bem posicionado no ambiente para receber o som de forma uniforme, sem grandes variaes. Sadas e ps-condio: aes relacionadas mudana de intensidade sonora. [RF005] Reconhecer e Interpretar variaes de presena Descrio do caso de uso: O sistema dever receber um sinal emitido pelo sensor de presena, referenciando se h ou no presena no campo de ao do sensor. Prioridade: Essencial Importante Desejvel

Entradas e pr-condies: necessidade de estar bem posicionado no ambiente, para capitar a presena de pessoas. Sadas e ps-condio: aes relacionadas deteco de presena.

51

[RF006] Reconhecer e Interpretar sinais do controle remoto Descrio do caso de uso: O sistema dever receber um sinal emitido pelo controle remoto e processar a ao referente ao comando j configurado. Prioridade: Essencial Importante Desejvel

Entradas e pr-condies: necessidade de ter um controle remoto compatvel com o receptor de IR e j ter as configuraes de aes programadas. Sadas e ps-condio: aes relacionadas ao controle geral de dispositivo e da Central de Controle. [RF007] Reconhecer e Interpretar sinais de dispositivo Bluetooth Descrio do caso de uso: O sistema dever receber um sinal emitido por dispositivos de tecnologia Bluetooth. Prioridade: Essencial Importante Desejvel

Entradas e pr-condies: necessidade de ter um receptor SLAVE para parear com outros dispositivos e receber os sinais de controle. Sadas e ps-condio: aes relacionadas ao controle geral de dispositivo e da Central de Controle. [RF008] Reconhecer e Interpretar sinais emitidos pela rede Descrio do caso de uso: O sistema dever ter uma interface para comunicao pela rede, para receber e transmitir sinais. Prioridade: Essencial Importante Desejvel

Entradas e pr-condies: necessidade de estar em uma mesma rede com outros dispositivos que tenham navegao via browser. Sadas e ps-condio: aes relacionadas ao controle geral de dispositivo e da Central de Controle via rede. 52

6.7.4 Requisitos no-funcionais [NF001] Desempenho O sistema dever responder imediatamente s entradas emitidas pelos sensores, respondendo em tempo real ao usurio. Prioridade: Essencial Importante Desejvel

[NF002] Hardware e Software Uso de uma linguagem de fcil acesso, utilizando verses em formato de firmware para atualizaes futuras do sistema. Prioridade: Essencial Importante Desejvel

6.8 Diagramas UML 6.8.1 Definio Essa documentao responsvel por mostrar de forma visual os relacionamentos e a forma de funcionamento do sistema, todo o seu comportamento e de dos perifricos ligados a ele ligados.
Quadro 11 - Diagrama UML - Histrico e revises

Data 29/03/2012 12/04/2012 15/04/2012

Verso 2.5 3.0 3.1

Descrio Atualizao dos diagramas Reviso da definio e finalidades Reviso do documento

Autor Webert Oliveira Webert Oliveira Webert Oliveira

6.8.1.1 Finalidade Utilizando os padres da UML, foram criados diagramas de caso de uso para cada requisito funcional do sistema, e o diagrama de sequencia para mostrar como o sistema se comporta com determinada ao.

53

6.8.1.2 Escopo do Documento Nesse documento descrito a viso geral, sequencia e os diagramas de caso de uso dos requisitos funcionais do sistema. 6.8.1.3 Ferramenta utilizada Para a confeco dos diagramas foi utilizado ferramenta EdrawMax, verso 4.5. O EdrawMax uma ferramenta poderosa para criao de fluxogramas e organogramas, trabalhando com os mesmos conceitos das ferramentas de desenho, como o Corel e o Photoshop e dando possibilidades de modelos bem mais elaborados para documentos e apresentao de trabalhos e projetos. O programa pago e consta com uma verso para teste. 6.8.1.4 Definies e caractersticas tcnicas do microcontrolador As definies de uso dos pinos do microcontrolador encontram no ANEXO III, no cdigo de programao do sistema, a Figura 03 mostra os pinos de comunicao do Atmega168 e as tecnologias desses pinos.

Figura 3 Esquema de Pinos do Atmega168/328

54

6.8.2 Diagrama Viso Geral

Figura 4 - Diagrama viso geral

55

6.8.3 Diagrama de Componentes

Figura 5 - Diagrama de componentes

56

6.8.4 Diagrama de Funes

Figura 6 - Diagrama de funes

57

6.8.5 Diagramas de Execuo

Figura 7 - Diagrama de execuo

58

6.9

Especificaes de Caso de Uso 6.9.1 Controle temperatura e umidade

SIGLA RF002 6.9.2 Controle de luminosidade

SIGLA RF003 59

6.9.3 Controle de som

SIGLA RF004 6.9.4 Controle de presena

SIGLA RF005

60

6.9.5 Controle remoto

SIGLA RF006 6.9.6 Controle via bluetooth

SIGLA RF007

61

6.9.7 Controle via rede

SIGLA RF008 6.9.8 Definio


Quadro 12 - Casos de uso - Histrico e revises

Data

Verso

Descrio

Autor

13/03/2012 15/04/2012

2.0 3.1

Desenvolvimento do Documento Organizao dos casos de uso

Webert Oliveira Webert Oliveira

6.9.8.1 Finalidade Estes documentos especificam os casos de usos mostrados no artefato anterior. 6.9.8.2 Escopo do Documento Contm as especificaes dos casos de uso do sistema de controle de automao residencial, usando uma Central de Controle e outra de ativao com as tecnologias levantadas no item 5.3. 62

6.9.8.3 Definies, Acrnimos, e Abreviaes As definies, acrnimos e abreviaes utilizadas neste documento esto especificados no documento Glossrio. 6.9.9 Funo Alterar Estado Est a especificao de uma das principais funes do sistema que a que recebe o valor referente a um canal digital e muda a sua situao, invertendo para uma situao contraria. 6.9.9.1 Finalidade Este documento especifica o requisito funcional RF001 para o acionamento de desligamento de equipamentos e explica os casos de uso usados para essa alterao como previsto no projeto nas siglas RF002, RF003, RF004, RF005, RF006, RF007 e RF008. 6.9.9.2 Breve Descrio Este caso de uso permitir que um valor recebido altere o estado de uma das portas digital do microcontrolador referente a um dos Canais de dispositivos alternando de acordo com a sua situao atual.
Tabela 2 - Fluxo de eventos de casos de uso Nome UC Atores Alterar Canal US Usurio SIS Sistema SOL Sistema Solar Participao do ator US Aciona os dispositivos para ligao e desligamento de acordo com sua necessidade. SIS - Manter o processamento das solicitaes do usurio. SOL Responsvel a informar ao sistema a hora de desligamento de luzes referente falta de luminosidade do ambiente. Funcionalidade(s) relacionada(s) ao caso de uso no Sistema Altera Canal Pr-condies (quando e como inicia) Rastreabilidade RF001

63

A Central de Controle deve estar devidamente alimentada e em operao e a centra de ativao conectada a essa. Ps-condies (quando e como termina) Os dispositivos a serem controlados devem ser ligagos as Central de Ativao e esse ligada a rede eletrica. FLUXO BSICO - Cenrio: Alterar Estado 1. 2. O usurio escolhe a tecnologia que deseja usar O sistema reconhece a tecnologia usada e utiliza as funes referentes a essa tecnologia. Como previsto no item 5.3 [ANEXO I, Componentes da Central de Controle]. 3. 4. 5. O usurio envia um valor atravs do dispositivo, referente mudana de um canal. O sistema reconhece esse valor e a tecnologia que a enviou e faz o processamento. O sistema faz o processamento e verifica o estado atual do dispositivo, fazendo a mudana de seu estado ao liberar um pulso positivo ou neutro para uma porta que alimenta a placa de rels ligada a Central de Ativao. [ANEXO I, Componentes da Central de Controle e ativao]. 6. Caso o usurio faa nenhuma modificao e a iluminao solar passar da mnima a central ativa o canal de iluminao, [A01] executado. 7. Caso haja presena nas proximidades do sensor de presena e essa movimentao seja com o mnimo de iluminao no ambiente, a central ativa o canal de iluminao por alguns minutos ou enquanto houver movimentao, [A02] executado. 8. Caso haja barulho sonoro acima dos limites programados na Central de Controle, [A03] executado. FLUXOS ALTERNATIVOS A01 Alterar iluminao por quant. de luz 1. Atores: Sol / Sistema A quantidade de iluminao est abaixo no mnimo permitido. [ANEXO I] [Componentes da Central de Controle, Sensor de luminosidade]. 2. 3. O sensor de luminosidade reconhece essa mudana Caso ela seja menor que a permitida o sistema chama a funo para alterao de mudana de estado do canal, [RF001] executado.

64

4. 5.

O estado do canal mudado para ligado O sistema mostra a alterao no LCD Atores: Usurio / Sistema

A02 Alterar iluminao por presena 1. sensor.

O usurio faz algum tipo de movimentao ou presena no campo de percepo do

[ANEXO I] [Componentes da Central de Controle, Sensor de presena]. 2. O sensor de presena reconhece a movimentao e emite um pulso eltrico para a Central de Controle. 3. Caso [A01] no tenha sido executado ou esteja desabilitada para determinada canal, e a quantidade de iluminao esteja abaixo do mnimo configurado, [RF001] executado. 4. 5. O estado do canal mudado para ligado O sistema mostra a alterao no LCD Atores: Usurio / Sistema

A03 Alterar estado pela serial, Bluetooth, controle remoto ou pela rede. 1. Central de Controle.

O usurio faz uso de um dos dispositivos mencionados para a comunicao com a

[ANEXO I] [Componentes da Central de Controle]. 2. 3. 4. 5. O usurio usa a tecnologia que envia um sinal para a central. [RF001] executado. O sistema faz o processamento e a mudana de estado do dispositivo O sistema imprime no LCD e na serial a mudanas ocorridas no sistema. O sistema mostra a alterao no LCD

65

GLOSSRIO Este documento tem a finalidade de fornecer os significados de termos

utilizados durante o documento.


Quadro 13 - Glossrio - Termos de Descries

Termo ABNT Arduino

Descrio Associao Brasileira de Normas Tcnicas. Plataforma eletrnica baseada em hardware e softwares livres para prototipao de projetos. Plataforma de programao para o Arduino, que faz a interface entre o usurio e o computador com o hardware. Modelo de microcontrolador AVR fabricado pela Atmel. Pessoas ou componentes que interagem com o sistema. Aplicao de tcnicas computadorizadas. Microcontroladores de arquitetura RISC com memria interna, de baixo custo e consumo energtico. Tecnologia que possibilita a comunicao sem fio entre dispositivos.

Arduino IDE

Atmega328 Atores Automatizao

AVR

Bluetooth Browsers

um programa de computador que habilita seus usurios a interagirem com pginas da Internet. Tipos de linguagem de programao de baixo nvel. Dispositivo responsvel por controlar os equipamentos. Dispositivo responsvel por toda a parte de processamento da estao onde est o Arduino Severino e os sensores. Uma funcionalidade do sistema. Centrais onde ficam o servidores de uma instituio.

C/C++ Central de Ativao Central de Controle

Caso de Uso CPDs

66

DHT22 Documento de Viso

Sensor de temperatura e umidade. Documento que fornece uma informao geral do sistema e os acordos preliminares realizados entre o cliente e empresa contratada para desenvolver o projeto. Documento que fornece os Requisitos Funcionais e No-Funcionais do sistema. Programa para gerao de fluxogramas. Produo que valoriza a singularidade, o simblico, aquilo que intangvel como a criatividade, o folclore e cultura de uma sociedade. Estabelecimento das principais funcionalidades e fronteiras do sistema. Documento que descreve um caso de uso, ou seja, descreve como o caso de uso funcionar no sistema. Sigla para especificao de Caso de Uso Software bsico responsvel pela inicializao do processador e pela programao dos circuitos de interface, armazenado em uma memria no voltil. Memoria no voltil de leitura e gravao. Sequencia de passos a serem executados. Fluxo principal de um caso de uso Fluxos alternativo ao fluxo principal do caso de uso. um conjunto de abstraes que unem cdigos comuns entre vrios projetos. Ferramenta do Google Labs que mostra os mais populares termos buscados em um passado recente. Equipamentos, Maquinrio. Tipo de tecnologia que emite luz no visvel ao olho humano. Tela de um sistema apresentada ao usurio.

Documento Requisitos

EdrawMax Economia Criativa

Escopo Especificao de Caso de Uso ECU

Firmware

FLASH Fluxos de Eventos Fluxo Bsico Fluxo Alternativo Framework

Google Trends

Hardware Infravermelho Interface

67

Internet Internet das Coisas LCD Metareciclegem Microcontrolador.

Rede Mundial de Computadores. Rede formada por objetos e coisas que interagem por meio da internet. Tipo de tela para visualizao de informaes. um conceito de reapropriao da tecnologia para transformao social. um computador em um chip, contendo um processador, memria e perifricos de entrada/sada. Processamento feito por microcontroladores. Projeto desenvolvido em parceria com Arduino-Braslia para Semana Nacional de Cincia e Tecnologia. Subsistemas que compem o sistema. LCD usado em algumas verses de celulares da Nokia, em especial o 3310, 6120 e 6125 Condies consideradas para sadas em casos de uso. Condies consideradas para entra em casos de uso. Necessidades do cliente. Representa a necessidade do cliente que deve ser sanada com o sistema. Tecnologia de identificao por radiofrequncia. Necessidade que gerar uma funcionalidade no sistema.

Microprocessamento Monitora Cerrado

Mdulos do Sistema PCD8544

Ps-Condio Pr-Condio Requisito do Cliente

RFID Requisito Funcional / Requito de Produto Funcional Requisito NoFuncional

Necessidade que no gerar uma funcionalidade no sistema, porm importante para o negcio. Linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instrues que levam aproximadamente a mesma quantidade de tempo para serem executadas. Tipo de comunicao serial presente nos computadores pessoais. um modelo de Arduino serial de face simples e de fcil manuteno.

RISC

RS232 Severino

68

Sistema

Programa de computador funcionalidades.

capaz

de

prover

um

conjunto

de

Sistemas Embarcados

So dispositivos que tem a sua programao salva em uma memria FLASH ou em uma memria especifica dentro do microcontrolador Dispositivo secundrio de uma comunicao. O mesmo que sistema. Todas as pessoas envolvidas no projeto. Conjunto de protocolos de comunicao entre computadores em rede. rea do conhecimento responsvel por criar, administrar e manter a gesto da informao atravs de dispositivos e equipamentos para acesso, operao e armazenamento de dados, de forma a gerar informaes para tomada de deciso. uma marca registrada da Wi-Fi Alliance, para dispositivos de rede local sem fios (WLAN) baseados no padro IEEE 802.11. Framework open-source para programao de microcontroladores

Slave Software Stakeholders TCP/IP TI

WIFI

Wiring

69

CONCLUSO Com a realizao desse projeto e de seu estudo multidisciplinar, foi possvel

criar um sistema para automao residencial de baixo custo, como proposto no documento de viso e no inicio do projeto usando conceitos de reciclagem de lixo eletrnico associado de novas tecnologias, para transformar uma residncia comum em um ambiente moderno e preparado para o conceito de Internet das Coisas. Mantendo um canal de comunicao pronto e permanente para esse proposito. O conforto e a modernizao dos ambientes, agora possvel graas a essa automao de ambientes e espaos, adicionando tecnologia, mas mantendo o modo antigo do usurio de comunicar com o seu sistema de acionamento de dispositivos. Foi verificado que com o aprendizado dessas tecnologias traz a possibilidade de infinitas aplicaes, indo desde uma residncia, uma chcara e tambm em outras situaes bem mais especificas como o uso em uma impressora 3D ou um rob super inteligente. O modelo de desenvolvimento escolhido serviu para delimitar um proposito de aplicao, porem essas multidisciplinas estudadas para o projeto, se comunicam entre si e com o aprofundamento em seus conceitos possvel continuar criando e dispositivos que resolvam problemas do nosso dia a dia ou que nos ajude a diminuir o tempo que gastamos com esses processos. Foi muito importante seguir e confiar no seu desenvolvimento, mesmo que em muitos momentos, os conhecimentos necessrios para a sua realizao, tiveram de ser aprendidos e dominados, desafios esses motivadores para um jovem aprendiz. Por ultimo, o projeto no acabou, apenas uma parte dele foi concluda, assim muito conhecimento ainda h de ser aprendido, muito tempo h de ser gasto e muitos frutos referentes a esses esforos ho de ser colhidos, o resultado desse processo eu vejo agora ao concluir esse modulo e para os mdulos futuros que sero feitos, nos mesmos moldes desse, espero sucesso, assim que eles vierem.

70

ANEXO I 1. Componentes da Central de Controle

Figura 8 - Interface da Central de Controle

71

Quadro 14 - Componentes da central de controle Item 01 Comando LCD Nokia Sensor de 02 Temperatura e umidade 03 Sensor de movimento Sensor de som Ao Interface de resposta do usurio Faz a mediao em tempo real da temperatura e umidade Faz a deteco dos dos movimentos em tempo real Detecta alteraes de som no ambiente Recebe valores do controle remoto para efetuar aes Manda o sinal de ligar para a central de controle Recebe comandos para alterao do estados dos canais Receber a energia para alimentao da central de comando e da central de controle Restries/Observaes Ser apresentado apenas mudanas de comando Dever ser colocado onde no tenha outras variaes que interfiram nas medies Deve ser direcionado para a regio nde se quer monitorar Em ambiente com muito barulho no faz uma medio correta Os comando do controle devem ser direcionados para o receptor IR Altera os canais de 1 a 4 dependendo do comando e da situao atual Pode no responder perfeitamente de acordo com o navegador Deve receber energia suficiente para aliemtnar todo o circuito

04

05

Sonsor de IR

06

Saida de controle Comunicao de rede Entrada de alimentao

07

08

72

1.1. LCD Nokia

Figura 9 - Tela LCD Nokia 3310 Tabela 3- Comandos LCD Nokia Item 01 02 02 Comando Escrever Atualizar Blacklight Ao Escreve na tela as aes principais Mostra atualizao de comandos na tela Liga e desliga a luz de fundo do LCD Restries/Observaes Para essa primeira faze no foi feita uma navegao por menus. As atualizaes so os valores de temperatura, umidade e luminosidade e tambm os estados dos canais No alterada a intenssidade, apenas o estado de ligado e desligado

SIGLA RF001 1.2. Sensor de temperatura e umidade

Figura 10 - Sensor de temperatura e umidade Tabela 4 - Comandos sensor de temperatura e umidade Item 01 Comando Medio de temperatura Medio de umidade Ao Recebe os valores referente a temperatura Recebe os valores referente a temperatura Restries/Observaes Os valores so aferidos nas proximidades do sensor, dependendo de uma boalocalizao para uma perfeita mediao. Os valores so aferidos nas proximidades do sensor, dependendo de uma boalocalizao para uma perfeita mediao.

02

SIGLA RF002 73

1.3. Sensor de luminosidade

Figura 11 - Sensor de luminosidade Tabela 5 - Comandos sensor de luminosidade Item 01 Comando Medio de luminosidae Valor medio de 02 mudana de noturno para diurno Ao Recebe os valores referente a luminosidade Muda o estado de um equipamento caso esse passe do valor estipulado. Os valores so definidos pelo usurio, cabendo a esse saber ou mediar em qual momento deve haver a mudano de estado. Restries/Observaes Os valores so aferidos nas proximidades do sensor, dependendo de uma boalocalizao para uma perfeita mediao.

SIGLA RF003 1.4. Sensor de som

Figura 12 - Sensor de som Tabela 6 - Comandos sensor de som Item 01 Comando Medio de intensidade sonora Valor medio de 02 mudana de intensidade sonora Ao Recebe os valores referente ao som Muda o estado de um equipamento caso esse passe do valor estipulado. Os valores so definidos pelo usurio, cabendo a esse saber ou mediar em qual momento deve haver a mudano de estado. Restries/Observaes Os valores so definidos pelo usurio, cabendo esse saber ou mediar em qual momento deve haver a mudano de estado.

SIGLA RF004 74

1.5. Sensor de presena

Figura 13 - Sensor de presena Tabela 7 - Comandos sensor de presena Item Comando Reconhecimento de presena Ao Emite um sinal de 01 ligado caso haja presena no ambiente Envia um sinal que 02 Sinal de presena houve presena para alterao do estado de um equipamento No tem como sabe quem ou o que emitiu a movimentao, apenas tem como saber que houve presena nas proximidade dos sensor. Restries/Observaes O reconhecimento se restringe ao foco de reconhecimento do sensor, tendo em media uma captao de 45 graus e um distancia de 3m

SIGLA RF005 1.6. Receptor de IR controle remoto

Figura 14 - Receptor de controle remoto Tabela 8 - Comandos receptor de controle remoto Item 01 Comando Valor referente a um boto do controle remoto Luz infra vermelha Ao Recebe um valor numerico para fazer uma ao Recebe luz infra 02 vermelha para converte-la em valores numericos Restries/Observaes Os valores a serem recebidos para que tenham uma ao dentro do programa, devem estar pr programados. A recepo depende da potencia do controlu usado, e esse deve ser apntado para o receptor ao ser usado.

SIGLA RF006

75

1.7. Controle remoto

Figura 15 - Controle remoto Tabela 9 - Comandos controle Item Comando Emitir valor do boto Ao Emite um valor em 01 sinal infra vermelho do boto apertado 02 Controle padro Deve configurar um controle para uso Outros controles no configurados, no funcionaro com a central de comandos.. Deve verificar a bateria d o controle e apontar para o receptor ao usar o controle. remoto Restries/Observaes

SIGLA RF006 1.8. Bluetooth

Figura 16 - Transceiver bluetooth Tabela 10 - Comandos transceiver bluetooth Item 01 Comando Comunicao de dados bluetooth Distancia de comunicao Ao Recebe e envia valores por bluetooth Deve se respeitar a distancia de comunicao . Restries/Observaes necessaria parear com o equipamento antes de fazer a comunicao O teste feito com o modulo usado, chegou a manter a comunicao por cerca de 15m

02

SIGLA RF007

76

1.9. Placa de rede

Figura 17 - Placa de rede Tabela 11 - Comandos placa de rede Item Comando Comunicao com a rede Ao Abre um canal de 01 comunincao com a rede TDP/IP possivel montar 02 Realizar aes de alterao uma pequena pgina HTLM para esta funo Caso seja colocadors muitos comandos ou tenha muitas requisies, o sistema trava por conta do baixo poder de pocessamento desse modulo. A pilha TCP/IP montada no modulo que tem baixo poder de processamento. Restries/Observaes

SIGLA RF008

77

2. Componentes da Central de Ativao

Quadro 15 - Componentes da Central de Ativao Item 01 Comando Boto lic/des Boto muda estado Ao Liga e deslica a energia 220V Inverte a ordem de funcionamento dos dispositivos. Local onde plugar os equipamentos Restries/Observaes Para o funcioanmento esse deve estar ligado a rede eletrica. Esse chave serve para simular o interruptor de uma casa, alterando os estado manula ou automaco. Os LEDs, mostram o estado normal de acionamento do rele, caso a chave seja invertida o canal fincionar invertido

02

03

Tomadas

SIGLA RF001

78

2.1. Placa de reles

Figura 18 - Placa de reles Tabela 12 - Comandos placa de reles Item 01 Comando Placa de reles Ao Recebe um valor da central para lig/desl equipamentos Estado 02 normalmente aberto Estado 03 normanlmente fechado Emite a conrrete de entrada 220V independete de sinal de controle Emite a conrrete de entrada 220V, caso receba um sinal de controle Restries/Observaes A alimentao da placa emitida pela central de controle Caso a central tenha invertido esse funcionamento o equipamento ficar sem energia. Caso tenha um ainterrupo no forneceimento de energia essa o estado normal do sistema

SIGLA RF001

79

ANEXO II 1. Programao do Sistema


/* #######################################################################*/ Controle de Automao com ARDUINO SEVERINO - MODULO-01 Created by Webert Oliveira Inputs: Controle Remoto - OK Serial - OK Sensor de Som - OK Sensor de Toque - OK HTTP - OK Blutooth - OK 01-02-2010 Primeira verso 26-08-2011 07-09-2011 Ultima verso 04-11-2011 --------------------------------------------------------Circuito: Canal 1-2-3-4-5 - Conectado ao LCD Canal-01 - Modulo rel 01 ligado no pino 8(Digital) Canal-02 - Modulo rel 02 ligado no pino 2(Digital) Canal-03 - Modulo rel 03 ligado no pino A0(Analogico) Canal-04 - Modulo rel 04 ligado no pino A1(Analogico) IR Receptor - Modulo conectar no pino 9(Digital) Som Sensor - Modulo sensor de som no pino A5(Analogico) Movimento Sensor - Modulo sensor de presena ligado no pino A4(Analogico) /*############################################################*/ #include <NewSoftSerial.h> NewSoftSerial entradaSerial(13, 12 ); #include "etherShield.h" // Inclui a biblioteca do ENC28J60 #include "DHT.h" // Inclui a biblioteca do sensor de temperatura e umidade #include <PCD8544.h> // Inclui a biblioteca para o LCD do Nokia 6120 #include <IRremote.h> // Inclui a Biblioteca para o Controle Remoto //#define senSom 900 // Define a intensidade do sensor de som //#define senToque 200 // Define a intensidade do sensor de toque #define DHTTYPE DHT22 // DHT22 (AM2302) define o tipo do sensor #define OCTAVE_OFFSET 0 // Sitema de nostas para alarme #define DHTPIN A5 // Define em qual pino est o sensor de umidade e temperatura #define presenSensor A4 #define LDR A3 #define alarme A2 #define receptorIR 9 #define luminosidade 80 --------------------------------------------------------static uint8_t mymac[6] = {0x54,0x55,0x58,0x10,0x00,0x24}; static uint8_t myip[4] = {192,168,1,15}; static char baseurl[]="http://192.168.1.15/"; static uint16_t mywwwport =80; // listen port for tcp/www (max range 1-254) #define BUFFER_SIZE 500 static uint8_t buf[BUFFER_SIZE+1]; #define STR_BUFFER_SIZE 22 static char strbuf[STR_BUFFER_SIZE+1]; EtherShield es=EtherShield(); uint16_t print_webpage(uint8_t *buf, byte on_off); int8_t analyse_cmd(char *str); static const byte glyph[] = { B00010000, B00110100, B00110000, B00110100, B00010000 }; static PCD8544 lcd; // Cria o LCD int modo[20][1] = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};// Matriz que salva o estado de cada canal

80

// Notas para Alarme /*########################################################*/ // Inicio da declarao das variaveis globais int quantluz = 0; int tempo = 1; // Conta o tempo para o sensor de presena int senMread = 0; // Verifica alteraes no estado da porta Movimento //int senSread = 0; // Verifica alteraes no estado da porta Som //int senTread = 0; // Verifica alteraes no estado da porta Toque char recepSerial =0; // Recebe um valor de caracter da porta serial //unsigned short intenSom; // Recebe a intensidade do sensor som int canal1 = 8; int canal2 = 2; int canal3 = A0; int canal4 = A1; int blacklLight = 6; //int toqSensor1 = A2; //int toqSensor2 = A3; //int somSensor = A3; //OBS foi substituido pelo sensor de temperatura int BOT1,BOT2,BOT3,BOT4; char* botao[]={"CH1( )","CH2( )","CH3( )","CH4( )"}; int CANAL = 0; float op=0; /*##########################################################*/ // Prototipo de Funoes do Programa void alteraEstado(int canal); void imprimeSerial(char valor); DHT dht(DHTPIN, DHTTYPE); // Chamada da funo do sensor de temperatura IRrecv irrecv(receptorIR); // Chamada da funo do receptor de IR decode_results results; // Chamada da Para receber os valor da IR /*###########################################################*/ // Setup com as definies do programa void setup() { // Funo de rede do ENC28j60 es.ES_enc28j60Init(mymac); es.ES_enc28j60clkout(2); // change clkout from 6.25MHz to 12.5MHz delay(10); es.ES_enc28j60PhyWrite(PHLCON,0x880); delay(500); es.ES_enc28j60PhyWrite(PHLCON,0x990); delay(500); es.ES_enc28j60PhyWrite(PHLCON,0x880); delay(500); es.ES_enc28j60PhyWrite(PHLCON,0x990); delay(500); es.ES_enc28j60PhyWrite(PHLCON,0x476); delay(100); es.ES_init_ip_arp_udp_tcp(mymac,myip,80); // Inicia a comunicao serial coma velocidade de 9600 Serial.begin(9600); entradaSerial.begin(9600); Serial.println("Sensor de temperatura Ativo DHT22!"); // Cria os limites do LCD falando assim o seu tamanho lcd.begin(84, 48); // Posiciona o inicio da matriz do LCD lcd.createChar(0, glyph); // Inicia o recebimento por IR irrecv.enableIRIn(); // Inicia o sensor de temperatura dht.begin();

81

/*#########################################################*/ // Declarao dos pinos de saida pinMode(canal1, OUTPUT); pinMode(canal2, OUTPUT); pinMode(canal3, OUTPUT); pinMode(canal4, OUTPUT); pinMode(blacklLight, OUTPUT); digitalWrite(blacklLight,LOW); pinMode(alarme, OUTPUT); /*#########################################################*/ // Declarao dos pinos de entrada //pinMode(presenSensor, INPUT); //pinMode(somSensor, INPUT); /*##########################################################*/ // Inicio o programa onde ficar rolando em Loop void loop() { // Cria Comunicao com a rede pelo Shield EnC28J60 uint16_t plen, dat_p; int cmd; byte on_off = 1; plen = es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf); /*plen will ne unequal to zero if there is a valid packet (without crc error) */ if(plen!=0){ // arp is broadcast if unknown but a host may also verify the mac address by sending it to a unicast address. if(es.ES_eth_type_is_arp_and_my_ip(buf,plen)){ es.ES_make_arp_answer_from_request(buf); return; } // check if ip packets are for us: if(es.ES_eth_type_is_ip_and_my_ip(buf,plen)==0){ return; } if(buf[IP_PROTO_P]==IP_PROTO_ICMP_V && buf[ICMP_TYPE_P]==ICMP_TYPE_ECHOREQUEST_V){ es.ES_make_echo_reply_from_request(buf,plen); return; } // tcp port www start, compare only the lower byte if (buf[IP_PROTO_P]==IP_PROTO_TCP_V&&buf[TCP_DST_PORT_H_P]==0&&buf[TCP_DST_PORT _L_P]==mywwwport){ if (buf[TCP_FLAGS_P] & TCP_FLAGS_SYN_V){ es.ES_make_tcp_synack_from_syn(buf); // make_tcp_synack_from_syn does already send the syn,ack return; } if (buf[TCP_FLAGS_P] & TCP_FLAGS_ACK_V){ es.ES_init_len_info(buf); // init some data structures dat_p=es.ES_get_tcp_data_pointer(); if (dat_p==0){ // we can possibly have no data, just ack: if (buf[TCP_FLAGS_P] & TCP_FLAGS_FIN_V){ es.ES_make_tcp_ack_from_any(buf); } return; } if (strncmp("GET ",(char *)&(buf[dat_p]),4)!=0){ // head, post and other methods for possible status codes see:

82

// http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html plen=es.ES_fill_tcp_data_p(buf,0,PSTR("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n<h1>200 OK</h1>")); goto SENDTCP; } if (strncmp("/ ",(char *)&(buf[dat_p+4]),2)==0){ plen=print_webpage(buf, on_off); goto SENDTCP; } cmd=analyse_cmd((char *)&(buf[dat_p+5])); Serial.print("Valor CMD"); Serial.print(cmd); switch(cmd) { case 1: on_off=1; alteraEstado(canal1); // switch on LED break; case 2: on_off=1; alteraEstado(canal2); // switch off LED break; case 3: on_off=1; alteraEstado(canal3); // switch off LED break; case 4: on_off=1; alteraEstado(canal4); // switch off LED break; } plen=print_webpage(buf, on_off); plen=print_webpage(buf, on_off); SENDTCP: es.ES_make_tcp_ack_from_any(buf); // send ack for http get es.ES_make_tcp_ack_with_data(buf,plen); // send data } } } /*###############################################################################*/ // Estado da Luminosidade quantluz=analogRead (LDR); if(quantluz > luminosidade) { digitalWrite(canal2,LOW); }else { digitalWrite(canal2,HIGH); } Serial.print("Quantidade Luz: "); Serial.print(quantluz); Serial.print(" \t"); /*###############################################################################*/ // Cria sensor de temperatura e umidade float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(t) || isnan(h)) { Serial.println("Failed to read from DHT"); } else

83

Serial.print("Temperatura: "); Serial.print(t); Serial.print(" *C\t"); Serial.print("Umidade: "); Serial.print(h); Serial.println(" %");

} /*###############################################################################*/ // Cria sensor de movimento para alterar estado senMread = digitalRead(presenSensor); // Recebe valor do Receptor if(senMread == HIGH) // Caso o canal desligado { if(digitalRead(canal1)==LOW) { if(tempo!=0) { Serial.println("Movimento Detectado"); digitalWrite(canal1,HIGH); digitalWrite(blacklLight,HIGH); tempo = 150; } } }else { if(tempo!=1) { if(tempo!=2) { if(tempo!=0) { tempo=tempo--; } if(tempo==0) { Serial.println("Sensor de Motivimento Desligado"); } if(tempo==2) { Serial.println("Motivimento parado"); digitalWrite(canal1,LOW); // turn LED OFF digitalWrite(blacklLight,LOW); tempo=1; }

} /*###############################################################################*/ /* Cria sensor de toque para alterar estado static int counter = 0; senTread = analogRead(toqSensor1); if (senTread >= senToque) { alteraEstado(canal2); delay(100); } / Cria sonsor de toque para alterar estado senTread = analogRead(toqSensor2); if (senTread >= senToque)

84

alteraEstado(canal3); delay(100); }*/ /*###############################################################################*/ /* Cria sensor de som para alterar estado //if (senSread == HIGH) //{ intenSom = analogRead(somSensor); if (intenSom < senSom) { alteraEstado(canal4); Serial.println("Som Detectado"); Serial.println(intenSom); } //}*/ /*###############################################################################*/ // Recebe sinal serial do Modulo-02 Bluetooth e Rede para controle dos Canais if (entradaSerial.available()) { Serial.print((char)entradaSerial.read()); } if (entradaSerial.available()) { recepSerial =(char)entradaSerial.read(); switch (recepSerial) { case '1': Serial.println(); Serial.print(recepSerial); alteraEstado(canal1); break; } } // Funo que recebe um valor de Controle pela serial recepSerial = Serial.read(); switch (recepSerial) { case '1': Serial.print(recepSerial); Serial.println(); alteraEstado(canal1); break; case '2': Serial.print(recepSerial); Serial.println(); alteraEstado(canal2); break; case '3': Serial.print(recepSerial); Serial.println(); alteraEstado(canal3); break; case '4': Serial.print(recepSerial); Serial.println(); alteraEstado(canal4); break; } /*###############################################################################*/

85

// Funo que recebe um valor do Controle de IR if (irrecv.decode(&results)) { switch(results.value) { case 16248847: CANAL=canal1; op=16248847; imprimeSerial(1); alteraEstado(CANAL); break; case 16191727: CANAL=canal2; op=16191727; alteraEstado(CANAL); break; case 16203967: CANAL=canal3; op=16203967; alteraEstado(CANAL); break; case 16208047: CANAL=canal4; op=16208047; alteraEstado(CANAL); break; case 16240687: op=16240687; alteraEstado(blacklLight); break; case 16232527: op=16232527; alteraEstado(alarme); break; case 16199887: if(tempo!=0) { tempo=0; }else { tempo=1; } op=16199887; break; default: op=0; break; } irrecv.resume(); // Receive the next value } /*###############################################################################*/ // Codigo que envia os dados de escrita para o LCD lcd.setCursor(11,0); lcd.print("CLIMADUINO"); lcd.setCursor(20,1 ); lcd.print("( )"); lcd.setCursor(33,1 ); lcd.print(quantluz); lcd.setCursor(0,2 ); lcd.print("Tempera( )");

86

lcd.setCursor(48,2 ); lcd.print(t); lcd.setCursor(0,3 ); lcd.print("Umidade( )"); lcd.setCursor(48,3 ); lcd.print(h); // Escreve o boto 01 no LCD3310 lcd.setCursor(4,4 ); lcd.print(botao[0]); lcd.setCursor(28,4 ); lcd.write(modo[1][canal1]); // Escreve o boto 02 no LCD3310 lcd.setCursor(4,5 ); lcd.print(botao[1]); lcd.setCursor(28,5 ); lcd.write(modo[1][canal2]); // Escreve o boto 03 no LCD33108 lcd.setCursor(46,4 ); lcd.print(botao[2]); lcd.setCursor(70,4 ); lcd.write(modo[1][canal3]); // Escreve o boto 04 no LCD3310 lcd.setCursor(46,5 ); lcd.print(botao[3]); lcd.setCursor(70,5 ); lcd.write(modo[1][canal4]); /*###############################################################################*/ } /*#######################################################################*/ // Declarao das funoes /*#######################################################################*/ // Funo que altera o estado do Canal entre ligado e desligado void alteraEstado(int canal) { // Recebe qual canal ser alterado CANAL=canal; if(digitalRead(CANAL)==LOW) { digitalWrite(CANAL,HIGH); modo[1][CANAL]=0; }else { digitalWrite(CANAL,LOW); modo[1][CANAL]=1; } } /*#######################################################################*/ // Funo que imprime na serial o valor e o Canal a ser alterado void imprimeSerial(int valor) { Serial.print(valor); Serial.println(); } /*#######################################################################*/ // Funes do ENC28J60 uint8_t find_key_val(char *str,char *key) { uint8_t found=0; uint8_t i=0; char *kp;

87

} int8_t analyse_cmd(char *str) { int8_t r=-1; if (find_key_val(str,"cmd")){ if (*strbuf < 0x3a && *strbuf > 0x2f){ // is a ASCII number, return it r=(*strbuf-0x30); Serial.print("Valor de R: "); Serial.print(r); } } return r; } uint16_t print_webpage(uint8_t *buf, byte on_off) { int i=0; uint16_t plen; plen=es.ES_fill_tcp_data_p(buf,0,PSTR("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><p><h1>Controle de Canais ClimaDuino</h1></p> ")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<hr><br><form METHOD=get action=\"")); plen=es.ES_fill_tcp_data(buf,plen,baseurl); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("\">")); //plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<img src=http://arduinolabs.in/wpcontent/uploads/2011/10/monitora_cerrado.jpg>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<h2> Canais Remotos </h2> ")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<table border='1'>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<tr>")); switch(on_off) { case 1:

kp=key; while(*str && *str!=' ' && found==0){ if (*str == *kp){ kp++; if (*kp == '\0'){ str++; kp=key; if (*str == '='){ found=1; } } }else{ kp=key; } str++; } if (found==1){ // copy the value to a buffer and terminate it with '\0' while(*str && *str!=' ' && *str!='&' && i<STR_BUFFER_SIZE){ strbuf[i]=*str; i++; str++; } strbuf[i]='\0'; } return(found);

88

plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td><input type=hidden name=cmd value=1> <input type=submit value=\"CANAL\"></td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td><input type=hidden name=cmd value=2> <input type=submit value=\"CANAL\"></td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 03 </td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 04 </td>")); break; case 2: plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td><h2><font color=\"#FF0033\"> OFF </font></h2> <input type=hidden name=cmd value=2> <input type=submit value=\"CANAL\"></td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 02 </td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 03 </td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 04 </td>")); break; } /* if(on_off) { plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td><h2><font color=\"#00FF00\"> ON </font></h2> <input type=hidden name=cmd value=3> <input type=submit value=\"CANAL\"></td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 02 </td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 03 </td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 04 </td>")); } else { plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td><h2><font color=\"#FF0033\"> OFF </font></h2> <input type=hidden name=cmd value=2> <input type=submit value=\"CANAL\"></td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 02 </td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 03 </td>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<td> Canal 04 </td>")); } */ plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("</tr>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("</table>")); // fecha formulrio plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("</form>")); plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("</center><hr> <p> V1.0 <a href=\"http://www.BlueFrog.com\">www.BlueFrog.com<a><br>")); return(plen); } /*######################################################################## // Alarme Controle de Automao com ARDUINo SEVERINO CRONOGRAMA by Webert Oliveira Controle Remoto - OK Serial - OK Sensor de Som - OK Sensor de Toque - OK HTTP - OK Blutooth - OK 27-08-2011 - Concluso das funes do sensor de movimento Sensor ########################################################################*/

89

REFERENCIAS BIBLIOGRFICAS Alexandre Mendona, Ricardo Zelenovsky. Eletrnica Digital. Rio de Janeiro: MZ, 2004. Coelho, Isaias. Semana Nacional de Ciencia e Tecnologia. 22 de 10 de 2011. Arduinolabs. 22 de 10 de 2011 <http://arduinolabs.in/climaduino-na-semananacional-de-ciencia-e-tecnologia/>. Curran, Chris. invention Machine. 24 de 10 de 2011. 11 de 2011. Fonseca, Anan Carla. Economia Criativa. So Paulo: Ita Cultural, 2008. Fonseca, Felipe. O que metareciclagem - Livro branco. So Paulo: Creative Commons, 2008. Kranenburg, Rob Van. The internet of the things. Amsterdam: Creative Commons, 2008. Lima, Charles Borges de. Tcnicas de projetos eletrnicos com microtontroladores AVR. Florianpolis: Clube dos Autores, 2010. Mazimo Banzi. Arduino CookBook. italia: livre, 2011. Morrow, Monique. Da internet das coisas para a Web das coisas. 25 de 01 de 2011. Cisco. 26 de 06 de 2011 <http://blogs.cisco.com/sp/from-internet-ofthings-to-web-of-things>. Reas, Casey. Wiring. An environment and eletronics. Wiring (2006): 01 e 02. Santos, Jonhnny Cezar Maral dos. Universidade Federal do rio Grande do Norte, Centro de Tecnolgia. Sistema microcontrolado utilizando internet embarcada para monitoramento remoto em tempo real de temperatura disponibilizao por conexo 2009. Schulz, Nick. Internet of The Things. 12 de 2007. The American. 06 de 2010 <http://www.american.com/archive/2007/november-december-magazinecontents/the-internet-of-things>.

90

Sobrinho, Alceu Medeiros da Silva. Universidade Federal de Santa Catarina, Centro Tecnolgico. Automao para medio de parmetros da logistica de triagem da associao de coletores de materiais reciclaveis de Florianpolis. 2011. Taurion, Cezar. Como a internet das coisas vai influenciar a gesto de TI. 23 de 02 de 2012. Imaster. 06 de 2012 <http://imasters.com.br/artigo/23630/gerenciade-ti/como-a-internet-das-coisas-vai-influenciar-a-gestao-de-ti>. Vasconcelos, Lia. Tecnologia - s abrir a torneira. 2007. Ipea. 06 de 2011 <http://www.ipea.gov.br/desafios/index.php?option=com_content&view=article &id=966:reportagens-materias&Itemid=39]>. Weiszflog, Walter. Michaelis. So Paulo: Melhoramentos, 1998.

91