352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6...

83
PROJETO DE ACESSIBILIDADE PARA PORTADORES DE NECESSIDADES ESPECIAIS MOTORAS UTILIZANDO ARMBAND MYO Marcelo Pita Gomes de Castro Projeto de Graduação apresentado ao Curso de Engenharia Eletrônica e de Computação da Escola Politécnica, Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Engenheiro. Orientador: Antônio Claudio Gómez de Sousa Rio de Janeiro Fevereiro de 2017

Upload: others

Post on 21-Nov-2020

38 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

PROJETO DE ACESSIBILIDADE PARA PORTADORES DE NECESSIDADES ESPECIAIS MOTORAS

UTILIZANDO ARMBAND MYO

Marcelo Pita Gomes de Castro

Projeto de Graduação apresentado ao Curso de Engenharia Eletrônica e de Computação da Escola Politécnica, Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Engenheiro. Orientador: Antônio Claudio Gómez de Sousa

Rio de Janeiro

Fevereiro de 2017

Page 2: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

ii

Page 3: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

iii

Page 4: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

iv

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Escola Politécnica – Departamento de Eletrônica e de Computação

Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária

Rio de Janeiro – RJ CEP 21949-900

Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que

poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar

qualquer forma de arquivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre

bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja

ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem

finalidade comercial e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es).

Page 5: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

v

DEDICATÓRIA

Este trabalho é dedicado a todo povo brasileiro, que investiu em minha educação e acreditou no retorno em dedicação ao país. Que este projeto sirva de início de uma solução tecnológica capaz de ajudar tantos necessitados em nosso país e no mundo. Que sirva também como forma de despertar o interesse de novos estudiosos a dedicarem o seu tempo propondo novas soluções para um Brasil melhor.

Page 6: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

vi

AGRADECIMENTO

A meus pais, Tânia Pita e Ricardo Castro, meu padrasto Carlos Carneiro, minha

madrasta Camilla Goulart, meus irmãos Beatriz Castro, Gustavo Castro e Carolina

Carneiro e toda minha família por todo carinho e apoio durante toda essa jornada que foi

cursar Engenharia Eletrônica e de Computação.

A meus professores, que souberam passar mais do que ensinamentos técnicos,

mas que despertaram o meu interesse na busca por conhecimento.

A meus colegas e grandes amigos de curso, que trilharam comigo este caminho.

Passando manhãs, tardes e noites de muito estresse e estudo, mas também de muita

descontração e divertimento. Sem a ajuda de vocês, nada disso seria possível.

A meus amigos de tempos do colégio, que mesmo com a distância tendo

aumentado com a faculdade e agora com o trabalho, estão sempre presentes dando o

apoio necessário.

Ao professor Ricardo Rhomberg, pela presença na banca examinadora e por todo

ensinamento na área de Telecom, a qual sigo hoje profissionalmente.

Ao professor José Antônio Borges, pela presença na banca e pelo estímulo

durante a disciplina de Tecnologia e Desenvolvimento Social a seguir em frente com

este projeto.

Ao professor Antônio Claudio, por toda a orientação e por ser o professor que

inicializou meu curso de Engenharia Eletrônica e de Computação lecionando

Computação I e agora finaliza com este trabalho.

A todos que me ajudaram durante o planejamento e desenvolvimento deste

projeto, sobretudo ao Rafael Chaves, que sempre dispôs a ajudar durante toda a

faculdade e à Danielle Carvalho, aguentando o meu estresse, a distância e a saudade,

sempre disposta a ajudar revisando os textos e ao meu lado durante cada etapa deste

processo.

Page 7: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

vi

RESUMO

O projeto a ser apresentado é o resultado do estudo e integração do aparelho de

reconhecimento de gestos Armband Myo e do microcontrolador Arduino para a criação

de um protótipo de um equipamento capaz de controlar utensílios domésticos presentes

em um quarto.

O trabalho de engenharia social surgiu com o interesse de facilitar as atividades

do dia a dia de portadores de deficiência física a fim de torna-los menos dependentes de

familiares e profissionais da saúde para realizar tarefas consideradas banais para a maior

parte da sociedade, mas que podem representar um desafio para portadores de

mobilidade reduzida.

São apresentados nos capítulos de cada equipamento as características técnicas e

os funcionamentos dos equipamentos utilizados, assim como projetos em que foram

aplicados.

A partir do método iterativo de desenvolvimento de projetos de software, foram

realizados os controles dos equipamentos de televisão, do decodificador da televisão por

assinatura, do ar condicionado, da iluminação e da cortina.

Os equipamentos foram controlados de forma bem-sucedida e foram estudadas

formas de desenvolver futuramente o projeto e de barateá-lo, com o objetivo de o tornar

mais viável.

Palavras-Chave: Engenharia Social, Armband Myo, Arduino, controle residencial,

deficientes físicos.

Page 8: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

vi

ABSTRACT

The project to be presented is the result of the study and integration of the

Armband Myo gesture recognition device and the Arduino microcontroller for the

creation of a prototype of an equipment capable of controlling domestic devices present

in a room.

The work of social engineering came up with the interest of facilitating the day-

to-day activities of people with physical disabilities in order to make them less

dependent on family and health professionals to perform tasks considered banal for the

most of society, but that can be a challenge for people with reduced mobility.

The technical characteristics and the workings of the equipment used, as well as

the projects in which they were applied, are presented in the chapters of each

equipment.

From the iterative method of development of software projects, the controls of

television equipment, pay-TV decoders, air conditioning, lighting and curtains were

carried out.

The equipment was successfully controlled and ways were studied to develop

the project in the future and to make it cheaper, in order to make it more feasible.

Key-words: Social Engineering, Armband Myo, Arduino, house-control, disabled

people.

Page 9: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

ix

SIGLAS

UFRJ – Universidade Federal do Rio de Janeiro

PNS – Pesquisa Nacional de Saúde

CIF – Classificação Internacional de Funcionalidade, Incapacidade e Saúde

Page 10: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

x

Sumário

1 Introdução 1

1.1 - Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 - Delimitação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 - Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.4 - Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.5 - Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.6 - Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 O Armband Myo 6

2.1 - Características técnicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 - Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 - Projetos realizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.1 - Projetos de Entretenimento . . . . . . . . . . . . . . . . . . . . . 9

2.3.2 - Projetos de trabalho e produtividade . . . . . . . . . . . . . 11

2.3.2 - Projetos de Conectividade . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.4 - Projetos médicos e sociais . . . . . . . . . . . . . . . . . . . . . . . 13

3 O Arduino 15

3.1 - Armband Myo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1 - Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.2 - Arduino Nano e Arduino Mini . . . . . . . . . . . . . . . . . . 16

3.1.3 - Arduino Mega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Page 11: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

xi

3.2 - A configuração da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3 - Projetos Sociais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4 Desenvolvimento do Projeto 23

4.1 - Dispositivo de interface do usuário . . . . . . . . . . . . . . . . . . . 23

4.1.1 - Circuitos e módulos utilizados. . . . . . . . . . . . . . . . . . . . 24

4.1.2 - Diagrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.2 - Dispositivo para controle da iluminação . . . . . . . . . . . . . . . . 26

4.2.1 - Circuitos e módulos utilizados. . . . . . . . . . . . . . . . . . . . 26

4.2.2 - Diagrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.3 - Dispositivo para controle da televisão . . . . . . . . . . . . . . . . . . 28

4.3.1 - Circuitos e módulos utilizados. . . . . . . . . . . . . . . . . . . . 28

4.3.2 - Diagrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.4 - Dispositivo para controle da TV por assinatura . . . . . . . . . . . 30

4.4.1 - Diagrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.5 - Controle do Ar Condicionado . . . . . . . . . . . . . . . . . . . . . . . . 31

4.6 - Controle da Cortina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.6.1 - Circuitos e módulos utilizados. . . . . . . . . . . . . . . . . . . . . 33

4.6.2 - Diagrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.7 - Comunicação entre Arduinos . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.7.1 - Circuitos e módulos utilizados. . . . . . . . . . . . . . . . . . . . . 35

5 Resultados e Discussão 36

5.1 - Controle dos equipamentos . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.2 - Melhorias tecnológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.3 - Preço . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 12: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

xi

5.4 - Público alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5 Conclusões 43

Referências 44

A Código do Microcontrolador Central 49

B Código do Microcontrolador do Aparelho da NET 57

C Código do Microcontrolador da Cortina 60

D Código do Microcontrolador da Iluminação 63

E Código do Microcontrolador do Ar Condicionado 66

Page 13: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

xi

Lista de Figuras

1 – Proporção de pessoas com deficiência física . . . . . . . . . . . . . . . . . . . . . . . . 2

2 – O Armband Myo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 – - Os gestos para controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 – Jogos desenvolvidos para o Armband Myo. . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 – Exemplos de programas de multimídia com compatibilidade ao Armband . 10

6 – Ferramentas desenvolvidas para produção. . . . . . . . . . . . . . . . . . . . . . . . . . 12

7 – Ferramentas de apresentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

8 – Aplicativos de Conectividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

9 – Testes do Armband Myo com prótese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

10 – Placa Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

11 – Arduino Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

12 – Arduino Mini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

13 – Arduino Mega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

14 – Arduino IDE e a estruturação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

15 – Exemplos no Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

16 – Protótipo da lixeira automatizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

17 – LCD 20x04 . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

18 – Diagrama de blocos do microcontrolador central. . . . . . . . . . . . . . . . . . . . . . 25

19 – Modulo de relé SDR utilizado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

20 – Diagrama de Blocos do Microcontrolador da Iluminação. . . . . . . . . . . . . . . . 27

21 – Sensor TL1838 e LED TSAL6100 infravermelhos. . . . . . . . . . . . . . . . . . . . . 29

22 – Diagrama de blocos do microcontrolador da TV. . . . . . . . . . . . . . . . . . . . . . . 29

23 – Diagrama de blocos do microcontrolador do aparelho de TV por assinatura . 31

24 – Servo Motor com hélice de 6 pontas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Page 14: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

xi

25 – Diagrama de blocos do microcontrolador da cortina. . . . . . . . . . . . . . . . . . . 34

26 – Módulo Transmissor e Receptor em RF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

27 – Cortina com o Sistema do Servo Motor montado. . . . . . . . . . . . . . . . . . . . . . 37

28 – Raspberry Pi 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

29 – Percentual de cada item de acordo com a estimativa de gastos. . . . . . . . . . . . 41

Page 15: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

xv

Lista de Tabelas

1 – Estimativa de gastos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Page 16: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

1

Capítulo 1

Introdução

1.1 – Tema

O tema do trabalho é o controle de elementos de um quarto através do Armband

Myo, que é um conjunto de sensores elétricos estimulados pelos músculos do braço.

1.2 – Delimitação

O projeto está focalizado no controle de equipamentos presentes em um quarto,

domiciliar ou hospitalar. O controle de equipamentos de cozinha, escritório e de

garagem estão fora do escopo do projeto. O sensor utilizado para o envio de comandos

não foi realizado no projeto, foi comprado e sua implementação também está fora do

escopo do projeto.

Esta é uma versão inicial de um equipamento, o que não torna o projeto a ser

economicamente viável nesta versão. Ao final do projeto devem ser realizadas

prospecções de novas etapas a serem estudadas a fim de tornar o projeto cada vez mais

viável.

1.3 – Justificativa

Somos 200,3 milhões de brasileiros residentes em domicílios particulares

permanentes, segundo os dados mais recentes. Destes mais de 200 milhões de pessoas,

6,2% apresentou algum tipo de deficiência ligada à audição, à visão, à intelectualidade e

aos movimentos físicos (PNS, 2013).

Dos quatro grupos de deficiência, a deficiência física foi o segundo maior grupo

presente nos brasileiros. Foi relatado um grupo de 3,6% da população para os

deficientes visuais; 1,3% da população para os deficientes físicos; 1,1% da população

Page 17: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

2

para deficientes auditivos; e 0,8% da população para deficientes intelectuais (PNS,

2013).

A deficiência física é mais presente na vida dos homens (1,6%) do que na vida

das mulheres (1,0%) e sua presença cresce de acordo com a faixa etária da população, já

que dos 1,3% da população com a deficiência, somente 0,3% nasceu nessa situação e os

outros 1,0% adquiriram por doença ou acidente (PNS, 2013).

Um fator de grande impacto na qualidade de vida dos deficientes motores é o

fato de 46,8% deles relatar um grau intenso ou muito intenso de limitações, o que

impedia de fazer atividades do dia-a-dia. Além disso, quando se compara o nível de

formação acadêmica, deficientes físicos são até 2,4 vezes mais frequentes em pessoas

com ensino fundamental incompleto do que em pessoas com alguma formação

acadêmica, o que significa uma renda mais baixa desses deficientes e uma capacidade

de reabilitação menor.

Figura 1 - Proporção de pessoas com deficiência física, na população total,

com indicação do intervalo de confiança de 95%, segundo o sexo, os grupos de idade, a

cor ou raça e o nível de instrução (PNS, 2013)

Com o passar dos anos, a expectativa de vida do povo brasileiro cresce. Em

2003, tinha-se 71,2 anos de expectativa de vida ao nascer e em 2013 este número

cresceu para 74,9. Por mais que seja um índice a ser comemorado, também é necessária

atenção para alguns detalhes não explícitos. Pessoas com mais de 60 anos de idade

