50
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO BRUNO MACEDO HERDE Codificador de texto em voz e leitura para os cegos Trabalho de Conclusão de Curso. Profª. Maristela R. Weinfurter Teixeira Orientadora Curitiba, agosto de 2010.

Codificador de texto em voz e leitura para os cegos · escrito no livro e irá reproduzir de forma táctil no display em Braille (YOU, 2009). Comprar um celular deste ainda é muito

  • Upload
    lamdang

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

BRUNO MACEDO HERDE

Codificador de texto em voz e leitura para os

cegos

Trabalho de Conclusão de Curso.

Profª. Maristela R. Weinfurter Teixeira

Orientadora

Curitiba, agosto de 2010.

UNIVERSIDADE POSITIVO

Reitor: Prof. José Pio Martins

Vice-Reitor: Arno Antonio Gnoatto

Pró-Reitor de Graduação: Prof. Renato Casagrande

Diretor Acadêmico de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi

Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

TERMO DE APROVAÇÃO

Bruno Macedo Herde

Conversor de texto em voz e leitura para cegos

Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da

Computação da Universidade Positivo, pela seguinte banca examinadora:

Profª. Maristela Regina Weinfurter Teixeira (Orientadora)

Profº. Valfredo Pilla Jr (Membro)

Profº. Amarildo Geraldo Reichel (Membro)

CURITIBA, 07 DE DEZEMBRO DE 2010

Agradecimentos

Agradeço primeiramente aos meus pais que pagaram a Universidade durante 4 anos e

me apoiaram nesta fase final do projeto. Sem eles não estaria cursando um ensino superior

em uma Universidade com ótima estrutura de ensino.

Para a idéia do projeto gostaria de agradecer minha namorada Bárbara Regina de Abreu

Moresco pelas inúmeras idéias que poderiam ser desenvolvidas como projeto final de

curso.

Para o incentivo nas horas difíceis, gostaria de agradecer a Regina de Abreu e a

Solange Aparecida Marinho, que me apoiaram o tempo todo e me mostraram que era

possível terminar o TCC mesmo estressado, mal humorado e desanimado.

Um agradecimento especial aos meus colegas de sala, que me deram dicas e conselhos

no projeto.

Por último vai o agradecimento aos meus professores que me ajudaram muito com

idéias e conselhos para tornar este projeto realidade.

Sumário

LISTA DE ABREVIATURAS E SIGLAS ........................................................... 6

LISTA DE FIGURAS ......................................................................................... 7

LISTA DE TABELAS ........................................................................................ 8

RESUMO ........................................................................................................... 9

ABSTRACT ..................................................................................................... 10

1. INTRODUÇÃO ....................................................................................... 11

1.1 Acessibilidade .............................................................................................................................. 11

1.2 Braille ........................................................................................................................................... 12

1.3 Aspectos Relevantes do Projeto ................................................................................................. 12

1.4 Conteúdos do Trabalho .............................................................................................................. 13

2. O PROJETO .......................................................................................... 14

2.1 SOFTWARE ................................................................................................................................ 14 2.1.1 Captura da imagem .............................................................................................................. 15 2.1.2 Codificação da imagem ....................................................................................................... 17 2.1.3 Banco de dados .................................................................................................................... 18 2.1.4 Sintetizador de voz .............................................................................................................. 19 2.1.5 Codificação do Hardware .................................................................................................... 21 2.1.6 Conversão do texto em Braille ............................................................................................ 22 2.1.7 Visão geral do Software ...................................................................................................... 22

2.2 HARDWARE .............................................................................................................................. 23 2.2.1 Tempo de conversão ............................................................................................................ 23 2.2.2 Comunicação USB ............................................................................................................. 23 2.2.3 Comunicação Serial ............................................................................................................. 24 2.2.4 Célula Braille ....................................................................................................................... 24 2.2.5 Microcontrolador ................................................................................................................. 25 2.2.6 Estrutura PIC 16F877A ....................................................................................................... 26 2.2.7 Estrutura PIC 18F4550 ........................................................................................................ 26 2.2.8 Firmware dos microcontroladores ....................................................................................... 26 2.2.9 Funcionamento da célula Braille ......................................................................................... 26 2.2.10 Display LCD........................................................................................................................ 27 2.2.11 Funcionamento do Hardware............................................................................................... 27

3. CRONOGRAMA DO PROJETO ............................................................ 29

4. CUSTOS DO PROJETO ........................................................................ 30

5. RESULTADOS....................................................................................... 32

6. CONCLUSÃO ........................................................................................ 35

REFERÊNCIAS ............................................................................................... 36

ANEXO A - ARTIGO CIENTÍFICO .................................................................. 39

ANEXO B - MANUAL DO HARDWARE ......................................................... 44

ANEXO C - MANUAL DO SOFTWARE .......................................................... 45

ANEXO D - FOTOS ......................................................................................... 48

6

LISTA DE ABREVIATURAS E SIGLAS

OCR Reconhecimento ótico de caracteres.

PIC Microcontrolador

MEC Ministério da Educação e Cultura

Braille-cell Célula Braille.

SQL Linguagem de consulta estruturada.

API Interface de programação de aplicativos.

7

LISTA DE FIGURAS

Figura 1.2: Digrama de uma célula Braille. (História do Sistema Braille) ................................................... 12 Figura 1.3.1: Criança aprendendo Braille (MONROE, 2010). ....................................................................... 13 Figura 2.1.1: Diagrama em blocos do hardware completo ............................................................................. 15 Figura 2.1.1.1: Drivers chamados pela classe webcam .................................................................................. 16 Figura 2.1.1.2: Fluxograma da captura da imagem. ....................................................................................... 16 Figura 2.1.2.1: Captura da imagem texto. ....................................................................................................... 17 Figura 2.1.2: Fluxograma da Codificação da imagem. ................................................................................... 18 Figura 2.1.3.1: Fluxograma do banco de dados. ............................................................................................. 19 Figura 2.1.4.1: Fluxograma do sintetizador de voz. ........................................................................................ 20 Figura 2.1.4.2: Tela inicial do programa. ....................................................................................................... 20 Figura 2.1.5.1: Fluxograma da codificação do hardware. .............................................................................. 21 Figura 2.1.6.1: Conversor de texto em Braille. ............................................................................................... 22 Figura 2.1.7.1: Visão geral do Software. ......................................................................................................... 22 Figura 2.2.3.1: Diagrama em blocos da comunicação serial. ......................................................................... 24 Figura 2.2.4.1: Célula Braille construída sem a tampa................................................................................... 25 Figura 2.2.4.2: célula Braille construída com a tampa. .................................................................................. 25 Figura 2.2.9.1: Diagrama do chip ULN2803 (SEMICONDUCTOR). ............................................................. 27 Figura 2.2.10.1: Display LCD. ........................................................................................................................ 27 Figura 2.2.11.1: Diagrama em blocos do Hardware completo. ...................................................................... 28 Figura 3.1: Cronograma do projeto. ............................................................................................................... 29 Figura 4.1: Custo do projeto primeira parte. .................................................................................................. 30 Figura 4.2: Custo do projeto segunda parte. ................................................................................................... 31 Figura 5.1: Esquemático do hardware. ........................................................................................................... 33 Figura 5.2: Resultado final do Hardware. ....................................................................................................... 34 Figura C.1: Passo 1. ........................................................................................................................................ 45 Figura C.2: Passo 2. ........................................................................................................................................ 46 Figura C.3: Passo 3. ........................................................................................................................................ 46 Figura C.4: Passo 4. ........................................................................................................................................ 46 Figura C.5: Passo 5. ........................................................................................................................................ 47 Figura D.1: sobre a permissão da utilização de produtos Microsoft .............................................................. 48 Figura D.2: Usuário utilizando a célula - Braille. .......................................................................................... 48 Figura D.3: B-Touch sendo utilizado em um livro (YOU, 2009). .................................................................... 49

8

LISTA DE TABELAS

Gráfico 5.3: Quantidade de caracteres em relação à quantidade de caracteres codificados por palavra. .... 34 Tabela B.1: Problemas e soluções do hardware. ............................................................................................. 44

9

RESUMO

A adaptação de deficientes visuais ao convívio na sociedade sempre foi um grande

desafio para todas as áreas de tecnologia e desenvolvimento social. Mesmo com os

avanços tecnológicos em todas as áreas do conhecimento, poucos produtos eletrônicos

ainda são disponíveis para o auxílio da leitura de textos por deficientes visuais. O objetivo

