Codificador de texto em voz e leitura para os cegos



Documentos relacionados
1. CAPÍTULO COMPUTADORES

5 Entrada e Saída de Dados:

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Um Driver NDIS Para Interceptação de Datagramas IP

Aula 04 B. Interfaces. Prof. Ricardo Palma

LÓGICA DE PROGRAMAÇÃO

3. Arquitetura Básica do Computador

Placa Acessório Modem Impacta

Arquitetura de Computadores Arquitetura de entrada e saída

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Manual do Usuário Android Neocontrol

Aula 01 Introdução à Informática. Prof. Bruno Gomes

HCT Compatibilidade Manual do Usuário

Operador de Computador. Informática Básica

Manual de Instalação. Windows XP. Desenvolvedores: Patrick Duarte, Rodrigo dos Santos. Setembro de 2014.

Manual Equipamento ST10 Flasher Rev. 1

Serial Paralela USB FireWire(IEEE1394)

1. NÍVEL CONVENCIONAL DE MÁQUINA

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

1.1. Organização de um Sistema Computacional

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

GUIA DE CONSULTA RÁPIDA PARA. Instalação do Nokia Connectivity Cable Drivers

Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática.

Dispositivos de Entrada e Saída

PROJETO INFORMÁTICA NA ESCOLA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

Março Como o Eye-Fi funciona Fluxogramas da visão geral

MANUAL DO USUÁRIO. Software de Imagem via Celular (isic) baseado no sistema operacional Android

TRABALHO COM GRANDES MONTAGENS

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Em que consiste o DOSVOX O programa é composto por:

MANUAL DO USUÁRIO. Software de Imagem via Celular (isic) baseado no sistema operacional Symbian

Sistemas Operacionais Gerência de Dispositivos

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Treinamento GVcollege Módulo Acadêmico - Pedagógico

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

Você sabia que o computador pode ser uma rica ferramenta no. processo de inclusão escolar e social de crianças com necessidades

Sistema Modelix-G (Modelix-Grafix)

Procedimento para reinstalação dos aplicativos da mesa multi-toque através da imagem do sistema.

SCD 912. Dispositivo de comunicação e armazenamento. Apresentação. Dados Técnicos. Conexões

Alarme Automotivo com mensagem para móvel utilizando Arduino

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Estabilizada de. PdP. Autor: Luís Fernando Patsko Nível: Intermediário Criação: 22/02/2006 Última versão: 18/12/2006

SISTEMA PARA CATALOGAR PALAVRAS INDÍGENAS SISCAPI. Manual do Usuário. Versão 1.0

MANUAL DE INSTRUÇÕES

Programa de Atualização de Pontos do Lince GPS

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual

Manual de Instalação

Software de Imagem via Celular (SIC) baseado no sistema operacional Windows Mobile

Montagem e Manutenção. Luís Guilherme A. Pontes

FIREWIRE. O logotipo padronizado: Suas principais vantagens:

Sistemas Operacionais

Introdução sobre à porta USB

Prof. Daniel Gondim Informática

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Attack Software de controle e Monitoração de amplificadores

Programa de Instalação do Lince GPS

Deficiência Visual. Eficiência Tátil Inteligência - Adaptações. V Compartilhando Eficiências. Seção de Educação Especial SEE - DE

CURSO BÁSICO DE INFORMÁTICA

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Processo de Instalação Limpa do Windows 8.1 em Computadores Philco

Copyright 2013 VW Soluções

PLANO DE ENSINO/AULA

CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

Princípios de funcionamento dos computadores

Comunicação Serial com o AVR ATMEGA8

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

GUIA DE CONSULTA RÁPIDA PARA. Instalação do Nokia Connectivity Cable Drivers

RESTAURAÇÃO NO WINDOWS 8

Volte ao Menu Principal e escolha a opção Acesso Manual

Microsoft Office PowerPoint 2007

Conhecendo o Computador

Como instalar uma impressora?

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Disciplina: Introdução à Informática Profª Érica Barcelos

Windows 7. Professor: Jeferson Machado Cordini

TÍTULO: PROGRAMAÇÃO DE CLP PARA UMA MÁQUINA DE SECÇÃO SEGMENTOS ORGÂNICOS

O que é RAID? Tipos de RAID:

Projeto de controle e Automação de Antena

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f

Guia ineocontrol. iphone e ipod Touch

Fundamentos de Hardware

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Atualização do seu computador com Windows 8 da Philco para o Windows 8.1

Algoritmos. Cláudio Barbosa

AULA 5 Sistemas Operacionais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Cerne Tecnologia e Treinamento

