Formato PDF, Tamanho 1172.7 Kb

31
DESENVOLVIMENTO DE TECNOLOGIA SOCIAL ASSISTIVA DE BAIXO CUSTO Mouse de Botão Versão 3 Bento Gonçalves Setembro de 2015

Transcript of Formato PDF, Tamanho 1172.7 Kb

DESENVOLVIMENTO DE

TECNOLOGIA SOCIAL

ASSISTIVA DE BAIXO CUSTO

Mouse de Botão Versão 3

Bento Gonçalves

Setembro de 2015

DESENVOLVIMENTO DE TECNOLOGIA SOCIAL ASSISTIVA DE

BAIXO CUSTO – MOUSE DE BOTÃO VERSÃO 3

Rodrigo Cainelli1

Sumário

Resumo .................................................................................................................................. 2

Introdução ................................................................................................................................ 3

1 Tecnologia Assistiva .............................................................................................................. 4

2 TSA (Tecnologia Social Assistiva) ......................................................................................... 4

3 Desenvolvimento de TSA ...................................................................................................... 5

3.1 Mouse de Botão V3 ........................................................................................................ 5

3.2 Materiais ........................................................................................................................ 6

3.2.1 Lista de componentes para construção da placa; ..................................................... 6

3.2.2 Materiais para construção da estrutura .................................................................... 7

3.5 Desenvolvimento da Placa ............................................................................................. 7

3.5.1 Sobreposição com Toner .......................................................................................... 7

3.5.2 Usinagem ............................................................................................................... 10

3.5.3 Desenho da Placa .................................................................................................. 12

3.6 Ligações nos pinos do conector J2 e J3 ....................................................................... 16

3.6.2 Conector J3 ............................................................................................................ 16

3.7 Desenho Eletrônico ...................................................................................................... 18

3.8 Desenvolvimento do Código ........................................................................................ 19

3.9 Gravação do PIC ......................................................................................................... 27

4 Soluções de Problemas ...................................................................................................... 28

Conclusão .............................................................................................................................. 29

Referências ........................................................................................................................... 30

1 Técnico de Tecnologia da Informação do Projeto de Acessibilidade Virtual do IFRS [email protected]

Resumo

Este documento tem como principal objetivo explanar sobre o desenvolvimento de um dispositivo eletrônico utilizado para promover a acessibilidade ao uso do computador por PNEs (Pessoas com necessidades específicas). Este artefato, desenvolvido no Núcleo de Acessibilidade Virtual do IFRS instalado no campus de Bento Gonçalves do Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul (IFRS), foi intitulado como Mouse de Botão Versão 3 (MBV3). O MBV3 é um dispositivo versátil e de baixo custo com o objetivo de atender a uma grande parte das pessoas com algum tipo de deficiência motora. Além deste, como foco principal irá abordar sucintamente os termos tecnologia assistiva, tecnologia social. Palavras-chave: acessibilidade, social, mouse e tecnologia.

Introdução

Existe uma parcela da população que vinha sendo excluída do convívio social devido

as suas limitações físicas, cognitivas e intelectuais, sendo estas adquiridas ou congênitas.

Porém, esta realidade vem sofrendo mudanças consideráveis.

Essas pessoas, que até então se sujeitavam a uma vida privada em total isolamento,

aos poucos, estão tornando-se atores sociais de forma ativa no funcionamento desta máquina

que chamamos de sociedade. Isso só está sendo possível, pois órgãos públicos e entidades

de apoio a estes indivíduos, que estão investindo na reeducação da sociedade utilizando-se

dos meios de comunicação disponíveis e na realocação ou alocação destes no mercado de

trabalho previsto na legislação conforme a Lei nº 7.853/89 (Brasil, 1989), sancionada pelo

Decreto 3.298/99 (Brasil, 1999).

A legislação prevê que sejam feitas adaptações, providas pelo poder público, em

âmbito geral para pessoas com necessidades especiais, tais como adaptações prediais,

estruturais, remoção de barreiras e obstáculos nas vias públicas, meios de transporte e

comunicações conforme previsto na Lei 10.098/00 (BRASIL, 2000), sancionada pelo decreto

5.296/04 (BRASIL, 2004).

Além disso, a Declaração Universal dos Direitos Humanos, documento base das

Nações Unidas assinado em 1948, através de seu artigo 25, diz que:

1. Toda pessoa tem direito a um padrão de vida capaz de assegurar a si e a sua família saúde e bem estar, inclusive alimentação, vestuário, habitação, cuidados médicos e os serviços sociais indispensáveis, e direito à segurança em caso de desemprego, doença, invalidez, viuvez, velhice ou outros casos de perda dos meios de subsistência fora de seu controle. 2. A maternidade e a infância têm direito a cuidados e assistência especiais. Todas as crianças nascidas dentro ou fora do matrimônio, gozarão da mesma proteção social (ONU, 1948).

E o item 3 da Resolução da ONU nº 2.542/1975, complementa o exposto acima ao

mencionar que:

As pessoas deficientes têm o direito inerente de respeito por sua dignidade humana. As pessoas deficientes, qualquer que seja a origem, natureza e gravidade de suas deficiências, têm os mesmos direitos fundamentais que seus concidadãos da mesma idade, o que implica, antes de tudo, o direito de desfrutar de uma vida decente, tão normal e plena quanto possível (ONU, 1975).

A citação acima, apesar de ter sido escrita há mais de 30 anos, explicita os direitos de todas

as pessoas. O respeito às diferenças e às idiossincrasias é o alicerce para uma convivência

mais harmoniosa entre todos os cidadãos, respeito esse que proporciona dignidade e

inclusão em todas as esferas sociais.

É nesse contexto que se traz para a discussão como uma forma de resgate dos

direitos dessas pessoas tantas vezes alijadas das práticas sociais. Direito de uma vida digna,

direito de acesso à informação, direito à cidadania de uma forma plena. Estas são algumas

das condições que podem ser resgatadas através da melhoria ou ampliação das capacidades

funcionais de pessoas com deficiência por meio da chamada Tecnologia Assistiva.

1 Tecnologia Assistiva

Acessibilidade, de acordo com a Lei 1098, em seu Artigo 2º, parágrafo I, trata-se da:

“[...] possibilidade e condição de alcance para utilização, com segurança e autonomia, dos espaços, mobiliários e equipamentos urbanos, das edificações, dos transportes e dos sistemas e meios de comunicação, por pessoa portadora de deficiência ou com mobilidade reduzida; [...]”

Como forma de complemento, cita-se o parágrafo VI que define ajudas técnicas

como, “[...] qualquer elemento que facilite a autonomia pessoal ou possibilite o acesso e o uso

de meio físico. [...]”. Segundo o CBTA2 por meio da ata de 14 de Dezembro de 2007, define

Tecnologia Assistiva como:

“[...] uma área do conhecimento, de característica interdisciplinar, que engloba produtos, recursos, metodologias, estratégias, práticas e serviços que objetivam promover a funcionalidade, relacionada à atividade e participação de pessoas com deficiência, incapacidades ou mobilidade reduzida, visando sua autonomia, independência, qualidade de vida e inclusão social. [...]”

Unificando as partes citadas, pode-se concluir que a tecnologia voltada para a

acessibilidade trata-se de qualquer artefato, adaptação, serviços ou um conjunto destes com

o objetivo de promover mais autonomia nas AVD (atividades da vida diária).

2 TSA (Tecnologia Social Assistiva)

De acordo com ITS (Instituto Tecnologia Social), TS (Tecnologia Social) é um termo

ainda pouco utilizado, que pode ser entendido como tudo aquilo desenvolvido e/ou adaptado

para promover autonomia e melhoria nas Atividades da Vida Diária (AVD); desenvolvido e/ou

idealizado pela sociedade por meio de Organizações Não Governamentais (ONGs),

Instituições Publicas ou Privadas, Associações Comunitárias, Movimentos Sociais,

Cooperativas, Universidades, Centros de Pesquisa e Órgãos Financiadores (ITS, 2007).

A TSA surge com o intuito de amparar pessoas menos favorecidas financeiramente.

De modo geral os produtos de Tecnologia Assistiva são comercializados por valores

altos e em muitos casos, inatingíveis para grande parte dos usuários. A TSA surge

tangenciando a TA com o objetivo de suprir esta necessidade desenvolvendo produtos

similares aos industrializados, porém mais baratos e especialmente adaptados às

especificidades de cada perfil de usuário.

O Decreto nº 3298/1999 em seu artigo 3º, define a deficiência como sendo:

[...] toda perda ou anormalidade de uma estrutura ou função psicológica, fisiológica ou anatômica que gere incapacidade para o desempenho de atividade, dentro do padrão considerado normal para o ser humano; (BRASIL, 1999).

2 Comitê Brasileiro de Tecnologia Assistiva.

3 Desenvolvimento de TSA

O Núcleo de Acessibilidade Virtual do IFRS3 – Campus Bento Gonçalves possui várias

ramificações sendo elas para; atendimento pedagógico a pessoas com deficiência,

desenvolvimento de tecnologia assistiva, acessibilidade virtual, assessoria e testes nas áreas

da acessibilidade. Uma destas ramificações detém-se no desenvolvimento de artefatos

eletrônicos para acessibilidade visando baixo custo de produção. Como forma de subsidiar

outras instituições, organizações, pesquisadores ou pessoas que desejam também produzir

esses dispositivos.

O MBV3 que se aborda como tema principal deste documento, foi desenvolvido no

núcleo com o objetivo de oferecer a sociedade, um dispositivo de fácil utilização e ao mesmo

tempo, maleável para várias situações no que se refere ao uso do computador.

3.1 Mouse de Botão V3

O Mouse de Botão V3 é um equipamento Plug and Play4 muito versátil, pois pode ser

adaptado a diversas situações. Seu funcionamento é muito simples dispondo apenas de 8