do projeto é construir um codificador Braille utilizando duas áreas da tecnologia hardware

e software com a finalidade de educar o usuário na alfabetização Braille.

Palavras-Chave: Braille, OCR, sintetizador de voz, célula Braille.

10

CODING OF DOCUMENTS AND READING ALOUD FOR

THE BLIND

ABSTRACT

The adaptation of the visually impaired living in society has always been a great challenge

for all areas of technology and social development. Even with technological advances in all

areas of knowledge, few electronic products are still available to support the reading of

texts for the visually impaired. The project goal is to build an encoder Braille using two

areas of technology hardware and software in order to educate the user in Braille literacy.

Keywords: Braille, OCR, speech synthesizer, Braille cell.

11

1. INTRODUÇÃO

As escolas e universidades, desde 1988 com a promulgação da Constituição

Federal, passaram a assegurar o direito à igualdade de condições de acesso e permanência

aos estudantes. “Essa nova escola acolhe e ensina os alunos respeitando as diferenças

individuais, raciais, políticas, religiosas, sociais ou culturais.” (PELOSI e NUNES, 2009).

A legislação brasileira garante quando necessário, serviços de apoio especializados na

escola regular para atender às particularidades dos estudantes especiais. Como serviços de

apoio especializados, compreendem-se currículos adaptados e flexíveis, métodos, técnicas

e recursos educacionais específicos, segundo (BRASIL, 1996 in apud PELOSI e NUNES,

2009).

No processo de inclusão escolar, para estudantes com necessidades educacionais

especiais, surge então uma nova área do conhecimento denominada Tecnologia Assistiva.

A Tecnologia Assistiva abrange recursos e serviços que proporcionam maior qualidade de

vida aos indivíduos que possuem perdas funcionais devido há uma deficiência ou resultado

do processo de envelhecimento. (PELOSI e Nunes, 2009 in apud KING, 1999; BARNES;

TURNER, 2001; BERSH; PELOSI, 2007)

Um dos produtos lançados no mercado e o B-Touch um celular com interface

Braille (figura D.3) . Possui um reconhecimento de objetos e leitor de livros. Desta forma,

passando o aparelho em um livro comum, o celular irá automaticamente traduzir o que está

escrito no livro e irá reproduzir de forma táctil no display em Braille (YOU, 2009).

Comprar um celular deste ainda é muito caro e produtos voltados para o meio educacional

ainda não existem.

No intuito de apoiar professores que desempenham a multiplicidade de atividades

no ensino especial, surgiu a idéia da elaboração de um codificador de texto em voz e

leitura para cegos que facilita o aprendizado do Braille. Dentro do contexto de tecnologia

assistiva voltada para cegos, é importante a compreensão de outros dois conceitos que são

acessibilidade e a linguagem braile.

1.1 Acessibilidade

Escadas inadequadas, portas estreitas em construções antigas e vagas de

estacionamento apertadas são exemplos de obstáculos para acessibilidade no cotidiano.

Para a maioria das pessoas isto pode parecer normal, mas para pessoas com algum tipo de

deficiência física pode ser um grande problema. Nos últimos anos tem-se notado uma

preocupação progressiva na questão da acessibilidade. Isto adveio principalmente pelas

mudanças da mentalidade das pessoas a partir dos anos 80, com a conscientização do Ano

Internacional das Pessoas Deficientes, criado pela Organização das Nações Unidas. A

pessoa com deficiência física começou a ser vista não através da sua deficiência, mas sim

pela sua eficiência, dando a tônica da diversidade. Para terem o direito de livre acesso no

12

meio físico e de livre locomoção, redigido pela Constituição Federal do Brasil, falta uma

visão mais clara de obrigatoriedade, pois ainda hoje essa lei não é compreendida por todos.

(Acessibilidade, 2005). No caso específico de cegos e deficientes visuais, a maior

dificuldade é a utilização do computador, pois não conseguem obter informações

apresentadas visualmente e não conseguem navegar na internet por meio de teclado.

(PRADO, 2007)

1.2 Braille

O Braille é um código universal de leitura tátil e de escrita muito utilizado pelos

cegos. Foi inventado na França por Louis Braille que curiosamente era um cego. No ano de

1825 foi o marco da educação e integração dos cegos na sociedade. (História do Sistema

Braille)

Antes deste invento foram tentadas diversas maneiras de auxiliar pessoas cegas a ler e

escrever. Um dos meios que mais se destacou foi o processo de representação dos

caracteres com linhas em alto-relevo, criado pelo francês Valentin Hauy, fundador da

primeira escola para cegos no mundo em 1784. No sistema de Valentin Hauy os alunos

cegos só tinham acesso à leitura. Foi lá que estudou Louis Braille. Ele tomou

conhecimento de um sistema de sonografia criado pelo oficial do exército francês Charles

Barbier. Com este sistema era possível fazer a comunicação noturna entre os oficiais

durante a guerra. Baseava-se em 12 sinais contendo linhas e pontos salientes que

representavam sílabas na língua francesa. O sistema de Charles Barbier não obteve

resultado. A representação tátil do sistema de Barbier foi a base da criação do sistema

Braille, aplicado tanto na escrita como na leitura para as pessoas cegas. (História do

Sistema Braille)

O sistema Braille possui seis pontos em relevo dispostos por duas colunas e três linhas,

totalizando 63 símbolos diferentes. É considerado o melhor meio de leitura e escrita para

os cegos. (História do Sistema Braille)

Figura 1.2: Digrama de uma célula Braille. (História do Sistema Braille)

1.3 Aspectos Relevantes do Projeto

Deve-se observar que nem todo cego é alfabetizado em Braille. Por isso que tanto o

software quanto o hardware possuem uma série de acessórios para auxiliar nesta

dificuldade. Audição, tato e visão são os três sentidos básicos no processo de

aprendizagem de um indivíduo. Os estudantes cegos aprendem o Braille para a leitura, os

surdos aprendem libras para entender o intérprete de sala, crianças com deficiência

intelectual utilizam jogos pedagógicos para auxiliar na aprendizagem e crianças com

paralisia entendem como usar uma prancheta de figuras com ações, como por exemplo,

beber água e ir ao banheiro, apontando sempre que for necessário. Nas escolas o essencial

seria ampliar o espaço para a prática e educação de crianças especiais. Basta ter maiores

incentivos do MEC para difundir este programa (MONROE, 2010).

13

Figura 1.3.1: Criança aprendendo Braille (MONROE, 2010).

1.4 Conteúdos do Trabalho

Toda a parte de desenvolvimento do software e hardware estão descritos no

capítulo 2.

Cronograma e custos do projeto estão descritos no capítulo 3 e 4.

Todos os resultados deste projeto são descritos no capítulo 5.

E finalmente toda a conclusão obtida no desenvolvimento do projeto é descrito

no capítulo 6.

14

2. O PROJETO

O projeto consiste na implementação de um sistema composto por software e hardware

para uso no auxílio de deficientes visuais ao acesso de textos impressos como livros e

outros documentos (com ajuda de uma pessoa capacitada). O sistema também poderá ser

utilizado por pessoas sem deficiência visual com interesse no aprendizado da linguagem

Braille de forma interativa.

O software é responsável pelo gerenciamento de todas as funções do sistema. O

processo é iniciado pela captura de imagens de documentos e sua transformação em

caracteres alfa-numéricos, que após passar por um sintetizador de voz, traduz de forma

audível. Cada caracter também é representado de forma táctil em código Braille através de

transdutores eletromagnéticos ou piezoelétricos para serem sentidos na ponta dos dedos. O

software foi implementado na linguagem de programação C# e o hardware é composto de

uma célula Braille que representa os caracteres no alfabeto Braille.

Devido à complexidade de implementação do algoritmo de reconhecimento de

caracteres e também por não ser o objetivo principal do projeto, foi utilizado um software

comercial com as devidas autorizações do autor como mostra a figura D.1 (Legal and

Corp. Affairs: Use of Microsoft Copyrighted Content, 2005). Para facilitar o aprendizado

ou treinamento de deficientes visuais na célula Braille, o programa conta com um

sintetizador de voz que traduz o texto caracter a caracter.

O hardware utiliza seis pequenos dispositivos atuadores eletromagnéticos (um para

cada ponto da célula Braille) para serem detectados pelos dedos dos cegos como pode ser

visto pela figura 2.2.4.2. Ele também conta com um display LCD para auxiliar o indivíduo