Transcrição:

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 PIC MEC Braille-cell SQL API Reconhecimento ótico de caracteres. Microcontrolador Ministério da Educação e Cultura Célula Braille. Linguagem de consulta estruturada. 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 Insere, remove ou altera os dados no banco de dados. Insere um texto, abre um documento ou recebe o texto do algoritmo OCR Passa pelo algoritmo OCR Envia o texto caracter por caracter para o Hardware Fala o caracter que está sendo convertido ou não 2.1.1 Captura da imagem Figura 2.1.1: Diagrama em blocos do hardware completo 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 Carrega o driver da câmera Captura a imagem Salva 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 2.1.3 Banco de dados Fim Figura 2.1.2: Fluxograma da Codificação da imagem. 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 2.1.4 Sintetizador de voz Fim Figura 2.1.3.1: Fluxograma do banco de dados. 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. 2.1.7 Visão geral do Software Figura 2.1.6.1: Conversor de texto em Braille. 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 serial TX RX Terra Produto TX: Transmissão. RX: Recepção. Figura 2.2.3.1: Diagrama em blocos da comunicação serial. 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. 2.2.5 Microcontrolador Figura 2.2.4.2: célula Braille construída com a tampa. 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é. 2.2.10 Display LCD Figura 2.2.9.1: Diagrama do chip ULN2803 (SEMICONDUCTOR). 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. Caracter enviado a cada 1,5s. Fonte externa de 12V e corrente de 1,5A. 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. Microcontrolador secundário PIC16F877A recebe as informações através da comunicação serial. Display LCD recebe as informações que deve escrever. 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 2.4.2 Custo Total do projeto Mão-deobra (RH) Descrição Valor por Hora Total de Horas Trabalhadas Valor Total Direta R$ 33,00 740 R$ 24.420,00 Do Professor Orientador R$ 66,00 160 R$ 10.560,00 Do Coordenador do Curso R$ 120,00 80 R$ 9.600,00 Valor total da Mão-de-obra gasta com o projeto R$ 44.580,00 Gastos com Softwares Descrição Valor do Software no Mercado Depreciação em meses Horas Mês Valor por Hora Total de Horas Trabalha das Valor Total Windows Seven R$ 352,86 12 220 R$ 0,13 220 R$ 29,41 Microsoft Office Home Student 2007 R$ 200,00 12 220 R$ 0,08 220 R$ 16,67 Plataforma de Desenvolvimento Visual Studio 2008 Professional R$ 845,76 12 220 R$ 0,32 70 R$ 22,43 Project R$ 2.000,00 12 220 R$ 0,76 110 R$ 83,33 Valor total gasto com Softwares R$ 151,83 Gastos com Equipame ntos e Insumos Descrição Valor do Equipamento no Mercado Depreciação em meses Horas 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 R$ 0,12 50 R$ 5,79 Notebook R$ 3.700,00 12 220 R$ 1,40 220 R$ 308,33 Fonte de alimentação simples R$ 670,00 12 220 R$ 0,25 220 R$ 55,83 Fonte de alimentação simétrica R$ 1.380,00 12 220 R$ 0,52 100 R$ 52,27 Osciloscópio R$ 3.500,00 1 220 R$ 15,91 100 R$ 1.590,91 Multimetro Digital R$ 41,00 1 220 R$ 0,19 100 R$ 18,64 Protoboards R$ 90,00 12 220 R$ 0,03 50 R$ 1,70 Amplificador LM351 R$ 1,20 12 220 R$ 0,00 50 R$ 0,02 Conversor USB porta paralela R$ 79,00 12 220 R$ 0,03 50 R$ 1,50 Conversor USB serial R$ 90,00 12 220 R$ 0,03 50 R$ 1,70 Caixa de som R$ 45,00 12 220 R$ 0,02 50 R$ 0,85 Webcam de 1.3 megapixel R$ 93,00 12 220 R$ 0,04 50 R$ 1,76 Cabo USB R$ 4,90 12 220 R$ 0,00 50 R$ 0,09 PIC 18F4550 R$ 26,10 12 220 R$ 0,01 50 R$ 0,49 Valor total gasto com equipamentos e Insumos R$ 2.039,90 Figura 4.1: Custo do projeto primeira parte.

31 Gastos com Espaço físico Valor do espaço em m 2 Quantidade de Quantidade de m2 Valor Total Meses R$ 10,00 25,00 8 R$ 2.000,00 Valor total gasto com espaço R$ 2.000,00 Gastos com Document ação e Gastos Extras Quantidade de Valor Mensal Valor Total Meses R$ 15,00 8 R$ 120,00 R$ 1.500,00 1 R$ 1.500,00 Valor total gasto com Documentação e Gastos Extras R$ 1.620,00 Impostos Percentual de Descrição Sub-total Valor Total Impostos Total do projeto R$ 50.391,73 35,70% R$ 78.369,72 Figura 4.2: Custo do projeto segunda parte.

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):

Figura 5.1: Esquemático do hardware. 33

Palavras 34 Figura 5.2: Resultado final do Hardware. Codificação de palavras 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 Quantidade de caracteres Quantidade de caracteres codificados 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.

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-characterrecognition-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-recursofuncionam-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-deficientesvisuais-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 maristela.weinfurter@up.com.br Bruno Macedo Herde Estudante - Engenharia da Computação - Universidade Positivo brunoherde@gmail.com

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-characterrecognition-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 A célula Braille não funciona. O hardware não está funcionando. O display travou. O programa não se conecta mais com o hardware e fica dizendo que a porta de comunicação já está sendo utilizada. O computador não reconheceu o hardware Os indicadores luminosos do hardware não estão funcionando. A célula Braille está muito quente. O programa não consegue enviar o caracter para o hardware e o programa diz que é um caracter inválido. Tabela B.1: Problemas e soluções do hardware. SOLUÇÃO Insira o cabo de alimentação em uma tomada. Insira o cabo do hardware na USB do computador Desconecte e conecte novamente o cabo do hardware na USB do computador. Desconecte todos os cabos do hardware e reinicie o computador. Instale e configure os drivers do hardware. Os indicadores luminosos estão queimados, troque-os. Pare de usar o programa por 10 minutos ou mais. Troque o caracter por um semelhante.

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.