codificador de texto em voz e leitura para os cegos · escrito no livro e irá reproduzir de forma...
TRANSCRIPT
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.
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):
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
Bruno Macedo Herde Estudante - Engenharia da Computação - Universidade Positivo
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.
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.