botões de pressão e 8 saídas para acionadores. Dos 8 botões de pressão, 4 são para o

movimento do cursor na tela, ajuste de velocidade e Scroll e os demais, para o clique

esquerdo e direito, 2º função e clique prezo. Sua interface conta ainda com um LED que

indica quando o dispositivo está conectado ao computador e 4 LED’s menores que indicam a

velocidade configurada para utilização como mostra a figura 1.

Figura 1: imagem fixada na parte traseira do dispositivo com o objetivo de orientar com relação a sua

utilização.

A ideia de sua construção surgiu a partir de uma necessidade de se ter um dispositivo

maleável, ou seja, que pudesse se adaptar facilmente a vários tipos de deficientes físicos e

motores sem grandes adaptações, de baixo custo e que não exigisse qualquer configuração

no sistema operacional. Ao mesmo tempo em que o artefato pode ser utilizado com a mão

3 Site: http://acessibilidade.bento.ifrs.edu.br e-mail: [email protected]

4 Sigla em inglês utilizada para identificar dispositivos que dispensem instalação e configuração manual. Sua tradução é “conecte e use”.

sendo este fixado no encosto de braço de uma cadeira de rodas, pode ser utilizado com os

pés por meio de acionadores5. Se a pessoa possui movimentos voluntários nos membros

superiores, porém, não possui tamanha destreza para a utilização de um mouse

convencional, poderá utilizar-se do Mouse de Botão V3 por meio de acionadores espalhados

sobre uma mesa. O equipamento pode ser reajustado para outra pessoa rapidamente,

simplesmente ajustando a velocidade e acionadores conforme a necessidade do novo

usuário.

3.2 Materiais

3.2.1 Lista de componentes para construção da placa:

C1, Cerâmico 100P;

C2, Cerâmico100P;

C3, Radial Eletrolítico 6V3, 100u;

C4, Cerâmico 100P;

C5, Cerâmico 100P;

C6, Cerâmico 100P;

C7, Cerâmico 100P;

C8, Cerâmico 100P;

C9, Cerâmico 100P;

C10, Radial Eletrolítico 16v, 10u;

C11, Cerâmico 10P;

C12, Cerâmico 10P;

J2, Conector IDC 20 vias;

J3, Conector IDC 20 vias;

J4, Connector USB-B Fêmea YH-USB03;

R1, Resistor, 1/4W, 100R;

R2, Resistor, 1/4W, 100R;

R3, Resistor, 1/4W, 100R;

R4, Resistor, 1/4W, 100R;

R5, Resistor, 1/4W, 100R;

R6, Resistor, 1/4W, 100R;

R7, Resistor, 1/4W, 100R;

R8, Resistor, 1/4W, 1K;

R9, Resistor, 1/4W, 1K;

R10, Resistor, 1/4W, 1K;

R11, Resistor, 1/4W, 1K;

R12, MINRES1K;

R13, MINRES1K;

R14, MINRES1K;

R15, MINRES1K;

U1, PIC18F4550;

X1, CRYSTAL 20MHz.

5 Dispositivo utilizado para acionamento de uma função de acordo com o equipamento em que este foi conectado. Resumidamente este artefato funciona como uma chave liga-desliga. Veja como construir um acionador com CDs em nosso site modelo:<http://acessibilidade.bento.ifrs.edu.br/manuais-tecnologia-assistiva.php> Acesso: nov2012

3.2.2 Materiais para construção da estrutura

2 - Conector Header 20 Pinos180°;

3 LED’s 3 mm, Verde;

2 LED’s 3 mm, Amarelo;

1 LED 3mm, Vermelho;

1 LED 5mm, Verde;

8 Botões de pressão;

1 Cabo USB-B Fêmea/USB-A Macho;

A lista de material para a estrutura pode ser adquirida conforme a necessidade da

pessoa que for utilizar como, por exemplo, se o usuário preferir botões maiores, sem os

LEDs, ou de outras cores, entre outros. Para a gravação do PIC será necessário um gravador

externo.

Figura 2: imagem do protótipo do MBV3.

3.5 Desenvolvimento da Placa

Vários métodos podem ser utilizados para a confecção da placa, tais como, serigrafia,

sobreposição com toner, usinagem, impressão ou até mesmo a mão livre com o uso de uma

caneta específica para desenho de circuito impresso. Aborda-se sucintamente neste

documento o método de sobreposição com toner e por usinagem.

3.5.1 Sobreposição com Toner

Este método consiste em efetuar a impressão do circuito em uma impressora a lazer

e com o uso de um ferro de passar roupa, derreter o toner da folha novamente e fixar na

placa. A folha que se recomenda para esta tarefa é a folha para etiquetas, porém com apenas

uma etiqueta por folha. Retira-se a etiqueta da folha e posiciona-se a folha restante com a

face lisa voltada para o lado da impressão como mostra a figura 3.

Figura 3: folha de etiqueta sendo descolada.

Figura 4: impressora a laser HP.