que não sabe o que os atuadores eletromagnéticos estão representando.

Este capítulo é dividido da seguinte forma:

A seção 2.1 trata somente da implementação do software e na seção 2.2 trata somente

da implementação do hardware.

2.1 SOFTWARE

O Software é dividido em cinco partes, primeiro a captura da imagem pelo uso de uma

webcam, segundo a codificação da imagem utilizando o algoritmo de reconhecimento de

caracteres, terceiro (opcional) o armazenamento do texto em um banco de dados, quarto a

passagem do texto em um sintetizador de voz e quinto a codificação do texto para a Célula

Braille. Caso o usuário deseje digitar um texto para ser codificado em Braille, foi previsto

15

um campo para a entrada destas informações. Após a codificação, cada caracter é mostrado

em Braille ao usuário de forma gráfica. Todo o projeto é feito no Visual Studio 2008 em

C#, pois é uma linguagem de programação muito utilizada nas empresas para

desenvolvimento de sites e também é uma das linguagens mais atuais que existe.

(Microsoft Visual Studio 2008, 2008)

O diagrama em blocos do programa completo com o OCR, captura da imagem, banco

de dados, conversão de texto em Braille e envio dos caracteres pode ser visto na figura

2.1.1.

Escolhe um das

opções do

Software

Liga a webcam Captura imagem

Passa pelo

algoritmo OCR

Insere um texto, abre

um documento ou

recebe o texto do

algoritmo OCR

Envia o texto

caracter por

caracter para o

Hardware

Fala o caracter

que está sendo

convertido ou

não

Insere, remove

ou altera os

dados no banco

de dados.

Figura 2.1.1: Diagrama em blocos do hardware completo

2.1.1 Captura da imagem

A captura da imagem se dá através das chamadas feitas pelo programa para os drivers

da webcam (figura 2.1.1.1). O usuário pode iniciar ou parar uma transmissão. Quando o

usuário faz a requisição da codificação de um texto, é enviado para o driver da webcam a

solicitação de uma nova captura de imagem. Toda a classe da webcam foi feita a partir de

um estudo dos drivers do sistema operacional para inicializar uma transmissão via

webcam. O principal driver utilizado com a webcam é o driver avicap32.dll. Ele é

responsável por iniciar, parar ou capturar uma imagem da webcam. Tudo começa com a

transmissão, ou seja, um driver do sistema operacional avisa em qual Handle (aplicação)

deve-se iniciar a transmissão, em seguida é enviado o tamanho da Handle para o driver

responsável pela transmissão da webcam. Quando estas operações são finalizadas, o

controle do driver se da basicamente por códigos hexadecimais.

16

Figura 2.1.1.1: Drivers chamados pela classe webcam

Na figura 2.1.1.2 está detalhado todo o esquema do funcionamento da célula Braille,

desde sua transmissão até sua finalização:

Início

Inicia a

transmissão

Salva

imagem

Carrega o

driver da

câmera

Captura a

imagem

Destroi a

janela de

exibição

Fim

Figura 2.1.1.2: Fluxograma da captura da imagem.

17

2.1.2 Codificação da imagem

A codificação da imagem é feita através de uma biblioteca do sistema operacional

Windows. Os direitos de uso foram discutidos com a própria Microsoft que é a proprietária

desta biblioteca, a qual autorizou a utilização para fins acadêmicos e não comerciais (Legal

and Corp. Affairs: Use of Microsoft Copyrighted Content, 2005). A biblioteca é uma API

do Windows que auxilia os desenvolvedores em códigos mais complexos, como por

exemplo, o código OCR (Reconhecimento Ótico de Caracteres) que recebe uma imagem

texto e converte esta imagem texto em um texto que pode ser manipulado pelo próprio

software desenvolvido. Um código OCR é extremamente complexo que demanda muito

tempo para ser desenvolvido, pois envolve fonte, tamanho e tipo de letra. Também

envolve questões de tratamento de imagem (Processamento de Imagens) e Redes Neurais

(Inteligência Artificial). No software a captura da imagem (figura 2.1.2.1) e do Algoritmo

OCR, foi integrado, ou seja, quando o usuário captura uma imagem ele já faz a própria

conversão da imagem texto em texto. (figura 2.1.2.2)

Para se ter uma idéia o algoritmo OCR é feito da seguinte forma: primeiro é alterada a

imagem texto para cor preta e branca. Depois de aplicado este filtro, são extraídos todos os

pixels pretos e brancos para uma matriz. Estes pixels passam por um código de Redes

Neurais (que é responsável por dizer qual caracter está sendo representado na imagem).

Finalmente o caracter representado na imagem é convertido para um texto. O problema é

que o código de Redes Neurais precisa de certo treinamento para poder saber que tipo de

letra é, ou seja, tipos de fonte, tamanho e quantidade de preto. Também não se trabalha

com brancos e pretos absolutos, ou seja, deve-se trabalhar com probabilidade por causa da

diferença de luz aplicada sobre uma imagem, considerando a porcentagem de preto e de

branco para implementar este algoritmo de forma correta. Quanto melhor a resolução da

imagem, melhor será a conversão do texto solicitado. Não se deve utilizar o algoritmo

OCR em imagens contendo figuras, pois ele não conseguirá extrair um caracter desta

imagem e conseqüentemente um símbolo estranho aparecerá no lugar da conversão da

imagem.

A API (Interface de Programação de Aplicação) do Windows é um software com

um conjunto de rotinas e funcionalidades utilizadas por aplicativos que não querem

envolver-se em detalhes da implementação do software, mas apenas em usar seus serviços.

(SPINELLIS, 1998)

Figura 2.1.2.1: Captura da imagem texto.

18

Início

Carrega a

imagem

salvada.

Verifica se existe uma palavra na

imagem.

Codifica a

imagem e

joga a frase

em um vetor.

Fecha o

arquivo

Fim

Figura 2.1.2: Fluxograma da Codificação da imagem.

2.1.3 Banco de dados

A utilização do SQL Server 2005 Professional Edition (VICENT, 2007), foi a melhor

opção para se utilizar no software de controle do sistema desenvolvido, apesar de ser pago,

é de fácil integração com o Visual Studio Express 2008. Basta adicionar nova conexão e o

Visual Studio faz o resto e lhe fornece uma string de conexão com o banco de dados. A

principal dificuldade é forçar o programa a salvar os dados dentro do banco de dados, pois

o padrão dele é salvar apenas em tempo de execução. Com a string de conexão feita, basta

programar uma classe que faça os métodos, como por exemplo, inserção, alteração,

consulta e remoção do texto ou dado salvo pelo programa.

O SQL (Linguagem de Consulta Estruturada) surgiu nos anos 70 nos laboratórios da

IBM. É um banco de dados de fácil utilização. Ele especifica a forma do resultado e não o

caminho para se chegar ao resultado. Também passou por várias modificações, pois não

suportava as expressões regulares de outros idiomas. Ficou a cargo da ANSI e da ISO fazer

estas tais modificações. Uma das suas vantagens é a migração de uma plataforma para

outra sem a alteração da estrutura. O SQL tem variações e extensões diferentes dos

fabricantes dos sistemas gerenciadores de base de dados.

Na figura 2.1.3.1 é possível visualizar de forma clara como é feita a inserção de um

dado no banco de dados.

19

Início

Pega a data

do sistema

Pega o texto

a ser

armazenado

Abre

conexão com

o banco de

dados

Insere as

informações

no banco de

dados

Fecha a

conexão com

o banco de

dados

Fim

Figura 2.1.3.1: Fluxograma do banco de dados.

2.1.4 Sintetizador de voz

O sintetizador de voz é implementado caracter por caracter, ou seja, a voz produzida

pelo software é feita letra por letra. Na tela inicial do programa (figura 2.1.4.2) pode-se

observar o sintetizador de voz. Ele fala as duas opções do programa “Inserir texto” ou

“Capturar uma imagem texto”. As frases são inseridas para auxiliar tanto o operador do

programa quanto um cego que está interagindo com o programa (claro que isto pode ser

complicado, mas botões extra grandes no software ajudam a identificar as duas opções do

programa). Para gravar e programar o sintetizador é necessário falar letra por letra a cada

um segundo e meio (explicações adicionais na seção do hardware).

O formato de som utilizado no programa é o som WAVE, um formato de áudio muito

utilizado pela Microsoft e IBM. Ele é um tipo de áudio sem compressão diferentemente do