representavam, em 2013, 13,2% da população e 6,8% destes idosos diziam apresentar

Page 18: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

3

alguma dificuldade de realizar tarefas diárias. Detalhando ainda mais os números da

população idosa, os números de pessoas com dificuldade crescem exponencialmente de

acordo com a idade. No intervalo entre 60 e 64 anos de idade, somente 2,8% das

pessoas relatou dificuldades com as tarefas diárias, no intervalo de 65 a 74 anos de

idade, este número cresceu para 4,4% e a partir de 75 anos, cresceu ainda mais,

atingindo 15,6% da população. Dificultando ainda este cenário, 84% da população dos

idosos relatou necessitar de alguma ajuda para realizar tarefas do dia-a-dia e,

infelizmente, 10,9% não a recebia (PNS, 2013).

Analisando todo esse cenário mais atual e prospectando para um futuro não

muito longínquo, a população idosa, que cada vez mais cresce, requer cuidados

especiais. Dos idosos referenciados pela pesquisa que necessitavam de cuidados

especiais, 17,8% recebiam cuidados de forma remunerada e 78,8% recebiam cuidados

de pessoas ligadas à família (PNS, 2013).

Com o passar dos anos, outro elemento que tem crescido é a tecnologia. A

internet foi introduzida por todo mundo acelerando a globalização. Hoje se criam

elementos cada vez menores e mais baratos capazes de se comunicar e as indústrias de

entretenimento, de telecomunicações, empresas de diversas áreas comerciais utilizam

deste avanço para gerar mais lucro, atingindo uma maior quantidade de pessoas a um

preço cada vez menor. Além de gerar lucro, porém, essas novas tecnologias são capazes

de mudar a sociedade de outra maneira, melhorando a qualidade de vida de pessoas

antes necessitadas, facilitando tarefas, que para alguns era algo quase impossível, sendo

disponibilizadas a uma grande quantidade de pessoas. Esse é o objetivo da Engenharia

Social.

Projetos de Engenharia Social são muitas vezes feitos por pesquisas de

universidades, apoio governamental ou até de pessoas próximas a deficientes físicos,

que se mobilizam a alguma ideia e criam algo inovador. Assim como os projetos da

criação de uma luva háptica para auxiliar pessoas cegas a enxergar numa sala de aula,

da criação de um novo conceito de acessibilidade na web para deficientes visuais e da

criação de um mecanismo capaz de deixar cadeirantes se locomoverem em pé, este

projeto tem o objetivo de debater uma solução possível para que possa ser criado um

dispositivo novo, utilizando as tecnologias já existentes, capaz de alterar e melhorar a

qualidade de vida de pessoas com alguma necessidade especial.

Analisando as dificuldades existentes para deficientes físicos e a passividade da

sociedade em tornar essas pessoas independentes de ajuda, o projeto de SmartRoom

Page 19: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

4

surgiu. O projeto levanta o conceito de se utilizar um controle simples de se manusear,

diferentes de controles remotos que não são eficazes para uma gama grande de pessoas

com dificuldades físicas, que seja ligado a equipamentos presentes num quarto. Assim

sendo, o deficiente físico, idoso ou até um paciente com mobilidade reduzida num

hospital, seria capaz de controlar os elementos presentes em seu espaço de convivência,

com maior liberdade e independência, resultando numa melhor qualidade de vida diária.

1.4 – Objetivos

O objetivo geral é elaborar um projeto de Quarto Inteligente controlado por

comandos capturados pelo Armband Myo, para que os portadores de necessidades

especiais motoras tenham uma maior facilidade de realizar atividades do dia a dia,

consideradas atividades banais para os que não têm a mesma dificuldade, aumentando

sua independência e qualidade de vida.

Atividades planejadas: (1) Controle de Lâmpadas do Quarto; (2) Controle da

Televisão; (3) Controle do decodificador da Televisão por Assinatura; (4) Controle do

Ar Condicionado; (5) Controle da Cortina.

1.5 – Metodologia

O projeto foi realizado através da metodologia iterativa de construção de

soluções em software. Foi analisado o problema de maneira mais global e estudado um

meio de abrangê-lo e solucioná-lo. Com o escopo do projeto já definido, foi projetado

cada desenvolvimento de solução de maneira separada, utilizando os elementos da

iteração de estudo, projeto e análise, até que chegasse ao resultado esperado. Quando

cada solução foi concluída, foi realizado um novo projeto para integrar todas em um

único canal controlado pelo usuário.

1.6 – Descrição

No capítulo 2 será apresentado o dispositivo Armband Myo, informando as

características técnicas, descrevendo o seu funcionamento e mostrando projetos em que

Page 20: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

5

está relacionado, tanto em suas áreas com maiores quantidades de projetos realizados,

como em áreas similares a este projeto.

No capítulo 3 será apresentado o conjunto de microcontroladores Arduino

utilizados no projeto. Serão descritas as características de cada um deles, a plataforma

de implementação de soluções e serão apresentados outros projetos, relacionados a este,

em que foram utilizados.

No capítulo 4 será apresentado o desenvolvimento do projeto, descrevendo cada

uma das soluções criadas, os elementos utilizados e como as soluções são integradas no

projeto total.

No capítulo 5 serão apresentados os resultados e serão discutidos os próximos

passos e melhorias a serem realizadas. Será estudada a viabilidade financeira do projeto

e será discutido como torná-lo mais atrativo.

No capítulo 6 será apresentada a conclusão, realizada em tópicos, de modo a

tornar objetivos os pontos principais conhecimentos adquiridos durante o estudo deste

projeto.

Page 21: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

6

Capítulo 2

O Armband Myo

O Armband-Myo é um equipamento eletrônico em formato de braçadeira de

antebraço desenvolvido pela empresa Thelmic Labs capaz de reconhecer gestos feitos

com a mão e com o braço do usuário com o intuito de ativar funções no computador. O

equipamento é composto por 8 sensores elétricos que, utilizando o processo de

eletromiografia parcial, transforma em dados a posição de cada um dos três músculos do

braço e, por bluetooth, envia os dados para o computador