Fonte: http://www.lojavirtual.sivan.com.br/ecommerce_site/produto_21135_5424_Impressora-HP-

Laserjet-P1005-Sem-toner.

Este modelo de impressora da HP realiza a impressão nas costas da folha, ou seja, a

folha que foi separada da etiqueta deve ser posicionada com a face lisa para baixo de modo

que a impressão saia na face lisa. Depois de impresso, não se deve tocar na parte impressa,

pois o toner poderá desprender-se da folha.

De posse do desenho impresso, recorta-se o mesmo até a borda do desenho e fixa-

se na placa com fita crepe pelas bordas conforme a figura 5. A fita não deve ser colada sobre

alguma trilha.

Com o desenho fixado, passa-se o ferro de passar roupas em temperatura máxima

sem aplicar muita força e não permanecendo com o ferro por muito tempo sobre a placa, pois

este poderá formar bolhas na mesma, como mostra a figura 5.

Etiqueta com cola.

Folha sem cola.

Figura 5: Desenho fixado na placa de fenolite e sendo aquecido com o ferro de passar roupas.

O processo demora em torno de 10 a 20 minutos de acordo com a destreza do

operador. Ao término dos primeiros 10 minutos, descola-se a fita em uma das pontas e ergue-

se o papel com cautela observando se o desenho já está fixado na placa. Este processo pode

ser retocado com caneta específica para desenho de circuito impresso após a retirada do

papel, para isso, recomenda-se que o procedimento seja realizado após o resfriamento da

placa.

Depois de pronto, prepara-se a solução de percloreto seguindo a dosagem conforme

as recomendações do fabricante fazendo uso dos equipamentos de proteção tais como

óculos e luvas. Após alguns minutos submerso na solução de percloreto, deve-se ter algo

parecido com o apresentado na figura 6.

Figura 6: placa de fenolite corroída no percloreto (Mouse de Botão Versão 2).

Com a placa pronta, lava-se com sabão e uma palha de aço com o intuito de remover

o toner das trilhas. Após a remoção, esta deve ser pintada com verniz específico para

eletrônica a fim de evitar a corrosão das trilhas. Para finalizar o processo, deve-se realizar os

furos com perfurador para placas ou com uma furadeira utilizando broca para aço e de no

máximo 1,5mm, como mostra a figura 7.

Figura 7: placa de circuito impresso sendo furada (Mouse de Botão Versão 2).

Após a furação a placa estará pronta como mostra a figura 8.

Figura 8: placa de circuito impresso pronta (Mouse de Botão Versão 2).

3.5.2 Usinagem

O processo de usinagem é mais simples e preciso. As trilhas serão

confeccionadas por uma máquina. O desenho da placa depois de pronto será

exportado para o formato que a máquina possa interpretar. Coloca-se uma placa de

fenolite na área de trabalho do equipamento e a máquina com o auxilio de uma fresa,

retira uma fina camada de material com o intuito de formar a trilha, como mostra a

figura 9.

Figura 9: fresadora usinando placa de CI.

As diferenças são gritantes como se pode observar na figura 10 e 11.

Figura 10: placa de circuito impresso usinada (Mouse de Botão Versão 3).

Figura 11: placa vernizada com os componentes.

3.5.3 Desenho da Placa

Disponibilizam-se dois modelos de desenho para a construção do dispositivo. Um

deles em medindo 127.5x80.80 mm (anexo 1) e outro medindo 93,4x70 mm (anexo 2).

Figura 12: opção de placa medindo 127.5x80.80 mm.

Figura 13: opção de placa medindo 93,4x70 mm.

Figura 14: visualização 3D da placa de medida 127.5x80.80 mm.

Figura 15: visualização 3D da placa de medida 74,4X101.8 mm.

As opções das placas para impressão encontram-se no anexo 1 e 2 deste documento.

“Para efetuar a usinagem desta placa, será necessário o arquivo de extensão “.dxf” que pode

ser solicitado por e-mail. As trilhas em vermelho que aparecem nas figuras 9 e 10 são

jumpers, portanto, não constam no arquivo “.dxf” e nos anexos 1 e 2.

Antes da colocação dos componentes, recomenda-se que sejam testadas as trilhas

com o uso de um multímetro com o intuito de eliminar curtos ou corrigir trilhas rompidas.

3.6 Ligações nos pinos do conector J2 e J3

3.6.1 Conector J2

Pinos Ligação

1 e 2 LED verde do Bar Graf.

3 e 4 LED Amarelo Bar Graf (estágio 1).

5 e 6 LED Amarelo Bar Graf (estágio 2).

7 e 8 LED Vermelho Bar Graf.

9 e 10 LED da função.

11 e 12 LED clique preso.