mp3, por exemplo, um formato de áudio com compressão. Também ocupa um espaço

muito grande de armazenamento. Uma das soluções é a conversão do som WAVE para

mp3.

Na figura 2.1.4.1 é possível ver a interação do software com o sistema operacional

para a implementação do sintetizador de voz.

20

Início

Busca a API

do Windows

que faz o

sintetizador

de voz

Localiza o

texto

Joga no

sintetizador

de voz.

Reproduz o

texto

Insere um

Sleep para

controlar a

velocidade da

voz

Fim

Figura 2.1.4.1: Fluxograma do sintetizador de voz.

Figura 2.1.4.2: Tela inicial do programa.

21

2.1.5 Codificação do Hardware

O software se comunica com o hardware através da comunicação serial-USB, ou seja,

uma USB se comportando como uma serial RS232. As informações são enviadas após o

usuário apertar o botão de enviar. O software imediatamente começa a se comunicar com o

hardware enviando as letras que devem ser representadas em Braille a cada um segundo e

meio (Figura 2.1.5.1). Letras ou caracteres não reconhecidos pelo hardware não serão

enviados. Enquanto o software envia as informações para o hardware, ele também verifica

se o hardware não está enviando um sinal de interrupção. Caso tenha um sinal de

interrupção, o envio das informações é interrompido até que o usuário exija uma nova

retransmissão de dados. Uma das dificuldades aqui encontradas foi à transmissão de

caracteres especiais via serial, pois a codificação estava sendo feita para o sistema

americano e não para o brasileiro.

A porta de comunicação serial ou RS232 é muito utilizada para conectar modens,

mouses e algumas impressoras. O envio de dados é feito por fila, ou seja, bit a bit. Antes

ela era muito parecida com o DB25 (porta paralela) que necessitava de 25 fios para a

utilização da mesma. A IBM, com seu novo projeto IBM-PC, decretou que apenas 9 fios

eram necessários. Contudo, manteve os computadores com o DB25 que era um padrão

para a época.

Início

Recebe o caracter a

ser transmitido

Codifica o

caracter em

binário ou

hexadecimal

Transmite o

caracter

Espera um

tempo para

retransmitir

outro caracter

Fim

Figura 2.1.5.1: Fluxograma da codificação do hardware.

22

2.1.6 Conversão do texto em Braille

A conversão do texto em Braille se dá através de uma fonte chamada Braille Kiama.

A maior dificuldade foi o tratamento de letras maiúsculas e números, pois são símbolos

compostos, ou seja, antes de escrever letra maiúscula em Braille deve-se enviar um

símbolo de sinal de letra maiúscula e depois o caracter. Depois de um estudo minucioso no

alfabeto Braille, foi possível a implementação da conversão do texto em Braille (figura

2.1.6.1). Quando o usuário insere um texto maiúsculo ou um número, o software identifica

estes parâmetros e imediatamente já insere um sinal antes do caracter.

Figura 2.1.6.1: Conversor de texto em Braille.

2.1.7 Visão geral do Software

O sistema implementado contribui muito para a acessibilidade de pessoas com

deficiência visual a textos impressos com auxílio de um codificador em tempo real do texto

em Braille além da tradução em tempo real pela célula Braille de forma táctil,

sincronizando texto, voz e acionamento da célula. Na figura 2.1.7.1 é possível visualizar o

software completo.

Figura 2.1.7.1: Visão geral do Software.

23

Todas estas ferramentas auxiliam no aprendizado em Braille, mas para o sistema

ficar completo há necessidade de um produto que interage com o usuário é fundamental.

Na seção 2.2 está descrito toda há implementação do hardware em conjunto com o

programa.

2.2 HARDWARE

O desenvolvimento do Hardware foi feito através de muitas pesquisas e modificações

no decorrer do projeto. Uma das principais modificações é a questão da comunicação com

o computador.

O primeiro protótipo foi desenvolvido pela comunicação serial RS232, mas como a

maioria das conexões e feita pela USB, o projeto foi modificado. Ao invés de se utilizar o

microcontrolador 16F877A para fazer a comunicação serial, foi utilizado o PIC18F4550

que possui um suporte para comunicação USB.

2.2.1 Tempo de conversão

“Cientistas desenvolvem nova tela de toque em Braille”, esta era a principal notícia do

site Newscientist (ANANTHASWAMY, 2009). A primeira implantação foi no celular

Nokia 770, a tela (touch-screen) contém cristais piezoelétricos que produzem certa

quantidade de vibração para representar o caracter em Braille. O usuário só toca na tela e

sente os pulsos elétricos. O teste de tempo de conversão foi feito com um software que

mandava uma sequência de caracteres. (ANANTHASWAMY, 2009)

“Levou um tempo para eles começarem a ler, porque a representação é totalmente

diferente de tudo o que eles já experimentaram. Porém, uma vez acostumados, eles podiam

ler uma letra a uma velocidade aproximada de 1,25 segundos”, disse Rantala, noticiado

pelo site Engadget. (ANANTHASWAMY, 2009)

Como a velocidade era aproximada, foi arredondado este tempo para 1,5 segundos para

ficar mais fácil de inserir o sintetizador de voz no software.

2.2.2 Comunicação USB

USB é uma porta de comunicação que permite a conexão de periféricos que não

necessitam do reinício do computador. Antigamente as conexões como a serial ou porta

paralela só reconheciam o driver conectado ao reiniciar o HD. Uma das vantagens da

comunicação USB é a velocidade de transmissão e a utilização de diversas portas em um

único computador. O USB foi desenvolvido por um consórcio de empresas como, por

exemplo, a Microsoft, Apple, HP e Intel. Foi muito difícil as empresas chegarem a um

acordo sobre o controlador. Destaca-se o UHCI (Universal Host Controller Interface) e

OHCI (Open Host Controller Interface) (ALECRIM, 2010). A USB passou por diversas

atualizações desde USB 0.7 à USB 3.0. A diferença é que a velocidade de transmissão da

versão 0.7 era 1,5 Mbps e a velocidade 3.0 é de 4,8 Gbps. A versão USB 3.0 só será

lançada a partir do ano 2010 (ALECRIM, 2010). Exemplos de dispositivos que funcionam

com USB: webcam, teclado, mouse, impressora, placa de som, modem, mp3 e uma

infinidade de componentes eletrônicos. Suporta praticamente todos os sistemas

operacionais, como por exemplo, Mac e Windows. Com a tecnologia “Plug and Play”

melhorou muito a configuração da conexão USB, pois ele instala automaticamente todos

os drivers para o bom funcionamento do dispositivo conectado pela comunicação USB. A

porta USB foi uma evolução no mercado, pois com ela diversos positivos móveis

funcionam através dela. (ALECRIM, 2010)

24

2.2.3 Comunicação Serial

A comunicação serial ou RS232 é uma comunicação que envia os dados bit a bit, ou

seja, um dado de cada vez. Já na paralela estes dados (de 8 bits) são enviados todos de uma

vez. Existem três tipos de comunicação serial síncrona, assíncrona e isócrona:

Comunicação síncrona: os dois terminais de comunicação se sincronizam para se obter

alta performace.

Comunicação assíncrona: os dois terminais de comunicação não funcionam de forma

síncrona, ou seja, dados de recebimento e envio são feitos de forma aleatória.

Comunicação isócrona: os dois terminais de comunicação negociam uma taxa de

transferência de dados.

Existem também três tipos de comunicação:

Comunicação simplex: a transmissão dos terminais se dá em um sentido só.

Comunicação half-duplex: a transmissão ocorre nos dois sentidos dos terminais de

comunicação.

Comunicação full-duplex: a transmissão ocorre nos dois sentidos simultaneamente.

(GALLO, 2003)

Comunicação

serialProduto

TX

RX

Terra

Figura 2.2.3.1: Diagrama em blocos da comunicação serial.

TX: Transmissão.

RX: Recepção.

2.2.4 Célula Braille

A célula Braille foi montada através de diversas pesquisas, tais como tamanho e

tipo de material. Uma das soluções encontradas foi à utilização de atuadores. Estes

funcionam da seguinte forma: a posição da haste varia de acordo com a corrente inserida

no núcleo de ferro, ou seja, são sistemas eletromecânicos de deslocamento. O problema é

que os atuadores são grandes e o propósito do projeto era um mini atuador. No projeto foi

utilizado um mini atuador de portão para servir como atuador eletromecânico. O sistema