(https://www.myo.com/techspecs).

Figura 2 - O Armband Myo

(http://www.techrepublic.com/article/myo-armband-makes-smartglasses-hands-free/)

2.1 – Características técnicas

O Armband Myo tem seu comprimento ajustável entre 19 cm e 34 cm, de modo

que possa melhor se adaptar ao braço de cada utilizador. A massa do equipamento é de

93 g e sua espessura é de 1,1 cm (https://www.myo.com/techspecs).

Page 22: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

7

O equipamento é compatível com sistemas operacionais da Microsoft e da Apple

para computadores, para o Linux existem algumas aplicações feitas por

desenvolvedores que não são ligados à empresa que criaram uma forma de

compatibilidade (http://www.fernandocosentino.net/pyoconnect). Para celulares existe

compatibilidade tanto para sistemas IOS, quanto para sistemas Android. A comunicação

entre os aparelhos é feita pelo protocolo de comunicação Bluetooth, existindo um

adaptador para os computadores utilizando uma porta USB para a recepção e

transmissão de dados (https://www.myo.com/techspecs).

Com relação às características de Hardware, são dois tipos de sensores, oito do

tipo de eletromiografia parcial, capazes de informar impulsos elétricos dos músculos do

braço, reconhecendo movimentos e poses; além de sensores de medidas inerciais, com

base em nove eixos: três eixos de giroscópio, três eixos de acelerômetro e três eixos

magnetrônicos (https://www.myo.com/techspecs). O equipamento contém LEDs para

informar o estado do equipamento, como ligado, desligado, sincronizando e em espera.

Além dos LEDs, existem três tipos de vibração que o equipamento é capaz de produzir

uma curta, uma média e uma longa, que também informam ao usuário o estado do

equipamento. O processador utilizado é um ARM Cortex M4 e possui uma bateria de

Lítio, capaz de durar 24 horas de uso e, para carregá-la, existe uma porta micro USB

(https://www.myo.com/techspecs).

2.2 – Funcionamento

O funcionamento do Armband Myo é dependente da configuração dos

parâmetros utilizados pelo dispositivo. Como é um sensor que possibilita o

reconhecimento de gestos e movimentos de qualquer pessoa, existem parâmetros que

são configurados com auxílio do computador, antes do primeiro uso de cada usuário,

que reconhece as características específicas de cada um. Para que seja feita esta

configuração, é instalado o software inicial presente no site do Armband Myo, o

myoconnect (https://www.myo.com/start). Com este software, são dadas as informações

básicas ao usuário do passo a passo de configuração, em que o usuário realiza uma série

de movimentos e gestos, que calibram o dispositivo, para que depois seja salvo em um

arquivo as configurações daquele usuário. Após a calibração, o usuário pode colocar o

bracelete em qualquer um dos dois braços, logo abaixo do cotovelo, fazer um gesto de

reconhecimento, e o dispositivo vai vibrar para informar que está pronto para uso.

Page 23: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

8

Com a configuração realizada, o usuário tem à disposição aplicativos para o

controle do próprio computador, envolvendo controle de apresentações, um teclado

virtual, um mouse virtual e controladores de vídeos e músicas, todos desenvolvidos e

entregues pela própria empresa, com a instalação inicial. Esses aplicativos têm cinco

gestos base de controle: Punho, com todos os dedos da mão fechados; Aceno para

dentro, com os dedos esticados e o punho virado no sentido do corpo; Aceno para fora,

com os dedos esticados e o pinho virado para longe do corpo; Dedos abertos, com todos

os dedos esticados ao máximo; e Dois toques, com o dedo médio dando dois toques

rápidos no polegar.

Figura 3 - Os gestos para controle (Myo Keyboard Mapper)

Além dos cinco gestos capturados pelos sensores eletromiográficos, os

aplicativos também usam os nove eixos de medidas inerciais, como uma forma de

apontador nos casos de mouse e teclado virtuais. Para ativar esses aplicativos, o usuário

deve levantar a mão, fechar o punho e então descer a mão, em um gesto próximo ao

manuseio de uma chave. Com este movimento, fica à disposição uma lista dos

aplicativos, e para selecionar cada um, aponta com o braço e estica os cinco dedos.

2.3 – Projetos realizados

Além dos aplicativos iniciais disponibilizados pela Thalmic Labs, existem

diversos projetos acontecendo em paralelo de desenvolvedores que querem utilizar desta

tecnologia para diferentes projetos, como jogos, integração com programas de música e

vídeo, controle de robôs, entre outros. Para auxiliar esses projetos, a Thalmic Labs

disponibiliza alguns softwares de obtenção de dados e uma biblioteca com um conjunto

de funções (https://developer.thalmic.com/downloads).

Page 24: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

9

Após a conclusão de um desses projetos, o desenvolvedor tem um espaço na

central de mercado no site do Armband Myo, podendo compartilhar a sua aplicação

(https://market.myo.com/). Além dessa central de mercado, existem muitos blogs e

artigos científicos que mostram projetos mais desenvolvidos e o resultado de cada um

deles.

A seguir, apresentamos alguns exemplos de projetos por área de interesse.

2.3.1 – Projetos de Entretenimento

O maior foco, pelo menos na criação do Armband Myo, foi o público do

entretenimento, visto que os vídeos de propaganda exploravam bastante esta área e a

área empresarial, além de muitos exemplos de aplicações para desenvolvedores de jogos

no fórum da empresa (https://www.myo.com/). Com isso, foram atraídos muitos

desenvolvedores de entretenimento para realizar aplicações com o dispositivo, que

correspondem a 53% dos projetos disponibilizados no mercado de aplicativos,

considerando jogos e ferramentas de multimídia (https://market.myo.com/).

Na área de jogos, foram criados alguns inteiramente novos para serem utilizados

exclusivamente com o Armband Myo, como o “Myosilk” e o “Icarus Rising”; e, como

na maioria das vezes, jogos adaptados para a utilização do bracelete, como o “Myo +

Tetrix” e o “Fruit Ninja Connector”.

Em Myosilk (https://market.myo.com/app/55955bf1e4b0f2c8982c90d9/myosilk)

o usuário tem a oportunidade de fazer pinturas animadas usando o movimento do braço

e os gestos padrões do Armband Myo.

Em Icarus Rising

(https://market.myo.com/app/55392b70e4b02f8140d20a84/icarus-rising), o usuário

utiliza dois Armbands Myo, além de um óculos de realidade virtual, o que torna o jogo

completamente imersivo. Neste jogo, o usuário deve eliminar os adversários mexendo

os braços para mirar e usando os movimentos padrões para disparar as armas.

Page 25: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

10

Figura 4 - Jogos desenvolvidos para o Armband Myo (https://market.myo.com/)

Nos jogos em que há compatibilidade do equipamento com a jogabilidade já

desenvolvida, os movimentos do braço simulam os movimentos do mouse e as poses

padrão da mão representam teclas chaves para o jogo.

Além de jogos, o conteúdo de entretenimento também foi abordado com criação

de softwares com compatibilidade de controle através de movimentos do braço e da

mão, utilizados em reprodutores de áudio e vídeo, como “Myo for Windows Media

Player” e “Itunes Connector”, além de controle de aplicativos para o celular, como o

“Air Guitar” e o “Myo Youtube” e até mesmo o controle de funções do celular, como o

“Myo Song” que permite atender ligações e controlar o reprodutor musical do aparelho

celular.

Figura 5 - Exemplos de programas de multimídia com compatibilidade ao Armband (https://market.myo.com/).

Page 26: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

11

2.3.2 – Projetos de trabalho e produtividade

Os projetos relacionados ao ambiente de trabalho são o segundo maior foco no

quesito de projetos realizados e disponibilizados no mercado de aplicativos do Armband

Myo, representando 39% do total de aplicativos (https://market.myo.com/). Esses

projetos foram criados para atender a integração dos controles originados pelo Armband

com os softwares de produção e com softwares de apresentação.

Os softwares de produção atendem principalmente a área de programadores e

designers. As ferramentas permitem a integração com softwares de programação, como

o “SublimeText Connector” (https://market.myo.com/app/55bbd712e4b0a4d28fe2a279-

/sublimetext-connector), que adapta os comandos padrões do Armband Myo com o

software SublimeText para realizar funções como alterar as opções do menu, descer ou

subir o texto, acelerando o modo com que o usuário pode realizar essas ações e de

forma simples. Já o “Rhinoceros Controller”

(https://market.myo.com/app/549ca27fe4b03603dc2c69e8/rhinoceros-controller) é uma

ferramenta que adapta os comandos padrões do Armband Myo com o software de

design 3D Rhinoceros. Com essa ferramenta, sobretudo designers 3D podem utilizar o

bracelete para controlar o ângulo de visão do objeto em que está sendo trabalhado, o que

deixa o objeto menos virtual, já que é possível controlá-lo com o movimento da mão e

do braço, ao invés de usar um mouse. Além de ferramentas para softwares exclusivos

para a área, também há ferramentas para integração com o e-mail, como o “Mailbox

Gestures” (https://market.myo.com/app/54aaa506e4b090ea5683e2bf/mailbox-gestures),

e com o gerenciador de tarefas trello, com o “Trello Connector”

(https://market.myo.com/app/5494aa43e4b009360b85a97b/trello-connector). Esses

aplicativos dão o controle ao usuário de passar por e-mails ou tarefas utilizando os

gestos reconhecidos.

Page 27: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

12

Figura 6 - Ferramentas desenvolvidas para produção (https://market.myo.com/)

As aplicações de integração com os softwares de apresentação são de grande

auxílio para os usuários do Armband Myo que precisam fazer alguma apresentação em

algum instituto de ensino ou trabalho, acabando com a necessidade de passar slides pelo

computador, ou do uso de um equipamento eletrônico de pointer. Através das poses

padrões do bracelete, o usuário é capaz de passar slides, dar zoom em determinada

sessão e até mesmo criar uma fonte luminosa na apresentação, como a do pointer. As

ferramentas no mercado de aplicativos são adaptadores para cada um dos softwares de

apresentação terem as funcionalidades apresentadas.

Figura 7 - Ferramentas de apresentação (https://market.myo.com/)

2.3.3 – Projetos de Conectividade

Os projetos de conectividade do mercado de aplicativos do Armband Myo

representam 8% de todos os aplicativos (https://market.myo.com/). Os aplicativos

contêm ferramentas de conexão com robôs, aeromodelos e modelos automotivos.

Na área de controle de robôs, uma das opções do mercado de aplicativos é o

“EZ-ROBOT”, um software que associa o controle de um mini robô com diversos

comandos, inclusive comandos enviados pelo Arduino Myo

Page 28: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

13

(https://market.myo.com/app/54986643e4b009360b85a9d3/ez-builder). O software é

configurado pelo próprio usuário, então cada usuário escolhe quais ações pré-

programadas serão executadas de acordo com cada gesto reconhecido pelo bracelete.

Além dos aplicativos para robôs oferecidos no mercado de aplicativos da

Thelmic Labs, estudantes da universidade de Brighton, no Reino Unido, também

fizeram um estudo baseado na utilização do Armband Myo para o controle do robô

veicular Husky, também criado pelos alunos.

O aplicativo “Myo + Parrot 3.0” é capaz de controlar tanto drones, quanto

modelos automotivos da marca Parrot versão 3.0

(https://market.myo.com/app/559ec0cee4b0f2c8982c9164/myo--parrot-30). Ele

funciona em smartphones com sistemas operacionais Android ou iOS e utiliza dos

gestos padrões para controlar a altitude, a direção e os movimentos do braço para

locomover os veículos. Além deste aplicativo, existem outros também específicos para

cada veículo com controle através do Armband Myo similar.

Figura 8 - Aplicativos de Conectividade (https://market.myo.com/)

2.3.4 – Projetos médicos e sociais

Da mesma forma que este trabalho, universidades e a própria Thelmic Labs

procuram soluções no âmbito médico e social utilizando o Armband Myo. Um artigo

publicado pelo departamento de ciência da computação e de engenharia de software da

universidade de Cantuária, no Reino Unido, testou a utilização do Armband Myo para

controle de próteses através de um método não invasivo e mais barato. Como conclusão,

foi analisado que o Armband Myo não foi suficiente para o controle total de uma

prótese de mão (Abduo e Galster, 2015). Apesar disso, os acadêmicos consideraram que

Page 29: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

14

o projeto foi um sucesso já que foram capazes de realizar tarefas mais simples com o

dispositivo.

A Thelmic Labs também realizou experimentos da utilização do Armband Myo

para o controle de próteses para amputados (http://www.cbc.ca/news/canada/kitchener-

waterloo/johnny-matheny-robotic-arm-uses-thalmic-labs-armband-1.3334199). O

resultado do experimento foi considerado um sucesso, já que o usuário, que era

amputado acima do cotovelo, conseguiu realizar o controle de sua prótese, sendo capaz

de segurar e largar objetos, como uma bola de borracha.

Figura 9 - Testes do Armband Myo com prótese (http://www.cbc.ca/news/canada/kitchener-waterloo/johnny-matheny-robotic-arm-uses-

thalmic-labs-armband-1.3334199)

Page 30: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

15

Capítulo 3

O Arduino

O Arduino é uma plataforma de integração de hardware e software opensource.

Ele é composto por uma placa eletrônica com um microcontrolador programável através

de linguagens de programação com diversas portas de entrada e saída de dados. Capaz

de integrar componentes eletrônicos, como botões, LEDs, sensores, portas de internet,

receptores de rádio, entre outros e de forma barata, o Arduino é objeto de muitos

projetos acadêmicos, pessoais e empresariais de automação e de Internet das Coisas.

3.1 – Características técnicas

As placas do Arduino (https://www.arduino.cc/) são na maior parte das vezes

compostas por um microcontrolador Atmel, baseado na arquitetura AVR; uma memória

Flash, uma memória SRAM e uma memória EEPROM; pinos de entrada e saída de

dados digitais e de dados PWM; pinos de entrada de dados analógicos; suportando

tensões de 7 a 12 Volts e operando com tensões de 3 e 5 Volts e correntes de 20 a 50

mA (https://www.arduino.cc/en/Products/Compare). Essas placas têm diversos

modelos, características e tamanhos para atender da melhor forma o usuário.

3.1.1 – Arduino Uno

A placa mais utilizada e documentada dos Arduinos é o Arduino Uno

(https://www.arduino.cc/en/Main/ArduinoBoardUno). Com o comprimento de 68,6

mm, largura de 53,4 mm e massa de 25 g, é uma placa com capacidade de realizar

projeto em diferentes áreas por sua versatilidade e características multifuncionais.

Seu processador é o ATmega328P (Atmel Datasheet), com 16 MHz de clock, 32

KB de memória Flash, 2 KB de memória SRAM e 1 KB de EEPROM; possui 8 pinos

de entrada e saída de dados digitais, 6 de dados PWM, e 6 entradas de dados analógicas.

Para a comunicação com o computador ou para a alimentação da placa, possui uma

Page 31: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

16

conexão USB tipo B e a alimentação também pode ser realizada por um cabo Jack com

tensão DC de 7 a 12 Volts (https://www.arduino.cc/en/Main/ArduinoBoardUno).

O preço encontrado no mercado americano varia de US$ 9,00 para as versões

genéricas com as mesmas características até US$ 20,00 (https://www.amazon.com/). Já

no mercado brasileiro, o preço varia de R$ 50,00 até R$ 120,00

(http://www.filipeflop.com/ e http://www.mercadolivre.com.br/).

Figura 10 - Placa Arduino Uno (https://www.arduino.cc/en/Main/ArduinoBoardUno)

3.1.2 – Arduino Nano e Arduino Mini Com o foco voltado ao tamanho, para realizar a integração com objetos menores

do dia a dia foram criadas as placas Arduino Nano

(https://www.arduino.cc/en/Main/ArduinoBoardNano) e Arduino Mini, sendo o

Arduino Mini uma versão mais compacta do Arduino Nano, sem os pinos de cada porta

previamente soldados e sem um conector serial para USB instalado na placa, o que

torna necessário um módulo de adaptação para realizar os downloads do código

(https://www.arduino.cc/en/Main/ArduinoBoardMini). O Arduino Nano possui 45 mm

de comprimento, 18 mm de largura e uma massa de 7 g. Já o Arduino Mini possui o

comprimento de 30 mm e a largura de 18 mm.

O Arduino Nano é uma placa compacta com características similares ao Arduino

Uno, possui um processador baseado no ATmega 328 (Atmel Datasheet), com 16 MHz

de clock e, ao invés de um USB tipo B para realizar a comunicação com o computador e

a alimentação, possui uma entrada Mini-USB tipo B. Para realizar a entrada e saída de

dados, possui 22 pinos para dados digitais e 6 pinos para dados PWM. Já para entrada

Page 32: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

17

de dados analógicos, possui 8 pinos. Diferentemente do Arduino Uno, que possui

pinagem do tipo fêmea, os pinos do Arduino Nano são do tipo macho. Possui 32 KB de

memória Flash, 2 KB de memória SRAM e 1 KB de memória EEPROM. O Arduino

Nano opera com tensões de 3 a 5 V e corrente de 40 mA por pino de obtenção de dados.

Para a sua alimentação, suporta tensões de 7 a 12 V.

O preço do Arduino Mini, no mercado americano é próximo a US$ 15,00,

enquanto o valor do Arduino Nano flutua próximo a US$ 36,00

(https://www.amazon.com/). No mercado nacional, existem versões genéricas com as

mesmas funcionalidades. Para o Arduino Mini, o valor é próximo a R$ 23,00 e, para o

Arduino Nano, o valor se mantém próximo a R$ 32,00 (http://www.filipeflop.com/ e

http://www.mercadolivre.com.br/).

Figura 11 - Arduino Nano Figura 12 - Arduino Mini

(https://www.arduino.cc/en/Main/ArduinoBoardNano) (https://www.arduino.cc/en/Main/ArduinoBoardMini)

3.1.3 – Arduino Mega

O Arduino Mega é a placa do Arduino projetada para projetos mais complexos,

como controle robótico e impressoras 3D

(https://www.arduino.cc/en/Main/ArduinoBoardMega2560).

A placa possui praticamente a mesma largura que o Arduino Uno, com 53,3

mm, mas um comprimento quase 50% maior, com 101,52 mm. Sua massa também é

quase 50% maior, possuindo 37 g. Sua proporção é deste tamanho para atender o

Page 33: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

18

número de portas existentes, sendo 39 portas de entrada e saída de dados digitais, 15

portas de entrada e saída de dados PWM e 16 portas de entrada de dados analógicos.

O processador da placa é o ATmega2560 (Atmel Datasheet), com 16 MHz de

clock. A placa possui 256 KB de memória Flash, 8 KB de memória SRAM e 4 KB de

memória EEPROM. A tensão de operação das portas de entrada e saída de dados é de 3

a 5 V, suportando correntes de 20 a 50 mA. Para a alimentação do Arduino Mega, são

suportadas tensões de 7 a 12 V.

O preço da placa encontrada no mercado americano está em torno de US$ 39,00

(https://www.amazon.com/) e, no cenário nacional, o preço da placa está em torno de

R$ 80,00 (http://www.filipeflop.com/ e http://www.mercadolivre.com.br/).

Figura 13 - Arduino Mega

(https://www.arduino.cc/en/Main/ArduinoBoardMega2560)

3.2 – A configuração da placa

O Arduino IDE é o software opensource do Arduino idealizado para os

desenvolvedores e projetistas criarem os seus respectivos códigos e realizarem o upload

destes para a placa Arduino. O sistema é suportado tanto em Windows, quanto em Mac

e em Linux e é estruturado de forma a oferecer ao desenvolvedor um editor de texto, um

compilador com interface de resposta, um guia de exemplos de códigos e, além disso,

possa transferir os comandos para a placa, tudo isso em um mesmo ambiente

(https://www.arduino.cc/en/Main/Software).

Page 34: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

19

A linguagem de programação reconhecida pelo Arduino e seu compilador é

baseada nas linguagens C e C++, de forma que o código C é totalmente compatível com

o código da IDE do Arduino, que possui também algumas funções orientadas a objeto.

Os códigos do Arduino são divididos em três sessões principais: a estrutura, os valores e

as funções.

A estrutura do código começa separando duas funções principais para o

programa: Setup e Loop. A função Setup é executada uma vez automaticamente ao

Arduino ser ligado e pode voltar a ser executada, caso seja realizada uma referência

para a mesma. Esta função serve para realizar a configuração das portas utilizadas e

inicializar variáveis utilizadas pelo sistema. Já a função Loop, é uma função que é

executada repetidas vezes, enquanto o sistema está ligado. Sempre que a função chega

ao fim, volta a ser executada pelo início. Esta função serve para realizar o controle do

sistema, analisando as novas entradas recebidas e efetuando alterações nas portas de

saída. Além das funções Setup e Loop, a sessão de estrutura também está relacionada à

sintaxe do código e ao controle de estrutura, como iterações, operações aritméticas,

lógicas e com ponteiros; e sintaxe de relacionamento com bibliotecas e de comentários

de código; que são as mesmas às utilizadas pela linguagem C

(https://www.arduino.cc/en/Reference/HomePage).

Page 35: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

20

Figura 14 - Arduino IDE e a estruturação

Os valores são uma sessão dividida entre constantes e variáveis. As constantes,

além das utilizadas pela linguagem C, também correspondem às variáveis utilizadas

para relacionar entradas e saídas de dados, como as constantes INPUT e OUTPUT,

além de constantes relacionadas a valores lógicos, como HIGH, que corresponde ao

valor lógico 1 e a tensões maiores que 3V, e LOW, que corresponde ao valor lógico 0 e

a tensões menores que 2V. Já as variáveis, são todas relacionadas às variáveis da

biblioteca C com adição da variável String, presente na biblioteca C++.

A sessão de funções está relacionada às ferramentas de entrada e saída de dados,

além de tratamento matemático, trigonométrico, lógico e binário e de verificação de

caracteres obtidos pelo sistema. Algumas dessas funções também estão presentes na

biblioteca C e C++, além de outras funções já relacionadas à parte eletrônica do sistema.

Page 36: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

21

Figura 15 - Exemplos no Arduino IDE

3.3 – Projetos Sociais

O Arduino, por ser uma ferramenta de baixo custo e de inúmeras possibilidades

de desenvolvimento, possui projetos realizados em diversos ramos de estudo, inclusive

o ramo de projetos sociais e projetos voltados à saúde. Pelo grande número de

desenvolvedores, o número de projetos também é elevado, o que leva a uma quantidade

grande de criações e ideias novas.

Alguns desses projetos também realizam estudos sobre o uso de

microcontroladores Arduinos para realizar projetos voltados à deficientes físicos, como

é o caso do protótipo de auxílio à prática de natação para pessoas com deficiência visual

(Medeiros at al., 2013). Nesse projeto foi implementado por meio de um Arduino,

emissores e receptores de luz infravermelha e de motores vibratórios um mecanismo de

auxílio a deficientes visuais que possa substituir ao tapper, que é utilizado hoje para

avisar a um praticante de natação e deficiente visual quando que este se aproxima à

borda da piscina.

Outro projeto voltado a deficientes físicos utilizando a Arduino é a Lixeira

Automatizada (Almeida at al., 2016). Este projeto elaborou um dispositivo que utiliza

um Arduino e um Servo Motor, automatizando o levantamento da tampa da lixeira e

evitando o contanto de um cadeirante com a mesma, aumentando o conforto e

impedindo a contaminação de bactérias.

Page 37: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

22

Como uma forma de solucionar o problema de deficientes visuais não

reconhecerem o alfabeto romano, impedindo que muitas vezes não sejam capazes de

assinar o próprio nome em documentos, foi criado o projeto de reconhecimento deste

alfabeto por meio de uma placa de estimulação tátil controlada por um Arduino (Vidal

at al., 2015). Neste dispositivo o usuário tem sete botões de entrada de dados para que

possa inserir a letra em braile e assim receber no sensor tátil a letra correspondente no

alfabeto romano.

Figura 16 - Protótipo da lixeira automatizada (Vidal at al., 2015)

Page 38: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

23

Capítulo 4

Desenvolvimento do Projeto

O desenvolvimento do projeto de integração do Armband Myo com o Arduino

para o auxílio de portadores de necessidades especiais inicializou com o planejamento

da interface do usuário, a fim de dispor de um jeito simples as opções do sistema e um

método de como o usuário seria capaz de navegar por entre elas.

Após a criação da interface do usuário, foram verificadas as maneiras de

controle de cada elemento do ambiente. Os equipamentos foram testados

individualmente e, separadamente, foram criadas soluções para cada um deles.

Por fim, foi testado o meio de comunicação entre os módulos de controle de

equipamento e o centro de comando utilizado pelo usuário.

4.1 – Dispositivo de interface do usuário

Como soluções para o controle dos equipamentos via Armband Myo, foram

planejados dois métodos de interface para o usuário. O primeiro método foi utilizar cada

gesto reconhecido pelo Armband para controlar um dispositivo específico. Desta forma,

o usuário teria um controle rápido de cada equipamento, bastando fechar os dedos para

acender e apagar as luzes ou virar o braço para controlar a tv. O segundo método foi de

utilizar um menu através um painel de LCD, em que os gestos reconhecidos pelo

Armband fossem capazes de navegar. Assim, ao virar o braço o usuário poderia mudar a

opção selecionada, ao fechar a mão, escolher uma opção, ou ao esticar os dedos, voltar

para o menu principal.

Apesar de ser um método de controle mais lento que o primeiro e a necessidade

de um painel em LCD, foi escolhida a implementação do modelo de menu. Com este

modelo o usuário tem à sua disponibilidade mais opções de ação, não se limitando ao

número de gestos reconhecidos pelo sistema. Além do menu, para cada equipamento foi

criado um submenu, para que o usuário pudesse mandar comandos mais precisos para

cada equipamento, como a escolha de um canal na televisão, ou para fechar mais a

cortina. A escolha do segundo modelo, prioriza no projeto a quantidade de

Page 39: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

24

equipamentos a serem controlados e a quantidade de opções em cada equipamento ao

invés da escolha da velocidade do controle de ação, pensando que o mais importante

para o usuário seria o acesso a este controle que é difícil ou privado, do que a um

controle limitado.

4.1.1 – Circuitos e módulos utilizados

A interface utilizada para o usuário necessita de algum retorno ao usuário para

que este saiba o que está sendo selecionado e o que cada comando utilizado irá realizar

em seguida. Portanto, foi utilizado um sistema de visor através de um visor LCD com

20 colunas e 4 linhas, capaz de informar a opção selecionada pelo usuário, a próxima e a

anterior.

O Display LCD utilizado é do modelo LCD 20x04 Blacklight Azul, com 98 mm

de comprimento, 60 mm de largura e 14 mm de altura e um visor de 76 mm x 26 mm

(Datasheet RT204-1). O módulo contém 8 pinos de transmissão e recepção de dados,

sendo possível utiliza-lo também com somente 4. Além destes, possui mais 8 pinos para

alimentação de 5 V e controle de brilho, que é utilizado por meio de um regulador de

tensão através de um circuito com potenciômetro. O seu preço no mercado brasileiro

está em torno de R$ 40,00 (http://www.filipeflop.com/).

Figura 17 - LCD 20x04

(http://www.filipeflop.com/)

Page 40: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

25

4.1.2 – Diagrama

Figura 18 - Diagrama de blocos do microcontrolador central

O usuário utiliza o Armband Myo e tem as opções de fazer as poses de punho,

de abertura dos dedos, do aceno para fora e do aceno para dentro. O interpretador

analisa os comandos realizados pelo Armband e envia para o programa principal em que

pose que o Armband se encontra. O programa principal analisa o comando atual e, caso

o comando atual seja diferente do comando anterior, significa que o usuário executou

alguma ação.

Caso a ação seja da pose de punho e está sendo verificado o menu, é configurado

no programa principal a verificação de submenu, recebendo as informações das ações

possíveis de cada equipamento e passando-as ao usuário através do display LCD. Caso

esteja sendo verificado o submenu, é enviado o comando para o Arduino controlador

deste equipamento com o código referente ao comando a ser realizado.

Caso a ação seja de aceno para dentro ou para fora, o programa principal altera o

índice da opção atual e o envia para as opções de menu ou de submenu, dependendo dos

status do momento. Ao receber o comando ou equipamento recebido pelo menu,

informa ao usuário através do display LCD.

Page 41: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

26

Se a ação do usuário for da abertura dos dedos, o menu principal configura a

opção de verificar o menu e retorna o índice ao seu valor inicial, informando ao usuário

as opções iniciais do menu.

4.2 – Dispositivo para controle da iluminação

Em qualquer ambiente, a iluminação tem papel fundamental para uma boa

qualidade de vida. A necessidade de ajuda para controlar a luminosidade de um

ambiente pode ser algo realmente desconfortável, então foi criado um dispositivo para

realizar esse controle.

4.2.1 – Circuitos e módulos utilizados

A lógica do dispositivo é a utilização de um circuito eletrônico utilizando um

controlador Arduino Mini ou Arduino Nano, para impactar minimamente no espaço

físico, junto com um relé que chaveia o circuito elétrico da lâmpada (SDR Datasheet). O

circuito eletrônico é energizado por meio da própria rede elétrica que está controlando.

O relé é configurado de forma Normal Fechado (NC), visando uma facilidade

para o usuário. Caso haja a perda do controle do circuito com o circuito no modo

Aberto, basta reiniciar o sistema para que se tenha o controle manual comum.

O módulo de relé utilizado já vem com o circuito de controle do transistor

previamente soldado, necessitando apenas de entradas digitais para o reconhecimento

do estado. Sua largura é de 34 mm, o seu comprimento de 27 mm e sua altura de 17

mm. A tensão máxima de carga é de 240 VAC e sua corrente máxima de carga de 10 A.

O seu preço é em torno de R$ 9,00 no mercado brasileiro (http://www.filipeflop.com/).

Page 42: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

27

Figura 19 - Modulo de relé SDR utilizado (http://www.filipeflop.com/)

4.2.2 – Diagrama

Figura 20 - Diagrama de Blocos do Microcontrolador da Iluminação

O Arduino responsável pelo controle da iluminação tem dois blocos para fazer a

atuação sobre o relé. No primeiro bloco, o Arduino espera alguma mensagem ser

recebida pelo receptor. Como todos os comandos enviados são enviados pelo mesmo

canal, ao receber uma mensagem, é necessária uma verificação do conteúdo para saber

se a mensagem se destina a este Arduino ou a outro.

Sendo a mensagem destinada a este microcontrolador, o verificador da

mensagem recebida envia o comando para o interpretador de comandos que,

dependendo do código enviado, atua sobre o relé abrindo ou fechando seu circuito.

Page 43: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

28

4.3 – Dispositivo para controle da televisão

A televisão, além do computador e de dispositivos móveis, que já são

controlados pelo Armband Myo por meio de aplicativos, é um dos meios de

entretenimento mais comuns em uma residência ou quarto hospitalar. Efetuar o controle

do volume do aparelho e do canal assistido transforma o usuário em uma pessoa

independente para se ter diversão no dia a dia.

Para realizar o controle do aparelho de televisão, foram selecionadas as funções

mais utilizadas pelo controle remoto: ligar/desligar o aparelho, aumentar e diminuir o

volume, subir e descer um canal. Afim de realizar essas funções, foi criado um circuito

verificador de código de envio capaz de capturar os comandos enviados do controle

remoto para a televisão. Com os códigos de envio capturados, estes mesmos códigos

foram utilizados em outro circuito, com um LED infravermelho que, ao enviar os

códigos configurados, atuava da mesma maneira que o controle remoto.

Apesar de serem circuitos simples de se montar, os sinais enviados de cada

fabricante de televisão são diferentes entre si, o que gera a necessidade de, para cada

aparelho de televisão de fabricantes diferentes utilizado pelo usuário, realizar a captura

dos sinais enviados pelo controle remoto e configurar no circuito de envio.

4.3.1 – Circuitos e módulos utilizados

O circuito de verificação de códigos utiliza da integração de um Arduino com

um sensor receptor infravermelho (TL1838 Datasheet). O sensor tem três pinos de

conexão, um para o Vcc, outro para o GND e o terceiro para uma das entradas de dados

do Arduino. Quando é enviado um código infravermelho pelo controle remoto, o sensor

o envia para o microcontrolador que interpreta o sinal.

O valor desse sensor no mercado nacional está próximo a R$ 2,00 por unidade

(http://www.eletrogate.com). Suas dimensões são de 30 mm de comprimento e 5 mm de

largura.

Para enviar os comandos para a televisão, é utilizado um LED que atua na faixa

de frequência da luz infravermelha, que é conectado à saída de dados do Arduino e a um

resistor que se liga ao GND, para que envie os comandos através da fonte luminosa

(TSAL6100 Datasheet).

Page 44: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

29

O valor do LED infravermelho no mercado nacional está próximo a também R$

2,00 por unidade (http://www.filipeflop.com/).

Figura 21 – Sensor TL1838 e LED TSAL6100 infravermelhos (http://www.eletrogate.com)

4.3.2 – Diagrama

Figura 22 - Diagrama de blocos do microcontrolador da TV

O Arduino controlador do aparelho de televisão tem três blocos para realizar o

controle. O primeiro bloco é similar ao bloco de verificação utilizado para o controle da

iluminação, alterando somente a configuração para detectar os comandos enviados para

o controle da TV.

A diferença entre blocos de interpretação dos comandos está no modo de

atuação. O bloco interpretador de comandos do microcontrolador da TV, ao receber a

mensagem, envia um fluxo de mensagens para o LED infravermelho, transmitindo

mensagens previamente configuradas que atuam no receptor infravermelho do aparelho

de televisão.

Page 45: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

30

4.4 – Dispositivo para controle da TV por assinatura

Complementando o dispositivo para realizar o controle das funções do aparelho

de televisão, foi implementado outro dispositivo capaz de controlar as funções da TV

por assinatura.

Apesar de não ser tão comum nas casas de brasileiros como a televisão aberta, a

televisão por assinatura, para quem tem a possibilidade de fazê-lo, é uma fonte de

entretenimento de fundamental controle, tornando este dispositivo importante para que

o dispositivo do controle do aparelho de televisão não seja implementado somente nas

casas de pessoas sem a assinatura.

Como a televisão por assinatura possui muitos canais a mais que a televisão de

canal aberto, podendo a chegar a centenas, trocar de canal escolhendo o próximo ou o

anterior poderia se tornar algo cansativo e ineficiente em alguns casos. Para solucionar

esse problema, foi criada uma opção complementar: a escolha de um canal favorito. O

canal favorito é uma opção que se inicializa no sistema como não configurada e, ao

usuário selecionar pela primeira vez, ele define um canal que é gravado na memória do

programa. Com o canal favorito já configurado, o usuário, quando seleciona esta opção

do menu, é enviado para um submenu que tem as opções de acessar o canal configurado

ou reconfigurar o canal.

O método para descobrir o código enviado pelo controle remoto para o

equipamento de televisão por assinatura foi o mesmo utilizado para o dispositivo de

controle do aparelho de televisão.

Page 46: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

31

4.4.1 – Diagrama

Figura 23 - Diagrama de blocos do microcontrolador do aparelho de TV por assinatura

O diagrama de blocos do Arduino controlador do aparelho de televisão por

assinatura tem apenas uma diferença com relação a estrutura do Arduino controlador do

aparelho de TV. A diferença é na mensagem recebida do Arduino central, que pode

estar contendo mais de um código de controle na mesma mensagem transmitida. Para

tratar essa diferença de funcionamento, o bloco verificador de mensagem recebida

percorre toda a mensagem e vai enviando para o interpretador de comandos cada um

dos códigos até o fim da mensagem.

4.5 – Controle do Ar Condicionado

Um equipamento eletrônico ligado à qualidade de vida principalmente em um

país tão quente quanto o Brasil é o ar condicionado, ou o ventilador. Um equipamento

que para ser mais eficiente deve ser instalado nos lugares mais altos do cômodo,

tornando difícil acesso para portadores de necessidades especiais motoras. Além da

Page 47: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

32

possibilidade de controle remoto, é possível o controle pelo Armband Myo, dando aos

usuários a capacidade de se refrescarem sem necessitar do auxílio de outras pessoas.

Como são aparelhos com modelos muito distintos, o dispositivo de controle do

ar condicionado/ventilador não segue um modelo padrão, existindo duas formas para

realizar o controle. A primeira forma é utilização do circuito com um relé, como o

módulo de controle da iluminação. Essa forma é voltada para ventiladores e aparelhos

de ar condicionado mais antigos, sem controle via controle remoto. Assim, o Armband

Myo é capaz de controlar o chaveamento do relé que, por sua vez, conecta ou

desconecta o circuito de alimentação do aparelho, ligando ou desligando. A segunda

forma de controle é a utilização do circuito com um LED infravermelho, como o

módulo do aparelho de televisão e da tv por assinatura. Esta forma é focada nos

aparelhos mais modernos com controle via controle remoto, o que torna capaz a análise

do código enviado pelo controle com o sensor infravermelho e o envio do código

aprendido com o circuito utilizando o LED com espectro de luz infravermelha.

4.6 – Controle da Cortina

O último item a ser controlado via Armband Myo é a cortina, ou a persiana.

Outro meio capaz de controlar a iluminação do ambiente, dando maior conforto para

uma noite mais tranquila, diminuindo o calor de um dia com sol forte à janela, ou capaz

de providenciar vistas deslumbrantes, a cortina está totalmente correlacionada à

qualidade de vida ao dia a dia de uma pessoa.

Para abrir e fechar a cortina, um usuário com mobilidade reduzida pode ter

muita dificuldade para se locomover até a corda, assim como para ter força ou o jeito de

manejar a corda de controle. O dispositivo para realizar o controle da cortina fornece

aos usuários as opções básicas de fechar e abrir uma parte da cortina, permitindo ao

usuário o controle da quantidade de luz incidente no ambiente.

O controle da cortina é realizado por um microcontrolador que se conecta a um

servo motor (43R Servo Datasheet), encaixado e preso por meio de uma estrutura

montada, que movimenta a engrenagem da cortina. O motor é acionado por um

determinado intervalo de tempo e depois para, esperando um novo comando. Para

alimentar o circuito, o sistema deve ser conectado a uma fonte DC de 9 a 12 V. Uma

bateria não seria recomendada porque o motor consome muita energia e a troca seria

necessária em um intervalo curto de tempo.

Page 48: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

33

4.6.1 – Circuitos e módulos utilizados

O microcontrolador utilizado no circuito é um Arduino Nano ou um Arduino

Mini, para impactar minimamente no tamanho e no peso para montar a estrutura

conectada à cortina.

O motor utilizado para movimentar a engrenagem da cortina é um Servo Motor

de 360º(43R Servo Datasheet). Capaz de 60 rotações por minuto e um torque de

3,3km/cm quando alimentado por uma porta de 5 V do Arduino. Consegue operar de

4,5 V até 6 V e tem dimensões de 42 mm de comprimento, 39,5 mm de largura e 20,5

mm de altura. Tem uma massa de 44 g e acompanha uma hélice de 6 dentes para

realizar o encaixe com a engrenagem.

O preço do Servo Motor de rotação contínua no cenário nacional está em torno

de R$ 70,00, já o preço da fonte de 9V com alimentação de 2 A está em torno de R$

15,00.

Figura 24 - Servo Motor com hélice de 6 pontas

Page 49: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

34

4.6.2 – Diagrama

Figura 25 - Diagrama de blocos do microcontrolador da cortina

O diagrama de blocos do Arduino controlador da cortina segue o mesmo modelo

dos microcontroladores de execução. A diferença nesse caso é a utilização de um bloco

de temporização. Este bloco atua sobre o interpretador de comandos que liga ou desliga

a tensão sobre o Servo Motor. Assim, a engrenagem da cortina só gira por um

determinado intervalo de tempo previamente configurado, permitindo o controle de

vários níveis de comprimento da cortina.

4.7 – Comunicação entre Arduinos A comunicação entre os microcontroladores é fundamental para que o Armband

Myo, que é a conexão entre os microcontroladores, o usuário e os módulos

controladores de dispositivos sejam integrados.

As conexões entre os módulos de controle devem ser feitas de modo que facilite

a implementação da solução no cômodo. Deve-se utilizar uma comunicação sem fio,

para não precisar passar cabeamento por todo o ambiente, que seja capaz de atender as

limitações da distância de um quarto.

As comunicações sem fio para o Arduino são de três tipos. Uma comunicação

via wifi, interligando os dispositivos por meio de redes IP; uma comunicação via

Bluetooth, uma conexão de menor consumo energético e ponto a ponto; e uma conexão

via rádio, mais barata, mas com módulos diferentes para envio e recepção de dados.

Como não é necessário nenhum envio de dados entre os dispositivos atuadores nos

Page 50: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

35

equipamentos eletrônicos para o dispositivo de contato com o usuário, foi escolhida a

comunicação via rádio para baratear os custos da solução.

4.7.1 – Circuitos e módulos utilizados

Para a implementação do transmissor de dados em rádio frequência foi utilizado

o módulo de circuito sem fio MX-FS-03V (MX-FS-03 Datasheet). Capaz de enviar

dados modulados em amplitude na frequência de 433 MHz a uma distância de até 200

m, o transmissor tem a potência de transmissão de 10 mW, operando entre 3,5 e 12 V e

sendo capaz de transmitir os dados com uma taxa de 4 KB/s. Possui o comprimento e a

altura de 19 mm e a largura de 7 mm, com somente um pino para a recepção de dados

do Arduino e mais dois para o GND e VCC.

O módulo de recepção utilizado foi o MX-05V (MX-05V Datasheet), que

complementa o módulo de transmissão. Este opera com a tensão de 5 V e uma corrente

de 4 mA, tendo a frequência de recepção de 433 MHz com uma sensibilidade de 105

dB. Suas dimensões são de 30 mm de comprimento, 7 mm de largura e 14 mm de

altura, com dois pinos para transmissão de dados para o Arduino e mais dois para o

GND e VCC.

O valor do par de transmissor e receptor no mercado nacional está em torno de

R$7,00 a R$ 12,00, sendo difícil de encontrar uma venda separada.

(http://www.filipeflop.com/)

Figura 26 - Módulo Transmissor e Receptor em RF (http://www.filipeflop.com/)

Page 51: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

36

Capítulo 5

Resultados e discussão 5.1 – Controle dos equipamentos

Os resultados mais diretamente encontrados são os resultados do controle de

cada equipamento disposto a se estudar. Alguns deles sendo mais precisos e estáveis,

outros precisando de ajustes mais finos para que ocorresse o funcionamento.

Os melhores resultados encontrados foram no controle da iluminação e no

controle da televisão por assinatura. O controle da iluminação, por ser apenas o controle

do chaveamento de um relé, acabou sendo um item mais estável, já que a conexão entre

o microcontrolador e o relé era direta e não dependia da interpretação de sensores para o

reconhecimento dos comandos. O controle da televisão por assinatura, apesar de

depender da comunicação do LED infravermelho com o sensor receptor de luz

infravermelha do aparelho de TV por assinatura, apresentou melhores resultados porque

os códigos utilizados pela NET, a televisão por assinatura estudada neste protótipo, são

codificados com 32 bits pelo padrão da empresa japonesa NEC, que permitiu a

utilização da biblioteca opensource para o Arduino IRremote

(https://github.com/z3t0/Arduino-IRremote). Com essa biblioteca, se é capaz de enviar

e receber sinais infravermelhos em diferentes padrões conhecidos, entre eles, o NEC

(http://www.sbprojects.com/knowledge/ir/nec.php).

Para o controle das funções do aparelho de televisão e do ar condicionado, os

resultados foram mais complicados de se conseguir. A televisão utilizada foi da marca

Buster e o aparelho de ar condicionado da marca Eletrolux. Esses equipamentos, ao

contrário do aparelho da NET, não utilizavam padrões mundiais já configurados na

biblioteca IRremote. Para solucionar esse problema, foi utilizada a mesma biblioteca,

mas sem a utilização de padrões de comandos. Esta biblioteca permite a captura da

sequência de pulsos de luz infravermelha modulados em 38 KHz, que são salvos em um

vetor. Cada código tem seu vetor específico salvo na memória Flash do Arduino e

quando o comando é escolhido, a mesma sequência capturada previamente é enviada

Page 52: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

37

pelo LED infravermelho, permitindo a captura e processamento da mensagem pelo

receptor infravermelho do aparelho a ser controlado.

O controle da cortina também teve resultados bons, mas que dependeram de

grandes ajustes precisos para que a estrutura fosse montada. A necessidade de o motor

estar precisamente conectado à engrenagem que é responsável pela movimentação da

cortina foi a causa de todo o ajuste. Além disso, foi necessário um suporte como

contrapeso para equilibrar o conjunto, devido à grande movimentação do motor ao ser

ligado. Apesar de toda a dificuldade de montar a estrutura, esta serviu de apoio para o

circuito de controle do Arduino, deixando o conjunto estável e, se preso corretamente ao

teto, sem maiores riscos de desmontar.

Figura 27 - Cortina com o Sistema do Servo Motor montado

A maior dificuldade nos sistemas de controle dos equipamentos foi na

alimentação. A ideia de fazer circuitos que não necessitem de trocas habituais de

bateria, levou à necessidade de haver uma fonte conectada à tomada para a alimentação

dos circuitos controladores. No caso do circuito controlador da iluminação, este

problema foi irrelevante, para os controladores da TV e da TV por assinatura também

teve impactos pequenos, devido à necessidade de uma proximidade à alimentação

elétrica. No caso do controle do ar condicionado, em alguns casos a alimentação é feita

através de um circuito dedicado ao aparelho e em muitas vezes o aparelho fica próximo

ao teto, o que dificultam as chances de haver alimentações elétricas por perto. Como

esse circuito é composto pelo Arduino, por um receptor em rádio frequência e por um

LED infravermelho, o seu consumo é mais baixo comparado aos demais controladores,

Page 53: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

38

sendo levada em consideração a chance de realizar a alimentação por baterias, já que

não necessitariam da troca com uma frequência tão alta a ponto de impactar na solução.

O circuito com maiores problemas foi o de controle da cortina. Por não ser um

equipamento elétrico, ficar na altura do teto e ser o circuito que mais consome energia,

por causa da utilização do Servo Motor, a dificuldade de chegar a alimentação do

circuito foi um dos grandes desafios a serem resolvidos.

5.2 – Melhorias tecnológicas

O Arduino controlador central do sistema do quarto inteligente e o meio de

interface com o usuário conseguiu realizar todas as suas funções propostas. Quando

utilizado o Arduino Uno, com a versão atual foi utilizada mais de 95% da memória

RAM disponível no equipamento. Apesar disto não ter impactado na performance, é um

fator que limita a possibilidade de novos avanços em versões posteriores. Quando

testado com o Arduino Mega, o resultado também foi um sucesso na performance e o

problema da memória não se mostrou impactante para as próximas versões, permitindo

o estudo do controle de novos utensílios domésticos e do controle mais completo dos

aparelhos já estudados nesta versão.

Um dificultador do sistema utilizando o Arduino como controlador central foi a

necessidade de junto ao Arduino ser necessário um computador com sistema

operacional Windows ou Mac. Esse computador era necessário para executar o software

de recepção dos comandos do Armband Myo e, através de um programa de integração

entre o Armband e o Arduino, passar via cabo USB os dados obtidos para o processador

do Arduino. Para resolver essa necessidade, já foi estudada a substituição do

microcontrolador central utilizando o Arduino por um que utilize o microcontrolador

Raspberry Pi 3 (https://www.raspberrypi.org/products/raspberry-pi-3-model-b/).

O Raspberry Pi 3 é um microcontrolador mais potente e um pouco diferente do

Arduino. Possui um processador de 1,2 GHz com 64 bits, quatro núcleos e com

arquitetura ARMv8, Wifi, de tecnologia 802.11n, e Bluetooth, versão 4.1 e de baixo

consumo de energia, já inclusos. Além disso, uma memória RAM de 1 GB, 4 portas

USB, uma porta HDMI, uma porta Ethernet e um conector de 3,5mm para áudio e vídeo

composto. Para sua alimentação é necessária uma fonte de tensão 5 V e corrente de 2 A.

O Raspberry Pi é considerado um minicomputador porque tem um encaixe para um

cartão micro-SD, em que podem ser instalados diversos sistemas operacionais, a

Page 54: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

39

maioria baseados em Linux. Assim como o Arduino, também possui pinos para a

entrada e saída de dados, que o tornam capaz de se comunicar com outros

microcontroladores e com circuitos eletrônicos. O Raspberry Pi 3 possui 40 pinos,

sendo 26 para a entrada e saída de dados e os outros 14 para a alimentação dos circuitos.

O preço do Raspberry Pi 3, no mercado nacional, está em torno de R$ 300,00. Enquanto

isso, no mercado americano, o microcontrolador tem o preço no entorno de US$ 35,00.

Figura 28 - Raspberry Pi 3

(https://www.raspberrypi.org/products/raspberry-pi-3-model-b/)

Com essas características, torna possível a comunicação entre o Raspberry Pi e

os outros Arduinos através de códigos em rádio frequência. Porém, é necessário um

novo estudo para realizar esse controle, já que a programação para o Raspberry Pi não

utiliza das mesmas funções das do projeto para o Arduino. Para realizar a comunicação

com o Armband Myo também há uma nova dificuldade. Como o software de

comunicação do Armband com o computador, por enquanto, é desenvolvido somente

para sistemas operacionais Mac e Windows, seria necessário usar uma adaptação já

criada em opensource para a implementação em sistemas Linux. Um benefício dessa

adaptação, é a possibilidade de uma maior utilização dos dados provenientes do

Armband Myo, já que os comandos não seriam mais restritos aos utilizados pela

aplicação de transferência de dados do computador para o Arduino.

Page 55: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

40

5.3 – Preço

O preço do produto final é um grande impactante para a viabilidade do projeto

no mercado brasileiro e internacional. A seguir, é apresentado um resumo dos

equipamentos utilizados e o cálculo do preço do projeto.

Sensor Muscular

1 Armband Myo – US$ 199,00. No momento, em torno de R$ 620,00 +

Impostos, que podem chegar até mesmo ao valor do produto.

Microcontroladores

1 Arduino Uno + 5 Arduinos Nano/Mini – R$ 50,00 + 5 x R$ 30,00 =

R$ 200,00

Ou

1 Arduino Mega + 5 Arduinos Nano/Mini – R$ 80,00 + 5 x R$ 30,00 =

R$ 230,00

Ou

1 Raspberry Pi 3 + 5 Arduinos Nano/Mini – R$ 300,00 + 5 x R$ 30,00 =

R$ 450,00. Sendo considerada a importação do Raspberry Pi, o valor

pode diminuir cerca de R$ 100,00. Além disso, pode ser estudada a

viabilidade de utilizar versões mais simples do Raspberry Pi.

Módulos de controle e comunicação

1 Servo Motor – R$ 70,00

1 Emissor + 5 Receptores de códigos em rádio frequência – 5 x R$ 7,00

= R$ 35,00

1 Relé – R$ 9,00

3 LEDs Infravermelhos – 3 x R$ 2,00 = R$ 6,00

1 LCD 20x4 – R$ 40,00

Fontes de alimentação

5 Fontes para os Arduinos – 5 x R$ 15,00 = R$ 75,00

Page 56: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

41

Calculando todos os módulos utilizados e desconsiderando equipamentos para a

soldagem e montagem do suporte da cortina, resistores e fios, além da mão de obra e da

eventual necessidade de utilizar um computador, o projeto utilizando o Arduino Uno ou

o Arduino Mega custaria em torno de R$ 1.335,00 e R$ 1.650,00. Já o projeto

utilizando o Raspberry Pi 3, custaria em torno de R$ 1.585,00 e R$ 1.900,00. Pode não

ser um projeto barato, considerando o valor do salário mínimo brasileiro, porém, um

possível apoio do governo para o abatimento de impostos e a compra de material em

atacado podem ser fatores que diminuam o preço do produto.

Orçamento sensor 620 imposto sensor 620 microcontrolador 300 módulos de controle e comunicação 160 fontes de alimentação 100

Total 1800

Tabela 1 – Estimativa de gastos

Figura 29 – Percentual de cada item de acordo com a estimativa de gastos

Page 57: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

42

5.4 – Público alvo O público alvo do projeto, que são os portadores de deficiências motoras,

consegue por parte usar o dispositivo. O projeto não conseguiu atingir pessoas sem

ambos os braços, pessoas com paralisia e pessoas com a doença de Parkinson. Apesar

disso, nesta primeira versão, pessoas com um braço amputado, com ambos os braços

amputados até o cotovelo e pessoas com paralisia leve conseguem utilizar este

dispositivo afim de melhorar suas qualidades de vida.

Nas próximas etapas do projeto, visa-se estudar a utilização do Raspberry Pi

para implementar novas funções de reconhecimento dos gestos do usuário com

Armband Myo. Com essas novas funções, será possível o reconhecimento de gestos

mais simples, que até alguns tetraplégicos em tratamento são capazes de realizar. Além

disso, pode ser implementada uma função de filtragem dos sinais recebidos pela

transmissão do Armband Myo para o Raspberry Pi, assim sendo possível a melhor

utilização de pessoas portadoras da doença de Parkinson, que não são capazes de

controlar todo o movimento do braço. Poderia ser aplicado um filtro “passa-baixas”, em

que os sinais de baixa frequência representariam os sinais voluntários realizados pelo

usuário e os sinais em altas frequências, que seriam desconsiderados pelo filtro,

representariam os movimentos não voluntários do usuário, provenientes do sintoma das

mãos trêmulas da doença.

Esses dois públicos somados representam cerca de 350 mil pessoas no Brasil,

número que pode dar forças para a implementação do projeto no país.

Outra solução possível para os portadores de deficiência física, seria a utilização

de outro mecanismo mais barato de obtenção de dados provenientes de movimentos

voluntários dos usuários. Nesse caso, seria necessária a implementação de uma nova

forma de comunicação entre o mecanismo captador dos dados com o microcontrolador

central, mas a interpretação dos comandos e a comunicação com os módulos executores

podem ser reaproveitadas.

Será analisado, a partir do CIF, um público alvo mais limitado ao longo do

desenvolvimento futuro do projeto, para que possa se consolidar um produto mais

definido e a partir disso, realizar estratégias de marketing e de mercado para que o

produto chegue a este grupo.

Page 58: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

43

Capítulo 6

Conclusões

Existe um problema na sociedade brasileira que é a dependência de muitos

deficientes físicos de familiares ou profissionais da saúde para realizar

atividades básicas do dia a dia, seja no quarto de casa ou em um quarto

hospitalar.

O Armband Myo é capaz de capturar os gestos de usuários e utilizá-los para

realizar controle sobre equipamentos domésticos, dando aos deficientes físicos

motores uma maior autonomia e, assim, promovendo melhor qualidade de vida

destes indivíduos.

Foi possível, por meio da utilização de microcontroladores Arduinos integrados

com LEDs emissores infravermelhos, relés e Servo Motores, controlar

equipamentos eletrônicos presentes num quarto domiciliar ou hospitalar.

Para aumentar o público capaz de se beneficiar com o projeto, é necessário um

estudo aprofundado para a utilização de uma maior quantidade de dados

provenientes do Armband Myo, incluindo usuários tetraplégicos e portadores da

doença de Parkinson.

O preço do projeto atualmente está em torno de R$ 1.335,00 e R$ 1.900,00,

sendo necessária a análise de alguma forma de barateamento para que a

comercialização do produto seja viável.

Durante o desenvolvimento do projeto foi possível aumentar o conhecimento

dos números de deficientes no país, além de me aprofundar em tecnologias

novas, como o Armband Myo e integrar com tecnologias já conhecidas como o

Arduino, com uma aplicação inovadora.

Page 59: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

44

Referências

[1] MINISTÉRIO DA SAÚDE, Pesquisa Nacional de Saúde. P.23-33, 2013. Disponível em: <http://www.ibge.gov.br/home/estatistica/populacao/pns/2013/>.

[2] THELMIC LABS, Myo tech specs. Disponível em: <https://www.myo.com/techspecs/>.

[3] TECHREPUBLIC, Myo armband makes smartglasses hands free. Disponível em:

<http://www.techrepublic.com/article/myo-armband-makes-smartglasses-hands-

free/>

[4] COSENTINO, FERNANDO, Pyoconnect. Disponível em: <http://www.fernandocosentino.net/pyoconnect/>.

[5] THELMIC LABS, Download Myo Connect. Disponível em:

<https://www.myo.com/start>

[6] THELMIC LABS, Myo Developer. Disponível em:

<https://developer.thalmic.com/downloads>

[7] THELMIC LABS, Myo Market. Disponível em: < https://market.myo.com/>

[8] ALEEM IDRIS, Myosilk. Disponível em:

<https://market.myo.com/app/55955bf1e4b0f2c8982c90d9/myosilk>

[8] THALMIC LABS, Icarus Rising. Disponível em:

<https://market.myo.com/app/55392b70e4b02f8140d20a84/icarus-rising>

[9] THELMIC LABS, Myo. Disponível em: <https://www.myo.com/>

[10] DIMITRIS CHATZIPARASCHIS, SublimeText Connector. Disponível em:

<https://market.myo.com/app/55bbd712e4b0a4d28fe2a279/sublimetext-connector>

Page 60: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

45

[11] SARKAWT AZAD NOORI, Rhinoceros Controller. Disponível em:

<https://market.myo.com/app/549ca27fe4b03603dc2c69e8/rhinoceros-controller>

[12] DZSUBEK, Mailbox Gestures. Disponível em:

<https://market.myo.com/app/54aaa506e4b090ea5683e2bf/mailbox-gestures>

[13] GEEKYBEAVER, Trello Connector. Disponível em:

<https://market.myo.com/app/5494aa43e4b009360b85a97b/trello-connector>

[14] EZ-ROBOT, EZ-Builder. Disponível em:

<https://market.myo.com/app/54986643e4b009360b85a9d3/ez-builder>

[15] THALMIC LABS, Myo + Parrot 3.0. Disponível em:

<https://market.myo.com/app/559ec0cee4b0f2c8982c9164/myo--parrot-30>

[16] CBC NEWS, Johnny Matheny's prosthetic arm controlled by Thalmic Lab

armband. Disponível em: < http://www.cbc.ca/news/canada/kitchener-

waterloo/johnny-matheny-robotic-arm-uses-thalmic-labs-armband-1.3334199>

[17] ABDUO, M.; GALSTER M. Myo Gesture Control Armband for Medical

Applications. Department of Computer Science and Software Engineering,

University of Canterbury, Oct 16 2015. Disponível em:

<https://www.cosc.canterbury.ac.nz/research/reports/HonsReps/2015/hons_1502.pd

f>

[18] SATHIYANARAYANAN, M.; MULLING, T.; NAZIR, B. Controlling a Robot

Using a Wearable Device (MYO). International Journal of Engineering

Development and Research, v. 3, n. 3, p. 1-6, 2015. ISSN 2321-9939. Disponível

em:

<http://www.academia.edu/15519489/Controlling_a_Robot_Using_a_Wearable_D

evice_MYO_>

[19] ARDUINO, Arduino. Disponível em: <https://www.arduino.cc/>

Page 61: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

46

[20] ARDUINO, Compare board specs. Disponível em:

<https://www.arduino.cc/en/Products/Compare/>

[21] ARDUINO, Arduino UNO. Disponível em:

<https://www.arduino.cc/en/Main/ArduinoBoardUno>

[22] ARDUINO, Arduino Nano. Disponível em:

<https://www.arduino.cc/en/Main/ArduinoBoardNano>

[23] ARDUINO, Arduino Mini. Disponível em:

<https://www.arduino.cc/en/Main/ArduinoBoardMini>

[24] ARDUINO, Arduino MEGA 2560. Disponível em:

<https://www.arduino.cc/en/Main/ArduinoBoardMega2560>

[25] ARDUINO, Arduino IDE. Disponível em:

<https://www.arduino.cc/en/Main/Software>

[26] ARDUINO, Language Reference. Disponível em:

<https://www.arduino.cc/en/Reference/HomePage>

[27] ATMEL, Datasheet Atmel 8-Bit Microcontroller with 4/8/16/32KBytes in-system

programmable Flash. Disponível em: <http://www.atmel.com/images/Atmel-8271-

8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-

328P_datasheet_Complete.pdf>

[28] MARTINS, A. R. Q.; VARGAS, F.; SILVA, T. L.; PAZINATO, A. Uso da

robótica educacional como estímulo a criatividade. CINTED-UFRGS, v. 14, n. 1, Jul

2014. Disponível em: <http://seer.ufrgs.br/index.php/renote/article/view/67339>

[29] CAVALCANTIE, M. M.; SILVA, J. L. S.; VIANA, E. C., DANTAS, J. R. A

Plataforma Arduino para fins didáticos: Estudo de caso com recolhimento de dados a

partir do PLX-DAQ. XXXIV Congresso da Sociedade Brasileira de Computação, n.

1978, 2014. Disponível em: <http://www.lbd.dcc.ufmg.br/colecoes/wei/2014/0037.pdf>

Page 62: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

47

[30] VIDAL, F. B.; ESPINOSA, P. B.; LOMBA L. F. D. Placa de Estimulação Tátil de

Auxílio a Deficientes Visuais para Aprendizagem da Assinatura e do Alfabeto Romano.

Computer on the Beach, v. 1, p. 4-6, 2015. Disponível em:

<http://siaiap32.univali.br/seer/index.php/acotb/article/viewFile/7122/4041>

[31] ALMEIDA, M. R. L.; MAESTRA, D. E.; SOUZA, S. S. F.; LIMA, F. P. A.

Desenvolvimento de uma lixeira automatizada para deficientes físicos utilizando

arduino. ETIC 2016 – Encontro de Iniciação Científica, ISSN 21-76-8498.

Disponível em:

<http://intertemas.toledoprudente.edu.br/revista/index.php/ETIC/article/viewArticle/545

>

[32] MEDEIROS, A. C. A.; SILVA, F. M. C.; NASCIMENTO, M. A. A.; TEIXEIRA,

L. R. L. Protótipo de auxílio à prática de natação para pessoas com deficiência visual.

IX Congresso de Iniciação Científica do IFRN. p. 2630-2639, 2013. Disponível em:

<http://www2.ifrn.edu.br/ocs/index.php/congic/ix/paper/viewFile/1081/295>

[33] LCD20x04, RT204-1 Datasheet. Disponível em:

<http://img.filipeflop.com/files/download/Datasheet_Display_20x4.pdf>

[34] SONGLE RELAY, SDR Datasheet. Disponível em:

<http://elecfreaks.com/store/download/datasheet/breakout/Relay/SRD(T73).pdf>

[35] OPEN IMPULSE, TL1838 Datasheet. Disponível em:

<https://www.openimpulse.com/blog/document-viewer/?pdf_file=TL1838-Infrared-

Receiver-datasheet.pdf>

[36] VISHAY, TSAL6100 Datasheet. Disponível em:

<http://www.vishay.com/docs/81009/tsal6100.pdf>

[37] SPRINGRC, 43R Servo Datasheet. Disponível em:

<http://img.filipeflop.com/files/download/Datasheet_SM-S4306R.pdf>

Page 63: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

48

[38] ARDUINO, MX-FS-03 Datasheet. Disponível em:

<http://www2.units.it/ict/autina/progetto/doc/433MHz_RX-

TX/433MHz%20Wireless%20Modules%20MX-FS-03V%20&%20MX-05.pdf>

[39] ARDUINO, MX-05V Datasheet. Disponível em:

<http://www2.units.it/ict/autina/progetto/doc/433MHz_RX-

TX/433MHz%20Wireless%20Modules%20MX-FS-03V%20&%20MX-05.pdf>

[40] ELETROGATE, Eletrogate homepage. Disponível em:

<http://www.eletrogate.com>

[41] SB-PROJECTS, NEC Protocol. Disponível em:

<http://www.sbprojects.com/knowledge/ir/nec.php>

[42] GITHUB, Arduino IR Remote. Disponível em: <https://github.com/z3t0/Arduino-

IRremote>

[43] RASPBERRY, Raspberry PI 3 Model B. Disponível em:

<https://www.raspberrypi.org/products/raspberry-pi-3-model-b/>

[44] ORGANISAÇÃO MUNDIAL DA SAÚDE. Classificação Internacional de

Funcionalidade, Incapacidade e Saúde. Lisboa, 2004. Disponível em:

<http://www.inr.pt/uploads/docs/cif/CIF_port_%202004.pdf>

Page 64: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

49

Apêndice A

Código do Microcontrolador Central #include <stdio.h> #include <stdlib.h> #include <string.h> #include <LiquidCrystal.h> #include <MyoController.h> #include <IRremote.h> #include "VirtualWire.h" #define PORTA_TX 4 #define NUMERO_OPCOES 5 #define NUMERO_SUBOPCOES 6 #define MAX_TAM_NOME 11 #define MAX_CHAR_ENVIO 7 LiquidCrystal lcd(13, 12, 11, 10, 9, 8); IRsend irsend; char Valor_CharMsg[4]; enum bool3 {nao = 0, sim = 1, configurado = 2}; typedef enum bool3 tipo_opcao; typedef struct menu_sub_option{ char nome[MAX_TAM_NOME]; char codigo_envio[MAX_CHAR_ENVIO]; tipo_opcao configuravel; //0 -> nao, 1-> sim, 2-> configurado }type_sub_option; typedef struct menu_option { char nome[MAX_TAM_NOME]; type_sub_option sub_opcao[NUMERO_SUBOPCOES]; }type_menu_option; int indice_opcoes, indice_sub_opcoes, indice_tamanho_sub; type_menu_option opcoes[NUMERO_OPCOES]; char codigo_envioAux[MAX_CHAR_ENVIO - 1]; int indice_lcd = 0; MyoController myo = MyoController();

Page 65: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

50

char comando, comando_anterior, switch_menu; //Transmissor RF char msg_rf[MAX_CHAR_ENVIO]; void atualizar_lcd(){ int indice_aux; lcd.clear(); if(switch_menu == 'm') { lcd.setCursor(0, (indice_lcd%4)); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD lcd.print(">"); for(indice_aux = 0; ((indice_aux + 4*(indice_lcd/4)) < NUMERO_OPCOES) && (indice_aux < 4) ; indice_aux++) { lcd.setCursor(2, indice_aux); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD lcd.print(opcoes[indice_aux + 4*(indice_lcd/4)].nome); } } else if(switch_menu == 's') { lcd.setCursor(0, (indice_lcd%4)); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD lcd.print(">"); for(indice_aux = 0; (strcmp(opcoes[indice_opcoes].sub_opcao[indice_aux + 4*(indice_lcd/4)].nome, "\0"))&& (indice_aux < 4) && (indice_aux + 4*(indice_lcd/4) < NUMERO_SUBOPCOES) ; indice_aux++) { lcd.setCursor(2, indice_aux); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD lcd.print(opcoes[indice_opcoes].sub_opcao[indice_aux + 4*(indice_lcd/4)].nome); } } else if(switch_menu == 'c') { lcd.setCursor(0, 0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD lcd.print("Configurando:"); if(codigo_envioAux) lcd.print(codigo_envioAux); lcd.print("_"); lcd.setCursor(1, 1); lcd.print("0 2 4 6 8"); lcd.setCursor(1, 2); lcd.print("1 3 5 7 9"); lcd.setCursor(4, 3); lcd.print("FIM"); if(indice_lcd < 10) { if(!(indice_lcd%2))

Page 66: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

51

lcd.setCursor(indice_lcd/2*3,1); else lcd.setCursor((indice_lcd-1)/2*3,2); } else lcd.setCursor(3,3); lcd.print(">"); } else if(switch_menu == 'e') { lcd.setCursor(0, indice_lcd); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD lcd.print(">"); lcd.setCursor(2, 0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD lcd.print("Executar"); lcd.print(opcoes[indice_opcoes].sub_opcao[indice_sub_opcoes].codigo_envio); lcd.setCursor(10,0); // lcd.print(" "); // Colocando espaco no char referente ao aparelho lcd.setCursor(2, 1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD lcd.print("Configurar"); } } void executar_acao() { strcpy(msg_rf, opcoes[indice_opcoes].sub_opcao[indice_sub_opcoes].codigo_envio); send(msg_rf); Serial.print("Trasmitido: "); Serial.println(msg_rf); } void verificar_config() { if(opcoes[indice_opcoes].sub_opcao[indice_sub_opcoes].configuravel == sim) // configurar! { //configurar -> menu de configuracao switch_menu = 'c'; indice_lcd = 0; atualizar_lcd(); } if(opcoes[indice_opcoes].sub_opcao[indice_sub_opcoes].configuravel == configurado) // configurar ou executar { //deseja executar ou configurar? //configurar -> menu de configuracao //executar -> executar_acao(); switch_menu = 'e'; indice_lcd = 0; atualizar_lcd(); } }

Page 67: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

52

void calcular_subopcao() { for(indice_tamanho_sub = 1; (strcmp(opcoes[indice_opcoes].sub_opcao[indice_tamanho_sub - 1].nome,"\0") && (indice_tamanho_sub - 1 < NUMERO_SUBOPCOES)); indice_tamanho_sub++); } void send (char *message) { vw_send((uint8_t *)message, strlen(message)); vw_wait_tx(); // Aguarda o envio de dados } void setup() { int tam_subopcao; Serial.begin(9600); //Pino ligado ao pino DATA do transmissor RF vw_set_tx_pin(PORTA_TX); //Velocidade de comunicacao (bits por segundo) vw_setup(2000); lcd.begin(20, 4); //Configurando as opcoes e subopcoes for(int i=0; i<NUMERO_OPCOES; i++) { for(int j=0; j<NUMERO_SUBOPCOES;j++) { opcoes[i].sub_opcao[j].configuravel = nao; strcpy(opcoes[i].sub_opcao[j].nome, "\0"); } } strcpy(opcoes[0].nome, "TV"); strcpy(opcoes[0].sub_opcao[0].nome, "Power"); strcpy(opcoes[0].sub_opcao[0].codigo_envio, "Tp"); strcpy(opcoes[0].sub_opcao[1].nome, "Canal +"); strcpy(opcoes[0].sub_opcao[1].codigo_envio, "T+"); strcpy(opcoes[0].sub_opcao[2].nome, "Canal -"); strcpy(opcoes[0].sub_opcao[2].codigo_envio, "T-"); strcpy(opcoes[0].sub_opcao[3].nome, "Volume +"); strcpy(opcoes[0].sub_opcao[3].codigo_envio, "T>"); strcpy(opcoes[0].sub_opcao[4].nome, "Volume -"); strcpy(opcoes[0].sub_opcao[4].codigo_envio, "T<"); strcpy(opcoes[1].nome, "NET"); strcpy(opcoes[1].sub_opcao[0].nome, "Power"); strcpy(opcoes[1].sub_opcao[0].codigo_envio, "Np"); strcpy(opcoes[1].sub_opcao[1].nome, "Canal +"); strcpy(opcoes[1].sub_opcao[1].codigo_envio, "N+"); strcpy(opcoes[1].sub_opcao[2].nome, "Canal -"); strcpy(opcoes[1].sub_opcao[2].codigo_envio, "N-"); strcpy(opcoes[1].sub_opcao[3].nome, "Volume +");

Page 68: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

53

strcpy(opcoes[1].sub_opcao[3].codigo_envio, "N>"); strcpy(opcoes[1].sub_opcao[4].nome, "Volume -"); strcpy(opcoes[1].sub_opcao[4].codigo_envio, "N<"); strcpy(opcoes[1].sub_opcao[5].nome, "Favorito"); //strcpy(opcoes[1].sub_opcao[5].codigo_envio, ""); opcoes[1].sub_opcao[5].configuravel = sim; strcpy(opcoes[2].nome, "A.C."); strcpy(opcoes[2].sub_opcao[0].nome, "Ligar"); strcpy(opcoes[2].sub_opcao[0].codigo_envio, "Al"); strcpy(opcoes[2].sub_opcao[1].nome, "Desligar"); strcpy(opcoes[2].sub_opcao[1].codigo_envio, "Ad"); strcpy(opcoes[3].nome, "Lampada"); strcpy(opcoes[3].sub_opcao[0].nome, "Ligar"); strcpy(opcoes[3].sub_opcao[0].codigo_envio, "Ll"); strcpy(opcoes[3].sub_opcao[1].nome, "Desligar"); strcpy(opcoes[3].sub_opcao[1].codigo_envio, "Ld"); strcpy(opcoes[4].nome, "Cortina"); strcpy(opcoes[4].sub_opcao[0].nome, "Fechar"); strcpy(opcoes[4].sub_opcao[0].codigo_envio, "Cf"); strcpy(opcoes[4].sub_opcao[1].nome, "Abrir"); strcpy(opcoes[4].sub_opcao[1].codigo_envio, "Ca"); indice_opcoes = indice_sub_opcoes = 0; strcpy(codigo_envioAux, "\0"); switch_menu = 'm'; atualizar_lcd(); myo.initMyo(); comando = comando_anterior = 0; } void loop() { comando = Serial.read(); myo.updatePose(); switch ( myo.getCurrentPose() ) { case rest: comando = 'o'; break; case waveIn: comando = 's'; break; case waveOut:

Page 69: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

54

comando = 'd'; break; case fist: comando = 'e'; break; } if(comando_anterior != comando) { switch ( comando ) { case 's': if(indice_lcd > 0) { indice_lcd --; atualizar_lcd(); if(switch_menu == 'm') indice_opcoes--; if(switch_menu == 's') indice_sub_opcoes--; } break; case 'd': if(switch_menu == 'm') { if(indice_lcd < (NUMERO_OPCOES - 1)) { indice_lcd ++; atualizar_lcd(); indice_opcoes++; } } else if(switch_menu == 's') { if(indice_lcd < (indice_tamanho_sub - 2)) { indice_lcd ++; atualizar_lcd(); indice_sub_opcoes++; } } else if(switch_menu == 'e') { if(!indice_lcd) { indice_lcd++; atualizar_lcd(); } } else if(switch_menu == 'c') { if(indice_lcd < 10) { indice_lcd ++;

Page 70: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

55

atualizar_lcd(); } } break; case 'e': if(switch_menu == 's') { if (opcoes[indice_opcoes].sub_opcao[indice_sub_opcoes].configuravel == nao) //se nao tiver opcao de config executar_acao(); else verificar_config(); } else if(switch_menu == 'm') { switch_menu = 's'; indice_lcd = 0; calcular_subopcao(); atualizar_lcd(); } else if(switch_menu == 'e') { if(!indice_lcd) { executar_acao(); indice_lcd = 0; indice_sub_opcoes = 0; switch_menu = 's'; atualizar_lcd(); } else { switch_menu = 'c'; indice_lcd = 0; atualizar_lcd(); } } else if(switch_menu == 'c') { if(indice_lcd < 10) { int i; for(i=0; codigo_envioAux[i] != '\0'; i++); if(i < MAX_CHAR_ENVIO -3) { codigo_envioAux[i] = '0'+indice_lcd; codigo_envioAux[i+1] = '\0'; } atualizar_lcd(); } else { if(indice_opcoes == 1) {

Page 71: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

56

char aux2[MAX_CHAR_ENVIO]; aux2[0] = 'N'; aux2[1] = '\0'; strcat(aux2, codigo_envioAux); Serial.println(aux2); strcpy(opcoes[indice_opcoes].sub_opcao[indice_sub_opcoes].codigo_envio, aux2); } opcoes[indice_opcoes].sub_opcao[indice_sub_opcoes].configuravel = configurado; strcpy(codigo_envioAux, "\0"); switch_menu = 'e'; indice_lcd = 0; atualizar_lcd(); } } break; case 'f': if(switch_menu == 'c') { switch_menu = 's'; strcpy(codigo_envioAux, "\0"); } else if(switch_menu == 'e') switch_menu = 's'; else { switch_menu = 'm'; indice_opcoes = 0; } indice_lcd = 0; indice_sub_opcoes = 0; atualizar_lcd(); break; } } comando_anterior = comando; delay(100); }

Page 72: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

57

Apêndice B

Código do Microcontrolador do Aparelho

da NET #include <stdio.h> #include <stdlib.h> #include <string.h> #include <IRremote.h> #include "VirtualWire.h" //IR #define LED_PIN 3 //RF #define RECEPTOR 12 #define BITS_SEC 2000 //Bits per sec transmissor IRsend irsend; void analisarComando(char command) { vw_rx_stop(); switch(command) { case 'p': Serial.println("Power"); irsend.sendNEC(0xE17A48B7, 32); delay(40); break; case '+': Serial.println("Canal +"); irsend.sendNEC(0xE17A08F7, 32); delay(40); break; case '-': //canal - Serial.println("Canal -"); irsend.sendNEC(0xE17A58A7, 32); delay(40); break; case '>': // volume + Serial.println("Volume +"); irsend.sendNEC(0xE17AB04F, 32);

Page 73: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

58

delay(40); break; case '<': // volume - Serial.println("Volume -"); irsend.sendNEC(0xE17A708F, 32); delay(40); break; case '0': // botao 0 Serial.println("0"); irsend.sendNEC(0xE17A00FF, 32); delay(40); break; case '1': // botao 1 Serial.println("1"); irsend.sendNEC(0xE17A807F, 32); delay(40); break; case '2': // botao 2 Serial.println("2"); irsend.sendNEC(0xE17A40BF, 32); delay(40); break; case '3': // botao 3 Serial.println("3"); irsend.sendNEC(0xE17AC03F, 32); delay(40); break; case '4': // botao 4 Serial.println("4"); irsend.sendNEC(0xE17A20DF, 32); delay(40); break; case '5': // botao 5 Serial.println("5"); irsend.sendNEC(0xE17AA05F, 32); delay(40); break; case '6': // botao 6 Serial.println("6"); irsend.sendNEC(0xE17A609F, 32); delay(40); break; case '7': // botao 7 Serial.println("7"); irsend.sendNEC(0xE17AE01F, 32); delay(40); break; case '8': // botao 8 Serial.println("8"); irsend.sendNEC(0xE17A10EF, 32); delay(40); break; case '9': // botao 9 Serial.println("9"); irsend.sendNEC(0xE17A906F, 32);

Page 74: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

59

delay(40); break; } vw_rx_start(); } void setup() { Serial.begin(9600); vw_set_rx_pin(RECEPTOR); vw_setup(BITS_SEC); // Bits per sec vw_rx_start(); } void loop() { uint8_t message[VW_MAX_MESSAGE_LEN]; uint8_t msgLength = VW_MAX_MESSAGE_LEN; //tipo_bool modificador; boolean modificador; modificador = false; if (vw_get_message(message, &msgLength)) // Non-blocking { for (int i = 0; i < msgLength; i++) { if(modificador == true) { if((message[i]>33&&message[i]<65) || (message[i]>90&&message[i]<126)) { analisarComando(message[i]); } else modificador = false; } if(message[i] == 'N') { //Serial.println("opcoes NET:\n"); modificador = true; } } } }

Page 75: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

60

Apêndice C

Código do Microcontrolador da Cortina

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include "ServoTimer2.h"

#include "VirtualWire.h"

//Servo

#define SERVO_PIN 9

//RF

#define RECEPTOR 12

#define BITS_SEC 2000 //Bits per sec transmissor

#define FECHAR 2000

#define ABRIR 1000

#define PARADO 1500

#define TEMPO 8000 //8 segs

ServoTimer2 servoMotor;

void analisarComando(char command)

{

servoMotor.attach(SERVO_PIN);

vw_rx_stop();

switch(command)

{

case 'a':

Page 76: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

61

Serial.println("Abrir");

servoMotor.write(ABRIR);

delay(TEMPO);

servoMotor.detach();

break;

case 'f':

Serial.println("Fechar");

servoMotor.write(FECHAR);

delay(TEMPO);

servoMotor.detach();

break;

}

vw_rx_start();

}

void setup()

{

Serial.begin(9600);

vw_set_rx_pin(RECEPTOR);

vw_setup(BITS_SEC); // Bits per sec

vw_rx_start();

}

char comando;

void loop()

{

uint8_t message[VW_MAX_MESSAGE_LEN];

uint8_t msgLength = VW_MAX_MESSAGE_LEN;

boolean modificador;

comando = Serial.read();

if((comando == 'a') || (comando == 'f'))

Page 77: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

62

analisarComando(comando);

modificador = false;

if (vw_get_message(message, &msgLength)) // Non-blocking

{

for (int i = 0; i < msgLength; i++)

{

if(modificador == true)

{

if((message[i]>33&&message[i]<65) || (message[i]>90&&message[i]<126))

{

analisarComando(message[i]);

}

else

modificador = false;

}

if(message[i] == 'C')

{

//Serial.println("opcoes NET:\n");

modificador = true;

}

}

}

}

Page 78: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

63

Apêndice D

Código do Microcontrolador da

Iluminação

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include "VirtualWire.h"

//Rele

#define PORTA_RELE 7

//RF

#define RECEPTOR 12

#define BITS_SEC 2000 //Bits per sec transmissor

void analisarComando(char command)

{

vw_rx_stop();

switch(command)

{

case 'l':

Serial.println("Ligar");

digitalWrite(PORTA_RELE, LOW);

break;

case 'd':

Serial.println("Desligar");

digitalWrite(PORTA_RELE, HIGH);

break;

}

Page 79: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

64

vw_rx_start();

}

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

pinMode(PORTA_RELE, OUTPUT);

digitalWrite(PORTA_RELE, LOW);

vw_set_rx_pin(RECEPTOR);

vw_setup(BITS_SEC); // Bits per sec

vw_rx_start();

}

void loop()

{

uint8_t message[VW_MAX_MESSAGE_LEN];

uint8_t msgLength = VW_MAX_MESSAGE_LEN;

//tipo_bool modificador;

boolean modificador;

modificador = false;

if (vw_get_message(message, &msgLength)) // Non-blocking

{

for (int i = 0; i < msgLength; i++)

{

if(modificador == true)

{

if((message[i]>33&&message[i]<65) || (message[i]>90&&message[i]<126))

{

analisarComando(message[i]);

}

else

Page 80: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

65

modificador = false;

}

if(message[i] == 'L')

{

//Serial.println("opcoes Lampada:\n");

modificador = true;

}

}

}

}

Page 81: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

66

Apêndice E

Código do Microcontrolador do Ar

Condicionado #include <stdio.h> #include <stdlib.h> #include <string.h> #include <IRremote.h> #include "VirtualWire.h" //IR #define LED_PIN 3 //RF #define RECEPTOR 5 #define BITS_SEC 2000 //Bits per sec transmissor unsigned int onSpring[] = {4550,4350,650,1550,650,450,650,1550,650,1500,650,500,600,450,650,1600,600,450,650,400,700,1500,700,450,650,450,650,1550,600,1600,600,500,600,1550,650,450,650,450,650,450,650,1550,650,1550,600,1600,600,1550,650,1550,650,1550,650,1500,700,1500,650,500,600,450,650,450,650,450,650,450,650,450,650,1550,650,1550,600,500,600,1600,600,500,600,450,650,450,650,1550,650,450,650,450,650,1550,650,400,650,1600,600,1550,650,1550,650,5200,4550,4400,600,1600,600,450,650,1550,650,1550,650,450,650,450,650,1550,600,450,650,450,650,1550,650,450,650,450,650,1550,650,1550,600,500,600,1600,600,500,600,500,600,450,650,1550,650,1550,650,1550,600,1600,600,1600,600,1550,650,1550,650,1550,600,500,600,500,600,500,600,500,600,500,600,500,600,1550,650,1550,650,450,650,1550,600,500,600,500,600,500,600,1600,600,450,650,450,650,1550,650,450,650,1550,600,1600,600,1600,600,}; unsigned int offSpring[] = {4500,4400,600,1650,550,500,600,1600,600,1600,600,500,600,500,600,1550,600,500,600,500,600,1650,550,550,550,500,600,1600,600,1600,600,500,600,1550,600,500,600,1650,550,1600,600,1600,600,1600,600,500,600,1550,600,1650,550,1600,600,500,600,500,600,500,600,500,600,1600,600,500,550,550,550,1600,600,1600,600,1600,600,500,600,500,600,500,600,450,600,550,550,500,600,550,550,500,600,1600,600,1600,600,1600,600,1600,550,1600,600,5300,4500,4400,600,1600,550,550,550,1600,600,1650,550,500,600,500,600,1600,600,500,600,500,600,1600,550,550,550,550,550,1600,600,1600,600,500,600,1600,600,500,600,1600,550,1650,550,1600,600,1600,600,500,600,1600,600,1600,550,1650,550,500,600,550,550,500,600,500,600,1600,600,500,600,500,600,1600,550,1650,550,1650,550,500,600,500,600,500,600,500,600,500,600,500,600,500,600,500,550,1650,550,1650,550,1600,600,1600,600,1600,600,}; IRsend irsend;

Page 82: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

67

void analisarComando(char command) { vw_rx_stop(); switch(command) { case 'l': Serial.println("Ligar"); irsend.sendRaw(onSpring, 199, 38); delay(40); break; case 'd': Serial.println("Desligar"); irsend.sendRaw(offSpring, 199, 38); delay(40); break; } vw_rx_start(); } void setup() { Serial.begin(9600); vw_set_rx_pin(RECEPTOR); vw_setup(BITS_SEC); // Bits per sec vw_rx_start(); } void loop() { uint8_t message[VW_MAX_MESSAGE_LEN]; uint8_t msgLength = VW_MAX_MESSAGE_LEN; //tipo_bool modificador; boolean modificador; modificador = false; if (vw_get_message(message, &msgLength)) // Non-blocking { for (int i = 0; i < msgLength; i++) { if(modificador == true) { if((message[i]>33&&message[i]<65) || (message[i]>90&&message[i]<126)) { analisarComando(message[i]); } else modificador = false; }

Page 83: 352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 ...monografias.poli.ufrj.br/monografias/monopoli10020234.pdf352-(72 '( $&(66,%,/,'$'( 3$5$ 3257$'25(6 '( 1(&(66,'$'(6 (63(&,$,6

68

if(message[i] == 'A') { //Serial.println("opcoes AC:\n"); modificador = true; } } } }