13 e 14 LED Power (indica que o equipamento está

energizado.

15, 17 e 19 Aterramento sem uso.

3.6.2 Conector J3

Pinos Ligação

1 e 2 Movimenta cursor para esquerda/Reduzir

velocidade.

3 e 4 Movimenta cursor para direita/Aumenta

velocidade.

5 e 6 Move o cursor para cima/Scroll para cima.

7 e 8 Move o cursor para baixo/Scroll para baixo.

9 e 10 Botão clique esquerdo/Diminui a velocidade.

11 e 12 Botão clique direito/Aumenta a velocidade.

13 e 14 Botão que habilita clique preso.

15 e 16 Botão que habilita 2° função.

17 e 19 5 v em desuso oriundo da USB.

No esquema eletrônico existem dois componentes que são opcionais. Foi agregado

um display de 7 segmentos com o objetivo de se optar por utilizar o Bar Graf com LEDs para

informar a velocidade configurada ou display de 7 segmentos. No layout das placas não foi

colocado conectores para o display. Este deverá ser ligado diretamente nos pinos do PIC

conforme o esquema eletrônico. O código para o dispositivo prevê a ligação tanto dos LEDs

como do display, portanto, não se faz necessário a modificação do mesmo. O outro

componente é o LED D1 junto ao resistor R16. Estes estão previstos no layout das placas.

Este LED serve para informar se a comunicação USB ocorreu de maneira correta. Existe uma

grande diferença entre o LED Power do pino 13 e 14 e o LED D1. O LED Power irá ligar se

houver alimentação do sistema, porém isso não garante que o código está correndo

corretamente ou até mesmo, que o dispositivo foi montado via porta USB. Já o LED D1 só irá

ligar quando o dispositivo foi endereçado (via protocolo USB) no PC Host, até então ele não

ligará. Recomenda-se a utilização deste apenas para averiguar se o dispositivo está

funcionando antes de conectar os botões e demais LEDs. Após os testes, este pode ser

removido e mantido apenas o LED Power.

Os conectores P2 Fêmea, devem estar em paralelo com os botões como na ilustração

a seguir.

Figura 16: esquema de ligação P2 e botão de pressão.

3.7 Desenho Eletrônico

Figura 17: esquema eletrônico do mouse.

3.8 Desenvolvimento do Código6

Utilizou-se a biblioteca HID para Mouse que acompanha os exemplos do compilador PIC-C

Compiler da CCS. O código está repleto de comentários informando sobre o que se trata em cada

bloco. Não se faz necessário realizar qualquer alteração.

6 O pesquisador Jean Machado foi quem constatou a existência deste exemplo para criação de HID. A

biblioteca acompanha a pasta de exemplos e drives do compilador PIC-C Compiler da CCS. Ele foi quem desenvolveu a parte inicial do código utilizado no dispositivo. O restante do código foi desenvolvido pelos pesquisadores Rodrigo Cainelli e Lucas Signor Schwochow. A parte eletrônica teve a colaboração do pesquisador Juliano Gatto.

#include <18F4550.h>

//Definindo da função dos pinos

#DEFINE LEFT PIN_B0 //Esquerda

#DEFINE RIGHT PIN_B1 //Direita

#DEFINE UP PIN_B2 //Cima

#DEFINE DOWN PIN_B3 //Baixo

#DEFINE LCLICK PIN_B4 //Botão para clique esquerdo

#DEFINE RCLICK PIN_B5 //Botão para clique direito

#DEFINE BFUNCTION PIN_B6 //Botão para 2° função

#DEFINE CLICK_ARRESTED PIN_B7 //Clique preso

#DEFINE LEDRUNNING PIN_E2 //Programa rodando

#DEFINE GREEN_SPEED PIN_A1 //Bar Graf (indicativo de velocidade)

#DEFINE YELLOW_SPEED1 PIN_A2 //Bar Graf (indicativo de velocidade)

#DEFINE YELLOW_SPEED2 PIN_A3 //Bar Graf (indicativo de velocidade)

#DEFINE RED_SPEED PIN_A4 //Bar Graf (indicativo de velocidade)

#DEFINE LED_FUNCTION PIN_A5 //LED indicador de 2° função

#DEFINE LED_ARRESTED PIN_E0 //LED indicador de clique preso

#DEFINE DISPLAY_1 PIN_D7 //Display 7 segmentos (indicativo de velocidade)

#DEFINE DISPLAY_2 PIN_D6 //Display 7 segmentos (indicativo de velocidade)

#DEFINE DISPLAY_3 PIN_D5 //Display 7 segmentos (indicativo de velocidade)

#DEFINE DISPLAY_4 PIN_D4 //Display 7 segmentos (indicativo de velocidade)

#DEFINE DISPLAY_5 PIN_D3 //Display 7 segmentos (indicativo de velocidade)

#DEFINE DISPLAY_6 PIN_D2 //Display 7 segmentos (indicativo de velocidade)

#DEFINE DISPLAY_7 PIN_D1 //Display 7 segmentos (indicativo de velocidade)

#DEFINE ON output_high //Define o comando “ON” como “output_high”.

#DEFINE OFF output_low //Define o comando “OFF” como “output_low”.

#DEFINE DELAY delay_ms //Define “DELAY” como “delay_ms”.

#DEFINE IN input //Define “IN” como “input”.

//Teste dos LED's.

void teste_led();

void display();

void bar_graf();

void segunda_funcao();

//Variáveis globais.

int passo, out_data[4], yposition, xposition, lbutton, sbutton, flag_reversso, arrested, dclick, function;

void teste_led(){

int teste; //Variável local.

teste=0; //Zerando variável.

//Teste dos LED's

while(teste<(13)){

OFF(DISPLAY_1);

DELAY(200);

teste++;

ON(DISPLAY_1);

OFF(DISPLAY_2);

DELAY(200);

teste++;

ON(DISPLAY_2);

OFF(DISPLAY_3);

DELAY(200);

teste++;

ON (DISPLAY_3);

OFF (DISPLAY_4);

DELAY(200);

teste++;

ON (DISPLAY_4);

OFF (DISPLAY_5);

DELAY(200);

teste++;

ON (DISPLAY_5);

OFF (DISPLAY_6);

DELAY(200);

teste++;

ON (DISPLAY_6);

OFF (DISPLAY_7);

DELAY(200);

teste++;

ON (DISPLAY_7);

ON(GREEN_SPEED);

DELAY(200);

teste++;

OFF(GREEN_SPEED);

ON(YELLOW_SPEED1);

DELAY(200);

teste++;

OFF(YELLOW_SPEED1);

ON(YELLOW_SPEED2);

DELAY(200);

teste++;

OFF(YELLOW_SPEED2);

ON (RED_SPEED);

DELAY(200);

teste++;

OFF (RED_SPEED);

ON(LED_ARRESTED);

DELAY(200);

teste++;

OFF(LED_ARRESTED);

ON(LED_FUNCTION);

DELAY(200);

teste++;

OFF(LED_FUNCTION);

}

}

void display(){

int flag_reversso;

//Display

if(passo==(2)){ //1

OFF(DISPLAY_1);

OFF(DISPLAY_2);

ON(DISPLAY_3);

ON(DISPLAY_4);

ON(DISPLAY_5);

ON(DISPLAY_6);

ON(DISPLAY_7);

}else{

if(passo==(4)){ //2

ON(DISPLAY_1);

OFF(DISPLAY_2);

OFF(DISPLAY_3);

ON(DISPLAY_4);

OFF(DISPLAY_5);

OFF(DISPLAY_6);

OFF(DISPLAY_7);

}else{

if(passo==(6)){ //3

OFF(DISPLAY_1);

OFF(DISPLAY_2);

OFF(DISPLAY_3);

ON(DISPLAY_4);

OFF(DISPLAY_5);

ON(DISPLAY_6);

OFF(DISPLAY_7);

}else{

if(passo==(8)){ //4

OFF(DISPLAY_1);

OFF(DISPLAY_2);

ON(DISPLAY_3);

OFF(DISPLAY_4);

OFF(DISPLAY_5);

ON(DISPLAY_6);

ON(DISPLAY_7);

}else{

if(passo==(10)){ //5

OFF(DISPLAY_1);

ON(DISPLAY_2);

OFF(DISPLAY_3);

OFF(DISPLAY_4);

OFF(DISPLAY_5);

ON(DISPLAY_6);

OFF(DISPLAY_7);

}else{

if(passo==(12)){ //6

OFF(DISPLAY_1);

ON(DISPLAY_2);

OFF(DISPLAY_3);

OFF(DISPLAY_4);

OFF(DISPLAY_5);

OFF(DISPLAY_6);

OFF(DISPLAY_7);

}else{

if(passo==(14)){ //7

OFF(DISPLAY_1);

OFF(DISPLAY_2);

OFF(DISPLAY_3);

OFF(DISPLAY_4);

ON(DISPLAY_5);

ON(DISPLAY_6);

ON(DISPLAY_7);

}else{

if(passo==(16)){ //8

OFF(DISPLAY_1);

OFF(DISPLAY_2);

OFF(DISPLAY_3);

OFF(DISPLAY_4);

OFF(DISPLAY_5);

OFF(DISPLAY_6);

OFF(DISPLAY_7);

}else{

if((passo>=16)&&(passo<=20)){ //9

OFF(DISPLAY_1);

OFF(DISPLAY_2);

OFF(DISPLAY_3);

OFF(DISPLAY_4);

OFF(DISPLAY_5);

ON(DISPLAY_6);

ON(DISPLAY_7);

}

}

}

}

}

}

}

}

}

}

void bar_graf(){

//Bar Graf Speed.

if((passo>=0)&&(passo<=5)){

ON(GREEN_SPEED);

OFF(YELLOW_SPEED1);

OFF(YELLOW_SPEED2);

OFF(RED_SPEED);

}else{

if((passo>=6)&&(passo<=10)){

ON(GREEN_SPEED);

ON(YELLOW_SPEED1);

OFF(YELLOW_SPEED2);

OFF(RED_SPEED);

}else{

if((passo>=11)&&(passo<=15)){

ON(GREEN_SPEED);

ON(YELLOW_SPEED1);

ON(YELLOW_SPEED2);

OFF(RED_SPEED);

}else{

if((passo>=16)&&(passo<=20)){

ON (GREEN_SPEED);

ON (YELLOW_SPEED1);

ON (YELLOW_SPEED2);

ON (RED_SPEED);

}

}

}

}

}

//Definindo o botão da 2° função.

void segunda_funcao(){

if(IN(BFUNCTION)||(function==(1))){

if(IN(BFUNCTION)){

function++;

while(IN(BFUNCTION)){

if(function==1){

ON(LED_FUNCTION);

}else{

OFF(LED_FUNCTION);

function=0;

}

}

}else{

if(function==1){

//Definindo a velocidade do dispositivo.

if(IN(LEFT)){

passo--;

while(IN(LEFT)){

if(passo<(1)){

passo=1;

}

}

}else{

if(IN(RIGHT)){

passo++;

while(IN(RIGHT)){

if(passo>(20)){

passo=20;

}

}

}

}

// Definição para a função scroll.

if(IN(UP)){

sbutton=1;

out_data[3]=sbutton;

usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);

}else{

if(IN(DOWN)){

sbutton=-1;

out_data[3]=sbutton;

usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);

}

}

sbutton=0;

}else{}

}

}

}