eletromecânico está implementado em uma caixa de madeira isolada com isopor, pois o

isopor é isolante e não deixa o calor do sistema eletromecânico passar para a madeira

(figura 2.2.4.1). Em cima foi colocado um FOAM (material parecido com isopor) que

suporta temperaturas de até 70 graus. Um dos problemas encontrados foi o calor, pois o

sistema eletromecânico dissipava muita potência (figura 2.2.4.2).

Cálculo da potência:

Cada mini atuador demandava 200mA de corrente.

Cada mini atuador funciona com 12V.

Potência: 6x12x0, 2 = 14,4W.

25

Figura 2.2.4.1: Célula Braille construída sem a tampa.

Figura 2.2.4.2: célula Braille construída com a tampa.

2.2.5 Microcontrolador

Circuito integrado que possui um microprocessador e todos os periféricos essenciais ao

seu funcionamento como memória de programa (EPROM), memória de dados (RAM),

dispositivo de entrada e saída e dispositivo controlador de interrupção.

O microprocessador é o responsável por fazer todos os cálculos e processos que

permitem o funcionamento de um computador ou de um microcontrolador. O processador

é um circuito eletrônico que depende da freqüência de um oscilador interno ou externo.

Um cristal de quartzo é responsável por gerar freqüência de oscilação para o

microprocessador. A freqüência do oscilador corresponde ao número de pulsos por

segundo. A velocidade é expressa em Hertz (impulsos por segundo). A cada pulso do

relógio o processador executa uma instrução ou parte dela. Instrução é a operação que o

processador pode efetuar. Estas instruções são armazenadas em uma memória principal e

são tratadas pelo processador. Composta por dois campos: código operacional, onde

contém as instruções que o processador deve fazer, e código operando, onde são definidos

os parâmetros da instrução. As instruções são divididas em quatro categorias: acesso à

memória, operações aritméticas, operações lógicas e controle. Também possui os registros

onde fica os dados armazenados temporariamente e a memória cache que na verdade é uma

memória rápida e que diminui o tempo de espera das informações armazenadas pela

memória. Por último possuem os sinais de controle (que são responsáveis pelos sinais

elétricos no processador) e as unidades de funcionamento (como por exemplo, uma

unidade de instrução ou um contador de programa).

26

2.2.6 Estrutura PIC 16F877A

8k X 14 bits de memória flash.

368 x 8 bits de memória RAM.

256 x 8 bits de memória EEPROM.

Pilha implementada por hardware com 8 níveis.

5 portas de E/S.

14 fontes de interrupção.

Dois módulos de Captura/Comparação/PWM.

Conversor A/D de 10 bits com entradas multiplexadas.

Porta serial síncrona.

Recursos de hardware para proteção de código.

2.2.7 Estrutura PIC 18F4550

32 kb de memória de programa.

1536 bytes de memória de dados volátil (RAM).

256 bytes de memória de dados não volátil (E2PROM).

15 interrupções.

4 timers.

2 Capture/Compare/PWM.

USART.

Porta USB.

PSP (parallel slave port)

8 canais de conversão A/D com 10 bits cada.

2.2.8 Firmware dos microcontroladores

Os códigos dos dois microcontroladores foram escritos na linguagem C. O primeiro

PIC18F4550 faz a conversão do caracter em Braille e o segundo PIC16F877A recebe o

caracter trata a informação e envia para o Display LCD 16x2.

2.2.9 Funcionamento da célula Braille

O funcionamento da célula Braille é feita através do nível lógico enviado pelo

microcontrolador para um circuito integrado de potência, o chip ULN2803 (figura 2.2.9.1).

O chip ULN2803 possui uma série de transistores Darlington utilizados em chaveamentos

de cargas de média potência, como motores de passo. Uma das vantagens é que ele suporta

cargas de até 50 V. Uma das suas desvantagens é que a corrente não pode ultrapassar

27

500mA. Relés não foram utilizados como chaveamento, pois o problema seria o espaço

ocupado e o barulho gerado em cada relé.

Figura 2.2.9.1: Diagrama do chip ULN2803 (SEMICONDUCTOR).

2.2.10 Display LCD

O display LCD (figura 2.2.10.1) é responsável por mostrar ao usuário qual letra

está sendo convertida pelo hardware. Se o usuário não entende Braille o display mostrará o

caracter no modo convencional. O display utilizado é de 16x2 (16 colunas por duas linhas)

sem backlight (luz de fundo).

Figura 2.2.10.1: Display LCD.

2.2.11 Funcionamento do Hardware

O software envia o caracter, a ser representado pelo hardware, através da porta de

comunicação USB. O microcontrolador PIC18F4550 recebe esta informação e envia o

mesmo caracter, através da comunicação serial para o PIC16F877A. Este PIC trata o

caracter recebido e envia esta informação para o LCD 16X2. Aquele converte a letra em

Braille ativando os sinais lógicos de saída. Os sinais lógicos de saída são representados

através de Leds, dispostos em forma de uma célula Braille. Os sinais lógicos de saída,

também são enviados para os circuitos integrados ULN2803 que recebem os sinais lógicos

e ativam ou desativam os atuadores para fazer a conversão em Braille. O hardware pára,

28

por um segundo e meio, até receber uma nova letra. Ele também pára de fazer a conversão

se o botão de interrupção do PIC18F4550 for acionado, pois o hardware pára de enviar a

frase “terminar” para o software que logo é interrompido. A utilização de dois

microcontroladores foi necessária, pois o LCD necessita de diversas interrupções do

microcontrolador para poder escrever algo e como não era desejado interromper o

microcontrolador principal, foi adicionado um microcontrolador secundário para

desempenhar esta função.

Todas as etapas do funcionamento do hardware estão descritos na imagem

2.2.11.1.

USB envia as

informações

Microcontrolador

principal

PIC18F4550 recebe

as informações.

Leds em formato

Braille recebem o

sinal do caracter

a ser convertido

Chaveamento dos

atuadores recebem

o sinal do caracter a

ser convertido.

Resultado

apresentado na

célula Braille.

Fonte externa de

12V e corrente de

1,5A.

Microcontrolador

secundário PIC16F877A

recebe as informações

através da comunicação

serial.

Display LCD

recebe as

informações que

deve escrever.

Caracter enviado

a cada 1,5s.

Figura 2.2.11.1: Diagrama em blocos do Hardware completo.

Todo o produto desenvolvido é algo inovador e com grande capacidade de ajudar as

pessoas que queiram ou necessitam aprender um pouco sobre o Braille. O conjunto de

ferramentas do hardware facilita neste processo de aprendizagem e também aumenta o

interesse na utilização do mesmo.

29

3. CRONOGRAMA DO PROJETO

Figura 3.1: Cronograma do projeto.

30

4. CUSTOS DO PROJETO

Figura 4.1: Custo do projeto primeira parte.

Descrição Valor por HoraTotal de Horas

TrabalhadasValor Total

Direta 33,00R$ 740 R$ 24.420,00

Do Professor Orientador 66,00R$ 160 R$ 10.560,00

Do Coordenador do Curso 120,00R$ 80 R$ 9.600,00

44.580,00R$

DescriçãoValor do Software

no Mercado

Depreciação em

mesesHoras Mês Valor por Hora

Total de

Horas

Trabalha

das

Valor Total

Windows Seven 352,86R$ 12 220 0,13R$ 220 29,41R$

Microsoft Office Home Student 2007 200,00R$ 12 220 0,08R$ 220 16,67R$

Plataforma de Desenvolvimento Visual Studio 2008 Professional 845,76R$ 12 220 0,32R$ 70 22,43R$

Project 2.000,00R$ 12 220 0,76R$ 110 83,33R$

151,83R$

Descrição

Valor do

Equipamento no

Mercado

Depreciação em

mesesHoras Mês Valor por Hora

Total de

Horas

Trabalha

das

Valor Total

Braille-cell B12 com um 1IAB(Interaction Button) R$ 305,50 12 220 0,12R$ 50 5,79R$

Notebook R$ 3.700,00 12 220 1,40R$ 220 308,33R$

Fonte de alimentação simples 670,00R$ 12 220 0,25R$ 220 55,83R$

Fonte de alimentação simétrica 1.380,00R$ 12 220 0,52R$ 100 52,27R$

Osciloscópio 3.500,00R$ 1 220 15,91R$ 100 1.590,91R$

Multimetro Digital 41,00R$ 1 220 0,19R$ 100 18,64R$

Protoboards 90,00R$ 12 220 0,03R$ 50 1,70R$

Amplificador LM351 1,20R$ 12 220 0,00R$ 50 0,02R$

Conversor USB porta paralela 79,00R$ 12 220 0,03R$ 50 1,50R$

Conversor USB serial 90,00R$ 12 220 0,03R$ 50 1,70R$

Caixa de som 45,00R$ 12 220 0,02R$ 50 0,85R$

Webcam de 1.3 megapixel 93,00R$ 12 220 0,04R$ 50 1,76R$

Cabo USB 4,90R$ 12 220 0,00R$ 50 0,09R$

PIC 18F4550 26,10R$ 12 220 0,01R$ 50 0,49R$

2.039,90R$

2.4.2 Custo Total do projeto

Gastos

com

Equipame

ntos e

Insumos

Valor total gasto com equipamentos e Insumos

Mão-de-

obra (RH)

Valor total da Mão-de-obra gasta com o projeto

Valor total gasto com Softwares

Gastos

com

Softwares

31

Figura 4.2: Custo do projeto segunda parte.

Valor do espaço em m2 Quantidade de m2Quantidade de

MesesValor Total

10,00R$ 25,00 8 2.000,00R$

2.000,00R$

Valor MensalQuantidade de

MesesValor Total

15,00R$ 8 120,00R$

1.500,00R$ 1 1.500,00R$

1.620,00R$

Descrição Sub-totalPercentual de

ImpostosValor Total

Total do projeto 50.391,73R$ 35,70% 78.369,72R$

Impostos

Gastos

com

Espaço

físico Valor total gasto com espaço

Gastos

com

Document

ação e

Gastos

Extras Valor total gasto com Documentação e Gastos Extras

32

5. RESULTADOS

Contando com a fase de pesquisa, desenvolvimento de software, protótipo e versão

final do hardware foi possível verificar que o projeto foi concluído como proposto.

Também foram adicionados acessórios além do projeto, como por exemplo, a

implementação do LCD. As dificuldades principais no software foram as implementações

da webcam, algoritmo OCR, do envio das informações para o hardware e do sintetizador

de voz. Para a programação da webcam, só havia suporte para programação Visual Basic e

não para C#, com isso foi necessário adaptá-lo para uma novo tipo de programação. No

sintetizador de voz, houve diversos questionamentos de como seria esta implementação se

era através de caracter por caracter ou de frase por frase. As dificuldades na parte de

hardware foi a implementação do LCD, do chaveamento da célula Braille, da construção

da célula Braille, da implementação do LCD, da comunicação USB e da construção final

de uma placa protótipo. O chaveamento da célula Braille teve que ser bem projetado para

suportar a constante mudança do sinal lógico de resposta. A construção da célula Braille

resultou em muitas pesquisas e muitas semanas de desenvolvimento, pois o principal

problema foi à dissipação do calor. Uma das soluções encontradas foi fazer funcionar o

dispositivo Braille no modo inverso. No teste da segunda versão do circuito as 50 palavras

não foram codificadas corretamente, pois o LCD travava. No gráfico 5.3 é possível

visualizar a quantidade de caracteres e o número de caracteres codificados corretamente

em cada palavra. Nota-se que o produto tinha uma taxa grande de erros. O problema

encontrado era do aterramento que causava certa resistência na trilha do circuito impresso.

A solução era colocar fios diretamente conectados ao terra para encurtar a distância e

diminuir a resistência,a qual interferia no sistema. O software de controle pode ser

utilizado por qualquer pessoa após um período de treinamento. O objetivo deste programa

é ser acessível a qualquer usuário, com ou sem deficiência visual. A velocidade do mesmo

depende muito do computador e do treinamento do operador. Rodando o software em um

Celeron D e um Core 2 Duo pode-se observar que o reconhecimento de caracteres é mais

lento no Celeron D. Mas isto nada impede de utilizar o programa com um processador

muito menos poderoso. Com estes questionamentos o projeto em si foi implantado como

proposto.

A figura 5.1 é o esquemático do hardware desenvolvido no Proteus (software de

desenvolvimento de circuitos):

33

Figura 5.1: Esquemático do hardware.

34

Figura 5.2: Resultado final do Hardware.

Gráfico 5.3: Quantidade de caracteres em relação à quantidade de caracteres codificados

por palavra.

A figura 5.2 é o resultado final do hardware em conjunto com a célula Braille. Este

produto é simples de ser utilizado e tem um custo de R$ 500,00. Com o hardware

finalizado nota-se que muitas ferramentas foram implantadas para beneficiar qualquer tipo

de usuário além dos deficientes visuais.

0

1

2

3

4

5

6

7

8

9

10

1 2 3 4 5 6 7 8 9

Pal

avra

s

Codificação de palavras

Quantidade decaracteres

Quantidade decaracteres codificados

35

6. CONCLUSÃO

O hardware e o software funcionaram conforme o esperado. O total de horas de

trabalho foram em torno de 500 horas e 5 meses de pesquisa, desenvolvimento e

implantação. O que demandou mais trabalho foi a parte de hardware, pois muitas idéias e

possibilidades foram surgindo no decorrer da implantação. Um exemplo disto foi a

implementação do LCD e a conversão do texto em Braille em tempo real no software. O

que foi muito gratificante neste projeto é a construção de uma célula Braille que custou um

mês de implantação, desenvolvimento, projeto e teste para se chegar ao produto final.

Este conversor de texto em voz e leitura para cegos não é só exclusivo para os

deficientes visuais. Pessoas que desejam aprender Braille também podem aprender de uma

forma prática e interativa, através do sintetizador que vai falando caracter por caracter a

frase a ser convertida, parte do LCD que mostra o caracter a ser convertido pela célula

Braille, led’s em formato Braille para mostrar a conversão do caracter em Braille e

transformação do texto em tempo real para o Braille. Neste projeto foram utilizados

conhecimentos de eletrônica na montagem da célula Braille, microprocessadores na parte

de controle e também conhecimentos de produtos que envolvem a questão da

acessibilidade. O mercado ainda não possui uma enorme quantia de produtos destinados

para as pessoas com deficiências, sejam mentais, visuais e motoras.

Com a variedade tecnológica é possível construir produtos que atendam pessoas com

necessidades especiais. Para isto, há necessidade de um maior incentivo por parte das

empresas e do governo.

36

REFERÊNCIAS

ABOUT optical character recognition (OCR) Support Microsoft-Office. Microsoft, 2010.

Disponivel em: <http://office.microsoft.com/en-us/help/about-optical-character-

recognition-ocr-HP003081255.aspx?CTT=1>. Acesso em: 21 out. 2010.

ACESSIBILIDADE. Faster Centro de Refrências, 2005. Disponivel em:

<http://www.crfaster.com.br/acess.htm>. Acesso em: 26 Agosto 2010.

ALECRIM, E. Tecnologia USB. Infowester, 31 Março 2010. Disponivel em:

<http://www.infowester.com/usb.php>. Acesso em: 20 Agosto 2010.

ANANTHASWAMY, A. Vibrating touch screen puts Braille at the fingertips. New

Scientist, 2009. Disponivel em: <http://www.newscientist.com/article/mg20127015.700-

vibrating-touch-screen-puts-braille-at-the-fingertips.html>. Acesso em: 1 Novembro 2010.

BENJAMIN Constant. Benjamin Constant, 2005. Disponivel em:

<http://www.ibc.gov.br/?itemid=387>. Acesso em: 21 out. 2010.

GALLO, M. A. . H. W. M. Comunicação entre Computadores e Tecnologias de Rede.

São Paulo: [s.n.], 2003.

HISTÓRIA do Sistema Braille. Senai. Disponivel em:

<http://www.senai.br/braille/historia.htm>. Acesso em: 26 Agosto 2010.

IBGE. IBGE, 27 Junho 2003. Disponivel em:

<http://www.ibge.gov.br/home/presidencia/noticias/27062003censo.shtm>. Acesso em: 11

Abril 2010.

KANAI, S. J.; RICE, T.; NARHER, G. N. Automated Evaluation of OCR Zoning. IEEE-

Transactions on Patern Analysis and Machine Intelligence, v. 17, n. 1, Janeiro 1995.

LEGAL and Corp. Affairs: Use of Microsoft Copyrighted Content. Microsoft, 26 Abril

2005. Disponivel em:

<http://www.microsoft.com/About/Legal/EN/US/IntellectualProperty/Permissions/Default.