void funcao_geral(){

//Verifica se o botão função está habilitado, caso não esteja entra neste IF.

if ((function==0)||(function>=2)){

sbutton=0;

lbutton=0;

xposition=0;

yposition=0;

//Definição para o clique preso.

if(IN(CLICK_ARRESTED)||(arrested==(1))){

if(IN(CLICK_ARRESTED))

arrested++;

while(IN(CLICK_ARRESTED)){

if(arrested==1){

ON(LED_ARRESTED);

}else{

OFF(LED_ARRESTED);

arrested=0;

}

}

if(arrested==1){

lbutton=1;

out_data[0]=lbutton;

usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);

}

}

// Definição para movimentos no eixo X.

if(IN(RIGHT)){

xposition=passo;

}else{

if(IN(LEFT)){

xposition=-passo;

}

}

// Definição para movimentos no eixo Y.

if(IN(UP)){

yposition=-passo;

}else{

if(IN(DOWN)){

yposition=passo;

}

}

//Definição para o botão '2° função' para os botões clique esquerdo e clique preso.

if(IN(LCLICK)){

lbutton=1;

}else{

if(IN(RCLICK)){

lbutton=3;

}else{}

}

//Preparando para enviar os dados.

out_data[0]=lbutton;

out_data[1]=xposition;

out_data[2]=yposition;

out_data[3]=sbutton;

usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);