aspx>. Acesso em: 11 Novembro 2010.

37

M, S.; C, D. High performance Chinese OCR based on gabor features discriminative

feature extration and model training. IEEE Sixth International Conference, 2001.

MD, G.; CL, W. B. Neural network-based systems for handprint OCR applications:

Special issue on applications of artificial neural networks to image processing. IEEE

Transactions on image processing, Paris, 1998.

MICROCHIP. PIC18F4550. [S.l.], p. 4. 2001.

MICROSOFT Visual Studio 2008. Grupotress internacional, 2008. Disponivel em:

<http://www.willydev.net/InsiteCreation/v1.0/willycrawler/2008.05.01.articulo.lo%20nuev

o%20en%20visual%20studio%202008.pdf>. Acesso em: 02 nov. 2010.

MONROE, C. Conheça as salas de recurso que funcionam de verdade para a inclusão.

Revista Escola, 2010. Disponivel em:

<http://revistaescola.abril.com.br/inclusao/educacao-especial/conheca-salas-recurso-

funcionam-verdade-para-inclusao-deficiencia-546795.shtml>. Acesso em: 22 Novembro

2010.

PELOSI, M. B.; NUNES, L. R. D. O. D. P. Caracterização dos professores itinerantes, suas

ações na área de tecnologia assistiva e seu papel como agente de inclusão escolar. Revista

Brasileira de Educação Especial, 2009. ISSN ISSN. Disponivel em:

<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S1413-

65382009000100010&lang=pt>. Acesso em: 28 Outubro 2010.

PRADO, É. Usabilidade e AL. Webinsider, 2007. Disponivel em:

<http://webinsider.uol.com.br/index.php/2007/04/02/acessibilidade-para-deficientes-

visuais-nao-e-tao-dificil/>. Acesso em: 9 Novembro 2010.

SEMICONDUCTOR, F. High-Voltage, High-Current Darlington Arrays. [S.l.].

SPINELLIS, D. A Critique of the Windows Application Programing Interface. Computer

Standards & Interfaces, Karlovasi, November 1998.

SQL SERVER 2008 R2. Microsoft, 2010. Disponivel em:

<http://www.microsoft.com/sqlserver/2008/pt/br/default.aspx>. Acesso em: 21 out. 2010.

T, S. et al. Video OCR for Digital News Archives. IEEE Workshop on Content-Based

Acess of Image and Video Database, Bombay, Janeiro 1998.

38

UNIVERSAL Serial Bus. Intel, 2010. Disponivel em:

<http://www.intel.com/technology/usb/>. Acesso em: 21 out. 2010.

VICENT, M. Q. A Brief History OF Microsoft Sql Server. Free Article, 2007. Disponivel

em: <http://e-articles.info/e/a/title/A-Brief-History-of-Microsoft-SQL-Server/>. Acesso

em: 02 Novembro 2010.

YOU, Z. Touchphone for the Blind. Yankodesign, 2009. Disponivel em:

<http://www.yankodesign.com/2009/06/15/touchphone-for-the-blind/>. Acesso em: 21

Novembro 2010.

39

ANEXO A - ARTIGO CIENTÍFICO

CONVERSOR DE TEXTO EM VOZ E LEITURA PARA CEGOS

Maristela Regina Weinfurter Teixeira Professora- Engenharia da Computação - Universidade Positivo

[email protected]

Bruno Macedo Herde Estudante - Engenharia da Computação - Universidade Positivo

[email protected]

40

CONVERSOR DE TEXTO EM VOZ E LEITURA PARA CEGOS RESUMO No Brasil, muitos cegos estão necessitando de produtos que ajudem a interagir com o

espaço em que vivem. O problema principal é que os produtos desenvolvidos para a pessoa que não enxerga está sendo muito pouco explorado no mercado mundial. O projeto que será abordado neste artigo é um conversor de texto em Braille, para ajudar tanto pessoas que não enxergam quanto as pessoas que necessitam ou querem aprender um pouco do alfabeto Braille. Para o sucesso deste produto foram utilizadas duas áreas da tecnologia: hardware e software.

Palavras-chave: acessibilidade, alfabeto Braille, cegos. ABSTRACT

Brazil have many blind people who needs products to help interacting in the space who lives. The main problem if this developed product for people who didn’t see is less discovered in the world market. The project in this article converts the text in Braille to help people who didn’t see and people who needs or interesting to learn the Braille alphabet. It used two technology areas for success with this project: hardware and software.

World Keys: accessibility, Braille alphabet, blinds 1. INTRODUÇÃO Este artigo é um projeto final de conclusão de curso de Engenharia da Computação. O

projeto consiste na inserção de um texto através de um software e a conversão do mesmo em alfabeto Braille através do hardware. Muitas pesquisas e experiências foram desenvolvidas para se chegar ao produto final. O projeto em si foi feito com o objetivo de receber o grau de Engenheiro da Computação e demonstrar que você está apto a trabalhar no mercado de trabalho.

2. DESENVOLVIMENTO DO SOFTWARE O Software não se destina única e exclusivamente para os cegos, mas sim para as

pessoas que desejam aprender o alfabeto Braille. Uma das implantações inicias, é a captura da imagem de um documento ou texto através da webcam. O software transforma essa imagem texto em um texto qualquer utilizando um algoritmo de reconhecimento de caracteres (OCR). O OCR reconhece os caracteres em uma imagem e transforma estes caracteres em um texto (dependendo da qualidade e resolução da imagem). Com o prazo muito curto e pouco tempo de pesquisa o programa conta com um algoritmo OCR pronto.

O algoritmo OCR é implementado utilizando duas disciplinas da Engenharia da Computação. Uma delas é a Inteligência Artificial e a outra é a Computação Gráfica. O reconhecimento de caracteres funciona da seguinte forma: primeiro a webcam captura a imagem e converte esta imagem para preto e branco. Segundo, esta imagem preto e branco é transformada em uma matriz RGB (é uma matriz de cores representadas entre 0 e 255). Esta matriz de cores compara a porcentagem de preto e branco e joga estas informações para outra matriz que só insere zero para branco e um para preto. Finalmente, insere-se a matriz de preto e branco em uma rede neural artificial, que recebe os dados e informa qual caracter que se aproxima deste resultado. Para a rede neural obter uma eficiência de cem por cento de acertos deve-se treinar esta rede, com o objetivo de relacionar os vários dados de entrada há um caracter correspondente. Visto deste jeito fica mais claro entender o porquê da dificuldade e tempo da implementação de um algoritmo OCR. O problema também não está só no reconhecimento dos caracteres, mas na qualidade da webcam. Webcam com muita resolução diminui o desempenho do programa. O reconhecimento de caracteres utilizado neste programa é da Microsoft Office 2007 e só pode ser utilizado para fins acadêmicos. (About optical character recognition (OCR) Support Microsoft-Office , 2010)

Todo sintetizador de voz é gravado pelo próprio desenvolvedor do projeto. Quando o usuário envia o texto para ser codificado pelo hardware o programa fala o caracter que está sendo codificado.

41

O texto no programa é convertido para o Braille utilizando uma fonte pronta chamada de Braille Kiama. Esta fonte já possui o formato dos caracteres Braille basta apenas fazer as configurações corretas para que ele mostre a simbologia correta. Um destes exemplos é a inserção de uma letra maiúscula, pois primeiro deve sinalizar que é uma letra maiúscula para depois inserir uma letra. Na hora da codificação do texto ele percorre estas simbologias indicando o caracter convertido pelo hardware. (Benjamin Constant, 2005)

O programa fica mais completo com a utilização de um banco de dados, pois é possível salvar o texto para ser reproduzido novamente. Para ter facilidade na implementação de um banco de dados com o Visual Studio 2008 há utilização do SQL Server 2005 é há melhor opção, pois os dois programas são desenvolvidos pela própria Microsoft. (SQL SERVER 2008 R2, 2010)

Com a comunicação USB o programa aumentou seu desempenho. Na figura 2.1 podemos visualizar a tela principal do programa.

Figura 2.1: Visão geral do Software. 3. DESENVOLVIMENTO DO HARDWARE O Hardware teve diversas modificações no decorrer do desenvolvimento do projeto. Para

tornar este projeto algo novo e não ultrapassado houve há troca da comunicação serial (RS232) pela USB 2.0, pois ela é mais veloz do que a comunicação serial e também é o periférico mais utilizado no mercado. A comunicação USB é o que faz a interação entre o hardware e o software dependendo da velocidade de troca das informações. (Universal Serial Bus, 2010)