DELAY(20);

}

}

//Início do programa.

void main(void){

//Zerando variáveis.

passo=10; //Variável que define a velocidade do dispositivo.

function=0; //Botão da função.

sbutton=0; //Utilizada para função Scroll.

lbutton=0; //Utilizada para função clique esquerdo.

xposition=0; //Utilizada para movimentos para esquerda e direita.

yposition=0; //Utilizada para movimentos para cima e para baixo.

flag_reversso=0;

arrested=0; //Variável utilizada para o clique preso.

dclick=0;

teste_led(); //Chama a instrução de teste dos LED's.

usb_init_cs();

while (TRUE){ //Iniciando laço infinito.

sbutton=0; //Zerando a variável sbutton.

usb_task();

ON(LEDRUNNING); //LED que está soldado na placa.

//Quando este LED ligar significa que o dispositivo foi endereçado na USB corretamente.

if(usb_enumerated()){ //Se o dispositivo USB já foi enumerado no PC.

delay_us(10); //Delay de 10 milissegundos.

funcao_geral();

display();

bar_graf();

segunda_funcao();

funcao_geral();

} //Chaves do "if(usb_enumerated)".

} //Chaves do "While(true)".

} //Chaves do "Void".

3.9 Gravação do PIC

Existem vários modelos de gravadores. Para o desenvolvimento do protótipo, utilizou-se o

gravador JDM7. Este possui vasta documentação na internet com desenho da placa, lista de

componentes e etc.

Figura 18: gravador JDM montado.

Fonte: http://projetoseti.com.br/hardware/eletronica/gravador-de-microcontroladores-PIC/

7 Link para manual de construção do gravador JDM.

<http://www.robotizando.com.br/cursoPIC_gravador_pg1.php>

4 Soluções de Problemas

Problema Solução

Equipamento não monta a USB. 1. Verifique se o LED D1 está ligando; 2. Tente conectar o dispositivo em outra porta

USB. Este processo pode demorar até vários minutos conforme a desempenho de seu computador;

3. Teste a continuidade do cabo USB; 4. Verifique se o cristal X1; capacitores C1, C2,

C3 e C10 estão perfeitamente soldados e conduzindo;

5. Verifique de os pinos 1 (VPP), 11 (VDD) e 32 (VDD) estão alimentados com 5V.