A Célula Braille é um dispositivo com seis pinos dispostos em três linhas com duas colunas. Com a mão em cima deste dispositivo o usuário identifica o caracter representado em Braille de acordo com a posição do pino. Esta conversão caracter por caracter é feita a cada 1,5 segundos, pois este é aproximadamente o tempo que o cego consegue codificar o caracter que está sendo representado no aparelho. Por causa da alta potência dissipada entre os pinos a lógica da célula funciona ao contrário, ou seja, pino em estado alto fica desligado e pino em estado baixo fica ligado. Este produto é construído com seis mini atuadores dentro de uma caixa pequena, isolados com materias isolantes para não transmitir o calor gerado dos pinos que ficam ligados. A alimentação da célula é feita por uma fonte externa de doze volts. Outra alternativa é comprar a célula Braille pronta. A empresa Metec constrói células Braille de diversos tamanhos e formatos. A única desvantagem é o custo de importação, pois esta empresa fica situada na Alemanha.

O chaveamento da célula é feito por transistores que acionam o pino quando o microcontrolador envia um nível lógico alto. O microcontrolador principal recebe o caracter do software é o codifica para o Braille. Esta codificação é feita alternando os níveis lógicos da saída do PIC (microcontrolador). Caso o usuário tenha dúvidas de como caracter é representado em Braille, os Led’s em formato Braille mostram o resultado da codificação do caracter.

O microcontrolador principal também envia o caracter para um microcontrolador secundário. Este PIC é responsável por enviar as informações para o display LCD indicando o caracter que está sendo codificado pela Célula Braille.

42

O resultado final do hardware está na figura 3.1 e da Célula Braille está na figura 3.2.

Figura 3.1: Circuito final Figura 3.2: Célula Braille

4. CONCLUSÃO

O mercado de trabalho não tem tantos produtos para este público-alvo, mas com incentivo e apoio das empresas é possível criar novos produtos que facilitem o dia-a-dia das pessoas com deficiências, sejam visuais, físicas ou motoras. A partir disso surgiu este projeto para facilitar a vida das pessoas que não enxergam e também para ensinar as pessoas que gostariam de aprender o alfabeto Braille. O software e o hardware contam com diversas ferramentas que auxiliam nestas tarefas.

Em termos de velocidade tanto o software quanto o hardware não tiveram atrasos significativos no tempo de codificação do caracter para o Braille. O reconhecimento ótico de caracteres e o banco de dados é o que demoram mais tempo para ser executado. Por isso que a qualidade da imagem teve que ser feita com uma resolução mais baixa.

Uma das vantagens da utilização da comunicação USB é a fidelidade na velocidade do tempo, pois a taxa de velocidade chega há 480 Mbps por segundo.

O custo total do projeto é alto, mas desconsiderando os custos das pesquisas e experiências o valor final do produto é mais em conta do que o Braille-Cell importado. De um modo geral, o projeto concluiu seu objetivo apesar dos obstáculos.

5. REFERÊNCIAS

ABOUT optical character recognition (OCR) Support Microsoft-Office. Microsoft, 2010.

Disponivel em: <http://office.microsoft.com/en-us/help/about-optical-character-

recognition-ocr-HP003081255.aspx?CTT=1>. Acesso em: 21 out. 2010.

BENJAMIN Constant. Benjamin Constant, 2005. Disponivel em:

<http://www.ibc.gov.br/?itemid=387>. Acesso em: 21 out. 2010.

KANAI, S. J.; RICE, T.; NARHER, G. N. Automated Evaluation of OCR Zoning. IEEE-

Transactions on Patern Analysis and Machine Intelligence, v. 17, n. 1, Janeiro 1995.

M, S.; C, D. High performance Chinese OCR based on gabor features discriminative

feature extration and model training. IEEE Sixth International Conference, 2001.

43

MD, G.; CL, W. B. Neural network-based systems for handprint OCR applications:

Special issue on applications of artificial neural networks to image processing. IEEE

Transactions on image processing, Paris, 1998.

SQL SERVER 2008 R2. Microsoft, 2010. Disponivel em:

<http://www.microsoft.com/sqlserver/2008/pt/br/default.aspx>. Acesso em: 21 out. 2010.

T, S. et al. Video OCR for Digital News Archives. IEEE Workshop on Content-Based

Acess of Image and Video Database, Bombay, Janeiro 1998.

UNIVERSAL Serial Bus. Intel, 2010. Disponivel em:

<http://www.intel.com/technology/usb/>. Acesso em: 21 out. 2010.

44

ANEXO B - MANUAL DO HARDWARE

Primeiro coloque o cabo de alimentação na tomada. Insira o cabo USB do hardware

no computador. Instale e configure os drivers do hardware. Problemas e soluções podem

ser vistos na tabela abaixo:

PROBLEMAS SOLUÇÃO

A célula Braille não funciona. Insira o cabo de alimentação em uma

tomada.

O hardware não está funcionando. Insira o cabo do hardware na USB do

computador

O display travou. Desconecte e conecte novamente o cabo

do hardware na USB do computador.

O programa não se conecta mais com o

hardware e fica dizendo que a porta de

comunicação já está sendo utilizada.

Desconecte todos os cabos do hardware

e reinicie o computador.

O computador não reconheceu o

hardware

Instale e configure os drivers do

hardware.

Os indicadores luminosos do hardware

não estão funcionando.

Os indicadores luminosos estão

queimados, troque-os.

A célula Braille está muito quente. Pare de usar o programa por 10 minutos

ou mais.

O programa não consegue enviar o

caracter para o hardware e o programa diz

que é um caracter inválido.

Troque o caracter por um semelhante.

Tabela B.1: Problemas e soluções do hardware.

45

ANEXO C - MANUAL DO SOFTWARE

Insira o cabo do hardware na USB do computador. Faça as configurações de

instalação do driver e do banco dados manualmente e depois de tudo configurado inicie o

programa. Siga os passos abaixo:

Na tela inicial do programa escolha uma das opções captura de texto ou texto

qualquer:

Captura de texto:

Ao clicar no botão captura de texto (figura C.1) uma janela com as configurações da

webcam é aberta (figura C.2). Deve-se escolher um dos drivers da webcam e clicar no

botão OK (figura C.3). Se tudo estiver certo, aparecerá a transmissão da webcam na janela

secundária. Ao focalizar um documento pela webcam aperte a tecla ENTER para capturar

a imagem (figura C.4) . Pronto o sistema irá converter esta imagem texto em texto e abrirá

a tela principal do programa dizendo que o software não está conectado com o hardware.

Clique no botão OK e no menu superior do programa aperte a opção conexão. Escolha

uma das portas de comunicação para se comunicar com o hardware e aperte o botão OK. O

texto codificado pelo OCR irá aparecer automaticamente na caixa de texto. Você pode

escolher a tradução com voz ou sem voz e também decide se quer salvar estas informações

no banco de dados. Pronto é só apertar o botão enviar que o hardware cuida do resto

(figura C.5). Caso queira interromper a codificação, um botão de interrupção encontra-se

localizado ao lado da célula Braille. Aperte este botão continuamente até a codificação ser

finalizada. Caso queira apagar o texto e inserir um texto qualquer fica ao seu critério.

Figura C.1: Passo 1.

46

Figura C.2: Passo 2.

Figura C.3: Passo 3.

Figura C.4: Passo 4.

47

Figura C.5: Passo 5.

Texto qualquer:

Ao clicar no botão texto qualquer a tela principal do programa abrirá dizendo que

o software não esta conectado com o hardware. Clique no botão OK e no menu superior do

programa aperte a opção conexão. Escolha uma das portas de comunicação para se

comunicar com o hardware e aperte o botão OK. Você pode inserir um texto qualquer,

escolher a tradução com voz ou sem voz e também decide se quer salvar estas informações

no banco de dados. Pronto é só apertar o botão enviar que o hardware cuida do resto

(figura C.5). Caso queira interromper a codificação, um botão de interrupção encontra-se

localizado ao lado da célula Braille. Aperte este botão continuamente até a codificação ser

finalizada.

48

ANEXO D - FOTOS

Figura D.1: sobre a permissão da utilização de produtos Microsoft

Figura D.2: Usuário utilizando a célula - Braille.

49

Figura D.3: B-Touch sendo utilizado em um livro (YOU, 2009).