6. Verifique se os pinos 12 e 31 estão ligados no negativo da USB;

7. Verifique o valor dos componentes citados na solução 4;

8. Regrave o PIC.

Bar Graf não liga Verifique a polaridade dos LED’s conforme informado na seção “Ligação dos Pinos”.

Display não apresenta valor algum, apenas traços. Ao conectar o dispositivo na USB, este fará um teste de funcionamento dos LED’s incluindo o display. O display deverá ascender os traços no sentido anti horário começando do canto inferior direito e terminando na parte inferior central. Caso isso não ocorra, verifique a ligação entre o display e as saídas do PIC. A ordem de saída deve ser: pinos D7, D6, D5, D4, D3, D2 e D1.

O(s) botão(s) não responde(m). Verifique se os mesmos estão alimentados com 5v; Verifique se a ligação feita entre o botão e a placa está conforme descrito na seção “Ligação dos Pinos”; Verifique se os capacitores: C4, C5, C6, C7, C8, C9, C11 e C12 estão com os valores conforme o descrito na seção “Desenho da Placa”.

O cursor fica deslocando-se sozinho e/ou uma das funções do mouse fica habilitada.

Verifique a ligação entre os botões e a placa conforme a seção “Desenho da Placa”.

Conclusão

A produção de equipamentos de baixo custo, conforme demonstrado neste artigo, é uma

possibilidade para o mercado de tecnologias que atendam às necessidades de pessoas com

deficiência. Mesmo na condição de ser um dispositivo de baixo custo, o mouse de botão mostrou-

se ser de fácil fabricação, enquanto mantém a versatilidade quanto à utilização, seja para o

usuário, seja para quem o acompanha. Além disso, o sistema não provoca quaisquer alterações

ao computador em que está conectado, tanto no que se refere ao hardware, quanto ao que se

refere ao software, possibilitando seu uso em qualquer equipamento que possua uma

configuração mínima.

Referências

BRASIL, 1989. Lei nº 7853, 24 de outubro de 1989. Estabelece normas gerais que asseguram o pleno exercício dos direitos individuais e sociais das pessoas portadoras de deficiências, e sua efetiva integração social, nos termos desta Lei. Brasília, 19 de outubro de 1989. Disponível em<http://www.planalto.gov.br/ccivil_03/leis/L7853.htm> Acesso em 12 de nov 2012. ______, 1999. Decreto nº 3298, 20 de dezembro de 1999. Regulamenta a Lei no 7.853, de 24 de outubro de 1989. Brasília, 20 de dezembro de 1999. Disponível em <http://www.planalto.gov.br/ccivil_03/decreto/d3298.htm> Acesso em 05 de nov 2012. ______, 2000. Lei n° 10.098, 19 de dezembro de 2000. Estabelece normas gerais e critérios básicos para a promoção da acessibilidade das pessoas portadoras de deficiência ou com mobilidade reduzida e dá outras providências. Brasília, 19 de dezembro de 2000. Disponível em <https://www.presidencia.gov.br/ccivil_03/Leis/L10098.htm> - Acesso em 10 de fev 2010. ______, 2004. Decreto 5.296/04, que regulamenta as Leis 10.098/00 e 10.048/00. Disponível em <https://www.presidencia.gov.br/ccivil_03/_Ato2004-2006/2004/Decreto/D5296.htm> Acesso em 02 de fev 2010. ______, 1999. Regulamenta a Lei no 7.853, de 24 de outubro de 1989, dispõe sobre a Política Nacional para a Integração da Pessoa Portadora de Deficiência, consolida as normas de proteção, e dá outras providências. Disponível em<http://www.idesporto.pt/DATA/DOCS/LEGISLACAO/Doc05_052.pdf>Acesso em 19 de fev. 2013. CAINELLI, Rodrigo. Passo a Passo Para a Confecção de um Acionador. Bento Gonçalves: IFRS, 2011. CLIK – Tecnologia Assistiva. Disponível em <http://www.clik.com.br> Acesso em 06 de fevereiro de 2010. ITS – Instituto de Tecnologia Social. Conhecimento e Cidadania. Tecnologia Social. São Paulo – SP. Fevereiro de 2007. MEC, Ministério da Educação. Declaração dos Direitos das Pessoas Deficientes. Resolução ONU 3.447, de 09 de dezembro de 1975. Disponível em <http://portal.mec.gov.br/seesp/arquivos/pdf/dec_def.pdf> Acesso em 03 nov 2012. MJ, Ministério da Justiça. Declaração Universal dos Direitos Humanos. Resolução 217 A (III), 10 de dezembro de 1948. Disponível em <http://portal.mj.gov.br/sedh/ct/legis_intern/ddh_bib_inter_universal.htm>Acesso em 15 nov 2012. OLIVEIRA, Ana Irene Alves; LOURENÇO, Juliana Maciel de Queiroz; ARAGÃO, Marta Genú (org). Tecnologia e Inclusão Social da Pessoa com Deficiência.Belém: EDUEPA, 2008.