Anda di halaman 1dari 30

DESARROLLO E IMPLEMENTACIN DE UN SISTEMA DE LECTURA DE

TEXTO PARA INVIDENTES CONFORMADO POR UN MDULO


ELECTRNICO MICROCONTROLADO Y UNA APLICACIN EN OS ANDROID

PRESENTADO POR:
ESTEBAN EDUARDO ECHEVERRA RODRGUEZ
E-mail: esteban-apps@outlook.com
JHAN CARLOS MARN LPEZ
E-mail: jhanmarin@hotmail.com

UNIVERSIDAD POPULAR DEL CESAR


FACULTAD DE INGENIERAS Y TECNOLOGAS VALLEDUPAR - CESAR
2013
DESARROLLO E IMPLEMENTACIN DE UN SISTEMA DE LECTURA DE
TEXTO PARA INVIDENTES CONFORMADO POR UN MDULO
ELECTRNICO MICROCONTROLADO Y UNA APLICACIN EN OS ANDROID

PRESENTADO POR:
ESTEBAN EDUARDO ECHEVERRA RODRGUEZ
E-mail: esteban-apps@outlook.com
JHAN CARLOS MARN LPEZ
E-mail: jhanmarin@hotmail.com

TRABAJO PRESENTADO COMO ANTEPROYECTO DE GRADO PARA OPTAR


EL TTULO DE INGENIERO ELECTRNICO.

DIRECTOR DE PROYECTO:
CAMILO JOSE HERRERA OJITO

UNIVERSIDAD POPULAR DEL CESAR


FACULTAD DE INGENIERAS Y TECNOLOGAS VALLEDUPAR - CESAR
2013
FACULTAD DE INGENIERA Y TECNOLGICAS
PROGRAMA DE INGENIERA ELECTRNICA

ANTEPROYECTO DE GRADO

TITULO

DESARROLLO E IMPLEMENTACIN DE UN SISTEMA DE LECTURA DE


TEXTO PARA INVIDENTES CONFORMADO POR UN MDULO
ELECTRNICO MICROCONTROLADO Y UNA APLICACIN EN OS ANDROID

PRESENTADO ANTE: COMIT DE PROYECTO DE GRADO

DEPARTAMENTO: INGENIERA ELECTRNICA

ELABORADO POR: FIRMA

DIRECTOR: CAMILO JOSE HERRERA OJITO _______________________

ESTUDIANTES: FIRMA

ESTEBAN EDUARDO ECHEVERRA RODRGUEZ _______________________


C.C. No 1065630283 de Valledupar Cesar

JHAN CARLOS MARN LPEZ _______________________


C.C. No 1124026233 de Maicao Guajira
Nota de aceptacin
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________________

______________________________________
Firma del presidente del jurado

______________________________________
Firma del jurado

______________________________________
Firma del jurado
TABLA DE CONTENIDO

1. TITULO
2. PLANTEAMIENTO DEL PROBLEMA
3. OBJETIVOS
3.1 OBJETIVO GENERAL
3.2 OBJETIVOS ESPECFICOS:
4. JUSTIFICACIN
5. METODOLOGA DE TRABAJO
5.1 FASE I: INVESTIGACIN.
5.2 FASE I: ESTUDIO Y DISEO
5.2.1 Diseo de la interfaz grfica:
5.2.2 Diseo de los mtodos de intercambio de informacin:
5.3 FASE III: DESARROLLO E IMPLEMENTACIN:
5.4 FASE IV: PRUEBAS Y CORRECCIONES
6. MARCO TERICO
6.1 JAVA
6.1.1 Fundamentos de un entorno tpico de Java
6.2 ECLIPSE
6.3 SISTEMA OPERATIVO ANDROID
6.3.1 Arquitectura De Android
6.3.2 Herramientas Para Desarrolladores De Android (Adt)
6.3.3 Versiones De Android
6.3.4 Web Apps Overview
7. RESULTADOS ESPERADOS
8. CRONOGRAMA
9. PRESUPUESTO
10. REFERENCIAS BIBLIOGRFICAS

1. TITULO
DESARROLLO E IMPLEMENTACIN DE UN SISTEMA DE LECTURA DE
TEXTO PARA INVIDENTES CONFORMADO POR UN MDULO
ELECTRNICO MICROCONTROLADO Y UNA APLICACIN EN OS ANDROID

2. PLANTEAMIENTO DEL PROBLEMA


En el mundo siempre han existido personas con discapacidades sensoriales tales como la
ceguera, debido a esto el ser humano ha encontrado y se encuentra en una bsqueda
constante de soluciones, que le permitan de alguna manera cubrir la mayor parte de las
funciones del sentido del cual carecen, utilizando sus otros sentidos, un claro ejemplo de
esto es el sistema de escritura y lectura braille con el cual el ser humano se vale del sentido
del tacto para poder leer; aun siendo un sistema muy bueno para que las personas invidentes
puedan leer este no se encuentra lo suficientemente masificado en algunos pases, por
ejemplo, en Colombia, donde segn cifras reveladas en el censo realizado el 2005 por el
DANE de 2.632.255 1.143.992 son personas con limitaciones visuales [1], las cuales tienen
un acceso muy limitado a la literatura para invidentes (braille, audiolibros), teniendo en
cuenta lo mencionado anteriormente se propone este sistema de lectura de texto como una
alternativa que les permite a aquellas personas con discapacidad visual acceder a la
informacin de una manera diferente.

3. OBJETIVOS
3.1 OBJETIVO GENERAL

Desarrollar e implementar un sistema de lectura de texto para invidentes conformado por un


mdulo electrnico (basado en un microcontrolador y una pequea cmara) para capturar,
almacenar y transferir imgenes que sern procesadas por una aplicacin en OS Android.

3.2 OBJETIVOS ESPECFICOS:

Disear e implementar un prototipo electrnico capaz de controlar la cmara FLYCAMONE


V2 para capturar y guardar las imgenes.

Desarrollar e implementar una aplicacin mvil que permita realizar un


reconocimiento de texto con fuentes Bodoni, Garamond, Arial, Calibri o Times New
Roman en una imagen.

Implementar un sintetizador de voz que le permita al usuario escuchar el texto que ha


sido reconocido previamente.

Desarrollar un sistema de almacenamiento de fragmentos de textos sintetizados que le


permitan al usuario manipular la lectura del texto (adelantar una lnea, retroceder una
lnea, pausar la lectura).

Realizar un banco de pruebas para evaluar el tiempo aproximado que tarda la


aplicacin en iniciar, cerrar y responder ante una peticin.

4. JUSTIFICACIN
En la actualidad ya se han desarrollado diferentes dispositivos que ayudan a las personas con
discapacidad visual a leer algunos tipos de texto, un ejemplo de estos dispositivos es la
ORCAM [2] que est conformada por una cmara dispuesta en unas gafas que est
conectada de forma almbrica a un mdulo que procesa la informacin y se la proporciona a
las personas a travs de unos audfonos de conduccin sea, cuyo valor est alrededor de
3.500 dlares. Otro ejemplo sera las google glass las cuales junto con la app Glassters OCR
[3] aprovechan la cmara para capturar la imagen con el texto, hacer un reconocimiento y
transmitirlo al usuario va oral; este dispositivo est valorado en 1.500 dlares
aproximadamente [4], como se puede apreciar los precios de las google glass y de la
ORCAM hacen que estos productos sean difcil de conseguir para los invidentes en
Colombia debido a que la mayora de estas personas tienen un bajo poder adquisitivo; por
esta razn el proyecto planteado se vislumbra como una excelente opcin en cuanto a
funcionamiento, ya que se le sacara provecho a un hardware que tiene casi las mismas
caractersticas de los equipos mencionados anteriormente garantizando un funcionamiento
similar, y en cuanto a economa debido a que este sistema se proyecta con un valor cercano
a 1 milln de pesos que incluso puede ser menor si la persona cuenta con un Smartphone
que se adapte a los requerimientos; ademas integrar el mundo de las aplicaciones en O.S Android
en la solucin de problemas cotidianos es actualmente una muy buena y excelente opcin. Al
exponer la realizacin de aplicaciones mviles sobre la mesa entramos en un campo que
aporta mltiples conocimientos en cuanto a programacin y software mviles, aspecto
sumamente importante en el mundo de la ingeniera electrnica actual. Al momento de
desarrollar un proyecto de este tipo es importante resaltar tambin que este proporciona un
aporte hacia el mejoramiento de la calidad de vida de los invidentes, debido a que estan
encaminados para que paulatinamente estas personas vayan ganando independencia en
ciertas actividades cotidianas

5. METODOLOGA DE TRABAJO
5.1 FASE I: INVESTIGACIN.

En primera instancia se realizar una investigacin sobre diferentes mtodos y algoritmos


ms comunes usados en el reconocimiento ptico de caracteres, sus ventajas, desventajas y
limitantes que posee cada uno al momento de implementarlo en un smartphone con sistema
operativo ANDROID.

Seguidamente se realizar un investigacin sobre las caractersticas tcnicas de la FLYCAM


ONE V2 (voltaje de alimentacin, protocolos de comunicacin, etc... ); y finalmente realizar
una investigacin en pro de seleccionar el microcontrolador ms adecuado para
implementarse en el mdulo electrnico.

Actividad 1: Documentacin general.


Duracin: 4 semanas.
Resultado: Conocimiento sobre los diferentes mtodos y algoritmos usados para el
reconocimiento ptico de caracteres y su forma de implementarlos en S.O Android usando
lenguaje de programacin Java, adems de conocimientos sobre caractersticas tcnicas de
la FLYCAM ONE V2.

Actividad 2: Recopilacin.
Duracin: 2 semanas.
Resultado: Recoleccin de la documentacin necesaria para el diseo y desarrollo del
proyecto.

Actividad 3: Marco terico.


Duracin: 4 semana.
Resultado: Entrega del marco terico del proyecto.

5.2 FASE II: ESTUDIO Y DISEO


Una vez realizada la investigacin se valorar la informacin recolectada para luego
seleccionar aquella que se considere como una herramienta til y necesaria para la creacin
del ambiente adecuado en el que se pueda disear nuestra aplicacin, esto incluye escoger el
algoritmo ms adecuado, seleccionar el microcontrolador y el diseo del prototipo.

Actividad 1: Seleccionar la informacin necesaria para el diseo del proyecto.


Duracin: 2 semana.
Resultado: Herramientas para el diseo del proyecto organizadas.

Actividad 2: Diseo del prototipo electrnico que controla la cmara FLYCAMONE V2


para capturar y guardar las imgenes.
Duracin: 2 semanas.
Resultado: Entrega del diagrama electrnico.

Actividad 3: Estudio de los mtodos de intercambio de informacin.


Duracin: 2 semanas.
Resultado: Entrega del modelo que propiciar el intercambio de informacin entre el
prototipo electronico y la aplicacin.

Actividad 4: Estudio del algoritmo de reconocimiento de texto que ser usado para el
diseo la aplicacin.
Duracin: 2 semanas.
Resultado: seleccin del algoritmo adecuado para el diseo de la aplicacin.

5.3 FASE III: IMPLEMENTACIN Y PRUEBAS:

En esta fase se proceder a la creacin tanto de las rutinas como del circuito electrnico
basndonos en los diseos, tales rutinas conformarn el programa principal de la aplicacin
que ser compilado y depurado en un emulador y ejecutado en un dispositivo smartphone.
Despus de creada la tarjeta y la aplicacin, se realizarn las pruebas pertinentes con
respecto a la interaccin entre ellas y se identificarn las fallas, para luego realizar los
arreglos respectivos tanto en el mdulo electrnico como en la aplicacin y de esta manera
conseguir la puesta a punto del sistema de lectura de texto para invidentes.

Actividad 1: Desarrollo del prototipo electrnico.


Duracin: 4 semanas.
Resultado: prototipo electrnico finalizado.

Actividad 2: Desarrollo e implementacin de la aplicacin con el algoritmo seleccionado


para el reconocimiento de caracteres.
Duracin: 4 semanas.
Resultado: Prototipo inicial de la aplicacin.

Actividad 3: implementacin del mtodo de intercambio de informacin.


Duracin: 4 semanas.
Resultado: comunicacin establecida entre prototipo electronico y aplicacin.

6. MARCO TERICO

FLYCAMONE V2: Es un mdulo autnomo capaz de tomar fotos en formato JPEG y


grabar sonido y video a color con una resolucin de 640 x 480 pix a 30 fps en formato AVI.
el mdulo posee una cmara de 3MP montada sobre un cabezal y esta unida con un cable
cinta. tiene dos entradas de alimentacin una para un rango de voltaje de 3.7 a 4.2V y otra
para para uno de 4.5 a 6V. Tiene la capacidad de trabajar en tres modos diferentes: video,
fotos y captura continua de fotos, dichos modos pueden ser escogidos presionando un
pulsador que se encuentra instalado en una esquina del circuito impreso o a travs de una
entrada digital la cual debe estar en alto por 3 segundos para cambiar de un modo a otro.
tiene una entrada para memoria Micro SD y un conector Mini USB 1.1 que permite acceder
a los datos almacenados en dicha memoria usando una computadora. [5]

MICROCONTROLADORES
Los Microcontroladores slo han estado con nosotros desde hace algunas dcadas, pero su
impacto (directo o indirecto) en nuestra vida es profundo. Por lo general, estos se supone
que son slo procesadores de datos que realizan operaciones numricas exhaustivas. Pero su
presencia pasa desapercibida en la mayora de los lugares como:

En los supermercados en cajas registradoras, balanzas de pesaje, etc.

En casa, en hornos, lavadoras, relojes de alarma, etc.

En el juego, en Juguetes, aparatos de vdeo, equipos de msica, etc.

En la oficina, en las mquinas de escribir, fotocopiadoras, ascensores, etc.

En la industria de la automatizacin industrial, sistemas de seguridad, etc.

En las carreteras en los coches, seales de trfico, etc.

Que es lo que en su interior hace que estas mquinas sean Inteligentes? La respuesta es el
microcontrolador.

La creacin de aplicaciones para los microcontroladores es diferente a cualquier otro


desarrollo o trabajo en la electrnica y la informtica. Antes de seleccionar un dispositivo en
particular para una aplicacin, es importante entender lo que las diferentes opciones y
caractersticas son y lo que puede significar en relacin con el desarrollo de la aplicacin.

Los diseos internos bsicos de los microcontroladores son muy similares. en la figura 1 se
muestra el diagrama tpico de un microcontrolador. Todos los componentes son conectados
por la va de un bus interno y todos estn integrados en un solo chip. Los mdulos son
conectados al exterior por medio de los pines de entrada/salida (I/O pins).[6]
Figura 1. Diagrama bsico de un microcontrolador. [6]

La lista que se presenta a continuacin contiene los mdulos comnmente encontrados en un


microcontrolador:

Procesador central: Contiene la unidad aritmtico lgica, l unidad de control y los registros
(puntero de pila, contador de programa, registro acumulador, registros de archivos.). Es la
unidad central de proceso (CPU) del microcontrolador.

Memoria: La memoria esta algunas veces dividida en memoria de programa y memoria de


datos. En algunos controladores, un controlador DMA maneja transferencias de datos entre
componentes perifricos y la memoria.

Controlador de interrupcin: Las interrupciones son tiles (valga la redundancia) para la


interrupcin del flujo comn del programa en caso de que existan eventos externos o
internos importantes. En conjuncin con el Modo Sleep ayudan a mantener el encendido.

Contador/Temporizador: La mayora de los microcontroladores tienen al menos 1 o hasta


2 y 3 Contador/Temporizador, lo cual puede ser usado para marcar tiempos, medir
intervalos, o contar eventos.

Muchos controladores poseen tambin salidas PWM (modulacin de ancho de pulso) las
cuales pueden ser usadas para manejar diferentes cargas como motores o para frenos de
seguridad (ABS). Adems la salida PWM junto con un filtro externo puede ser usada para
realizar un barato conversor digital anlogo.

Salidas/Entradas Digitales: Los puertos paralelos de entrada/salida son una de las


principales caractersticas de los microcontroladores. El nmero de pines de entrada/salida
vara desde 3-4 hasta sobre los 90 pines, dependiendo de la familia del controlador y del tipo
de controlador.

Entradas/salidas anlogas: Aparte de unos pocos pequeos controladores, la mayora de


los microcontroladores tienen conversores Anlogos/Digitales integrados, los cuales difieren
entre s en el nmero de canales (de 2 a 16) y en su resolucin. Los mdulos anlogos
tambin se caracterizan por un comparador anlogo. En algunos casos los
microcontroladores incluyen conversores digital/anlogo.

Interfaces: Usualmente los controladores tienen al menos una interfaz serial. La cual puede
ser usada para descargar el programa y para comunicacin con el PC en el desarrollo en
general. Las interfaces seriales pueden ser usadas para comunicar con dispositivos
perifricos externos, muchos microcontroladores ofrecen pocas y variadas interfaces como
SPI y SCI. Muchos microcontroladores tambin poseen controladores de bus integrados,
para la mayora, denominados buses. I2C y CAN lideran este campo. Una amplia cantidad
de controladores pueden tambin contener interfaces PCI, USB, o ETHERNET.
Temporizador Perro guardin: Dado que los sistemas crticos para la seguridad forman
un rea de aplicacin importante de los microcontroladores, este es importante para
protegerse contra errores en el programa y / o el hardware. El temporizador de vigilancia se
utiliza para reiniciar el controlador en caso de "accidentes" de software.

Unidad de depuracin: Algunos Microcontroladores estn equipados con hardware


adicional para permitir la depuracin remota del chip desde el computador, por lo que no se
necesita descargar programas especiales para la depuracin, lo cual tiene la visible ventaja
sobre cdigos de aplicacin errneos que el depurador no puede sobrescribir.

Para resumir, un microcontrolador es un (en su mnima expresin) procesador que est


equipada con memoria, temporizadores, puertos (paralelo) de E / S y otros perifricos
encapsulados. El elemento motriz detrs de todo esto es el costo:

La integracin de todos los elementos en un chip ahorra espacio y conduce tanto a menores
costes de fabricacin y menores tiempos de desarrollo. Esto ahorra tiempo y dinero, que son
factores clave en la integracin de sistemas. Otras ventajas de la integracin es que son de
fcil capacidad de actualizacin, menor consumo de energa, y fiabilidad superior, que
tambin son aspectos muy importantes en sistemas embebidos. En el lado negativo,
utilizando un microcontrolador para resolver una tarea en el software, que tambin podra
ser resuelto con una solucin de hardware no le dar la misma velocidad que la solucin de
hardware podra lograr. Por lo tanto, las aplicaciones que requieren tiempos de reaccin muy
cortos todava podran requerir una solucin de hardware. La mayora de las aplicaciones,
sin embargo, y en particular los que requieren algn tipo de interaccin humana
(microondas, telfono mvil), no necesitan esos tiempos de reaccin rpidos, por lo que para
estas aplicaciones los microcontroladores son una buena opcin.[7]

Reconocimiento ptico de caracteres

El concepto de reconocimiento ptico de carcteres (OCR) ha estado presente, de una forma


u otra, por unos buenos 200 aos. El proceso de transformacin de una imagen de texto
impreso en un cdigo de texto, hacindolo as una lectura mecnica encontr su
encarnacin ms temprana en las patentes de Estados Unidos para la lectura de las ayudas a
los ciegos a principios de 1800 (Schantz 1982). Tecnlogos posteriores avanzaron en el
pensamiento de OCR, pero no fue hasta la dcada de 1950 y el florecimiento de la industria
de la computacin que la tecnologa OCR realmente se afianz con sus aplicaciones a la
entrada de datos. En 1951, un joven ingeniero del Departamento de Defensa llamado David
Shephard desarroll un dispositivo de exploracin en su casa que l apod 'Gismo.' Este
dispositivo podra leer veintitrs letras del alfabeto, interpretar el cdigo Morse, y leer en
voz alta, letra por letra. Aunque en bruto para los estndares de hoy en da, no obstante,
captur la imaginacin de los cientficos y hombres de negocios con su potencial como
herramienta de trabajo prctica en el campo de entrada de datos. 'Gismo' gano un poco de
publicidad y en consecuencia impuls el desarrollo de herramientas de OCR.

La tecnologia

Hay dos elementos esenciales en la tecnologa OCR: escaneado y reconocimiento. Durante


el proceso de captura de imgenes (o exploracin), una versin electrnica del documento
original se produce en forma de una imagen de mapa de bits y se guarda como un (Tagged-
Image File Format) archivos TIFF.

El proceso de OCR posterior de convertir esa imagen en texto editable-equipo consta de


cinco procesos discretos: la identificacin de los bloques de texto y de imagen en la imagen,
reconocimiento de caracteres, palabra de identificacin / reconocimiento, correccin, y la
salida de formato (Haigh 1996). Lo esencial de este proceso es que el software de OCR est
tratando de reconocer texto en un patrn discernible, comparndolo con los diccionarios
internos, a continuacin, guardar el archivo final en un formato que es editable por el
usuario final.[8]

Mtodos de reconocimiento ptico de caracteres

Los principales mtodos de la identificacin de caracteres pueden ser divididos en los


siguientes grupos por el algoritmo utilizado:

Sistemas de patrones;

Sistemas estructurales;

Sistemas de funciones;

Los sistemas de la red neuronal.

Cada uno de los sistemas mencionados tiene sus ventajas y desventajas que son nombradas
acontinuacion:

1. Los algoritmos estructurales son muy sensibles a los defectos de imagen. Adems, en
contraste con el patrn y la caracterstica del sistema, estos procedimientos efectivos y
automatizados para sistemas estructurales no se aplican todava.

2. Los sistemas de funciones pierden informacin importante mientras se realiza el clculo


de los rasgos de carcter y como consecuencia comete errores en la clasificacin de objetos
refirindose a las clases equivocadas.
3. Aunque las redes neuronales son capaces de reconocer diferentes fuentes teniendo en
cuenta sus defectos y distorsiones, se requieren complicadas estructuras de mltiples capas y
necesitan un largo entrenamiento utilizando conjuntos de muestras. Esto no siempre es
posible en el entorno industrial y al mismo tiempo las capacidades econmicas son de gran
importancia aqu.

4. Los algoritmos de Patrn son estables a los pequeos defectos de la imagen y tienen
velocidad de reconocimiento suficientemente alta. Sin embargo, incluso distorsiones
menores de la imagen, que conducen a la distorsin de caracteres, pueden influir
negativamente en el resultado de reconocimiento.

La tarea que va a ser resuelta por el algoritmo descrito consiste en un rpido, confiable y
estable reconocimiento de los cortos grupos de caracteres en un ambiente de trabajo; por
ejemplo cuando la probabilidad de adquisicin de imgenes distorsionadas y con ruido es
muy alta. Por lo tanto el algoritmo de reconocimiento implementado debe satisfacer los
siguientes requerimientos:

Estabilidad a los defectos de los caracteres reconocidos;

Alta velocidad;

Facilidad de ajuste y orientacin;[9]

6.1 JAVA

Es un poderoso lenguaje orientado a objetos, divertido para los novatos, pero tambin
apropiado para los programadores experimentados en la construccin de sistemas de
informacin importantes. Java seguramente ser la eleccin del nuevo milenio para Ia
implementacin de aplicaciones basadas en Internet e Intranets, as como el software para
dispositivos que se comunican entre redes (tales como telfonos celulares, pagers y
asistentes digitales personales) [10].

6.1.1 Fundamentos de un entorno tpico de Java


Por lo general, los sistemas en Java constan de diversas partes: un ambiente, el lenguaje, la
interfaz de programacin de aplicaciones de Java (API) y varias bibliotecas de clases. Los
programas en Java generalmente pasan a travs de cinco fases para poder ejecutarse. Estas
son: edicin, compilacin, carga, verificacin y ejecucin [10].

6.2 ECLIPSE
Es un IDE de cdigo abierto para los programas en Java y otros lenguajes de desarrollo (por
ejemplo, C, COBOL. PHP, Perl y Python.) Eclipse incluye varios servicios que ayudan al
usuario. El sistema de ayuda ofrece una red integrada de documentacin en lnea, que puede
provenir de mltiples proveedores. Usted puede aadir su propia documentacin en lnea sin
ninguna necesidad de programacin. El sistema de ayuda puede funcionar independiente en
el cliente o como un sistema de ayuda basado en Web [11].

6.3 SISTEMA OPERATIVO ANDROID


Es un sistema operativo para dispositivos mviles que proporciona una plataforma de
desarrollo libre basada en Linux y de cdigo abierto. Android presenta una serie de
caractersticas que lo convierten en un sistema operativo especial:

Plataforma realmente abierta:


Una de sus grandes ventajas es que se puede usar y personalizar sin pagar regala
[12].

Adaptable a cualquier tipo de hardware


Android no ha sido diseado exclusivamente para su uso en telfonos y tabletas; hoy
en da podemos encontrar relojes cmaras y electrodomsticos y gran variedad de
sistemas empotrados que se basan en este sistema operativo. Este hecho tiene sus
evidentes ventajas, pero tambin va a suponer un esfuerzo adicional al programador
la aplicacin ha de funcionar correctamente en dispositivos con gran variedad de
tipos de entrada, pantallas, memoria, etc esta caracterstica contrasta con la
estrategia de Apple: en iOS tenemos que desarrollar una aplicacin para iPhone y
iPad [12].

Portabilidad asegurada
Las aplicaciones finales son desarrolladas en Java lo que nos asegura que podrn ser
ejecutadas en cualquier tipo de CPU, tanto presente como futuro. Esto se consigue
gracias al concepto de mquina virtual [12].

Arquitectura basada en componentes inspirados en Internet.


Por ejemplo, el diseo de la interfaz de usuario se hace en xml, lo que permite que
una misma aplicacin se ejecute en un mvil de pantalla reducida o en un TV [12].

Filosofa de dispositivo siempre conectado a Internet.


Gran cantidad de servicios incorporados. Por ejemplo, Ia localizacin basada tanto en GPS
como en redes, bases de datos con SQL, reconocimiento y sntesis de voz, navegador,
multimedia, etctera [12].

Aceptable nivel de seguridad:


Los programas se encuentran aislados unos de otros gracias al concepto de ejecucin
dentro de una caja que hereda de Linux. Adems, cada aplicacin dispone de una
serie de permisos que limitan su rango de actuacin (servicios de localizacin,
acceso a Internet, etc.) [12].

Optimizado para baja potencia y poca memoria:


Por ejemplo, Android utiliza la Mquina Virtual Dalvik. Se trata de una
implementacin de Google de la mquina virtual de Java optimizada para
dispositivos mviles [12].

Alta calidad de grficos y sonido:


Grficos vectoriales suavizados, animaciones inspiradas en Flash, grficos en 3
dimensiones basados en OpenGL. Incorpora codecs estndar ms comunes de audio
y video, incluyendo H.264 (AVC), MP3, AAC, etctera [12].

6.3.1 Arquitectura De Android

El siguiente diseo muestra la arquitectura de Android que, como se puede ver , est
formada por cuatro capas. Una de las caractersticas ms importante es que todas las capas
estn basadas en software libre [12].

Figura 1: Arquitectura de Android [12]

El sistema Android est basado en el ncleo de Linux 2.6. Este ncleo tiene en cuenta la
gestin de las capas inferiores, tales como los procesos, la gestin de la memoria, los
permisos de usuario y la capa de hardware mediante los drivers. Sobre este ncleo, se sita
la capa de bibliotecas principales del sistema proporcionadas por los fabricantes. Estas, de
bajo nivel, estn escritas en C y/o C++. Proporcionan los servicios esenciales tales como la
gestin de la visualizacin 2D y 3D, un motor de base de datos SQLite, la reproduccin y la
grabacin de audio y video, un motor de navegador web entre otros [13].
Las funcionalidades ofrecidas por estas bibliotecas las recoge y utiliza la capa superior bajo
la forma de bibliotecas Java. Estas proporcionan bibliotecas y componentes reutilizables
especficos a dominios particulares. Encontramos, por ejemplo, bibliotecas de acceso a bases
de datos, de telefona, de localizacin geogrfica, de comunicacin sin contacto de corto
alcance etc.
Por ltimo, la capa de ms alto nivel es la de las aplicaciones. Estas aplicaciones son las que
se incluyen por defecto, tales como la aplicacin de bienvenida o escritorio, la aplicacin
que permite ejecutar otras aplicaciones, el navegador web, la aplicacin de telefona... Pero
tambin son las aplicaciones especficas creadas por desarrolladores [13].

Por defecto, cada aplicacin se ejecuta en una mquina virtual Java alojada en un proceso
Linux dedicado. Esta mquina virtual es especfica a la plataforma Android y est
especializada para entornos embebidos. Se le llama mquina virtual Dalvik [13].

6.3.2 Herramientas Para Desarrolladores De Android (ADT)

El paquete ADT proporciona todo lo que necesita para comenzar a desarrollar aplicaciones,
incluyendo una versin del IDE de Eclipse con unas herramientas de desarrollo incorporadas
(ADT) para optimizar su desarrollo de aplicaciones Android [14].

6.3.2.1 Kit de Desarrollo de Software (SDK)

El SDK de Android se compone de paquetes modulares que se pueden descargar por


separado utilizando el SDK de Android Manager. Por ejemplo, cuando las herramientas de
SDK se actualizan o una nueva versin de la plataforma Android se libera, puede utilizar el
Administrador de SDK para descargarlos rpidamente a su entorno [15]. Los paquetes
disponibles de SDK actualmente son los siguientes:

SDK Tools
Contiene herramientas para la depuracin y pruebas, adems de otros servicios que
se requieren para desarrollar una aplicacin. Si acaba de instalar el paquete SDK de
arranque, entonces ya tiene la ltima versin de este paquete. Asegrese de mantener
esta actualizada [15].

SDK Platform-tools
Contiene herramientas dependientes de la plataforma para el desarrollo y depuracin
de la aplicacin. Estas herramientas de apoyo a las nuevas caractersticas de la
plataforma Android y se actualizan por lo general slo cuando una nueva plataforma
est disponible. Estas herramientas son siempre compatibles con las plataformas
mayores, pero hay que estar seguro de que usted tiene la ltima versin de estas
herramientas al instalar una nueva plataforma SDK [15].

Documentation
Una copia sin conexin de la documentacin ms reciente para la plataforma
Android APIs [15].

SDK Platform
Hay un SDK disponible para cada versin de Android. Incluye un android.jar archivo
con una biblioteca totalmente compatible con Android.Para construir una aplicacin
para Android, se debe especificar una plataforma SDK como su destino de
generacin [15].

System Images
Cada versin de la plataforma ofrece una o ms imgenes de sistemas diferentes
(como por ARM y x86). El emulador de Android requiere una imagen del sistema
para operar. Usted siempre debe probar la aplicacin en la ltima versin de Android
y el uso del emulador la imagen del sistema con la ltima es una buena manera de
hacerlo [15].
Sources for Android SDK
Una copia del cdigo fuente de la plataforma Android que es til para recorrer el
cdigo mientras depura su aplicacin [15].

Samples for SDK


Una coleccin de aplicaciones de ejemplo que muestran una variedad de las API de
la plataforma. Estos son un gran recurso para buscar cdigo de la aplicacin Android.
El Demos aplicacin API, en particular, ofrece un gran nmero de pequeas
demostraciones que debe explorar [15].

Google APIs
Un complemento SDK que proporciona tanto una plataforma que puede utilizar para
desarrollar una aplicacin utilizando una imagen del sistema API Google especial y
para el emulador para que pueda probar su aplicacin utilizando la API de Google
[15].

Android Support
Una biblioteca esttica que se puede incluir en las fuentes de aplicaciones para usar
potentes APIs que no estn disponibles en la plataforma estndar. Por ejemplo, la
biblioteca de soporte contiene versiones del Fragment de clase que es compatible con
Android 1.6 y superior (la clase se introdujo originalmente en Android 3.0) y el
ViewPager APIs que le permiten crear fcilmente una interfaz de usuario robusta
[15].

Google Play Billing


Proporciona las bibliotecas estticas y muestras que permiten integrar los servicios
de facturacin de su aplicacin con Google Play [15].

Google Play Licensing


Proporciona las bibliotecas estticas y muestras que permiten llevar a cabo la
verificacin de licencia para su aplicacin en el reparto con Google Play [15].

6.3.3 Versiones De Android

Una versin de sistema operativo Android tiene un nombre y nmero de versin. Google
utiliza nombres de postre en orden alfabtico. No toda nueva versin recibe un nuevo
nombre, aunque. Por ejemplo, ambos 2.0 y 2.1 son versiones Eclair y 3.0, 3.1 y 3.2 son
Honeycomb. Versiones sin un nuevo nombre pueden ser vistas como cambios de menor
importancia, y es bastante seguro asumir que todos los dispositivos recibirn actualizaciones
a la versin ms grande de una versin llamada. El ciclo de actualizaciones de Android es de
unos seis meses.
Tcnicamente versiones de Android estn diferenciadas con un cdigo numrico llamado el
nivel de API. Los Niveles de API corren secuencialmente desde el nivel del API 1 hacia
arriba. Cada vez que hay un cambio en la API de Android se incrementa el nmero.
Cada versin de Android tiene un nombre, nmero de versin y el nivel de API. La Tabla 1
muestra una lista de las versiones de Android publicadas hasta el momento. Como se puede
ver, hay algunas versiones que faltan como Android 2.0. que es una versin que se ha
actualizado a Android 2.1 tan pronto que los dispositivos ya no la tienen, as que no esta
apuntada en la lista. Android 3,0 a 3,2 Honeycomb es probable que tenga la misma suerte.
Creo que todos los dispositivos Honeycomb se actualizarn a Ice Cream Sandwich o ms,
muy pronto [16].

VERSION DE NOMBRE NIVEL DE API


ANDROID
ANDROID 1.5 CUPCAKE 3
ANDROID 1.6 DONUT 4
ANDROID 2.1 ECLAIR 7
ANDROID 2.2 FROYO 8
ANDROID 2.3-2.3.2 GINGERBREAD 9
ANDROID 2.3.3-2.3.7 GINGERBREAD 10
ANDROID 3.0 HONEYCOMB 11
ANDROID 3.1 HONEYCOMB 12
ANDROID 3.2 HONEYCOMB 13
ANDROID 4.0 -4.0.2 ICE CREAM SANDWICH 14
ANDROID 4.0.3 ICE CREAM SANDWICH 15
ANDROID 4.1 4.1.1 JELLY BEAN 16

Tabla1: Versiones de Android [16].

6.3.4 Web Apps Overview


Fundamentalmente, hay dos formas de administrar una aplicacin en Android: como una
aplicacin del lado del cliente (desarrolladas con el SDK de Android y se instala en los
dispositivos de usuario como .apk) o como una aplicacin web (desarrollada con estndares
web y se accede a travs de un navegador web -No hay nada que instalar en los dispositivos
de usuario) [17]. El enfoque que se escoge para una aplicacin podra depender de varios
factores, pero Android hace que la decisin de desarrollar una aplicacin web sea ms fcil,
proporcionando:
Herramientas que permiten cambiar las caractersticas de las ventanas haciendo posible
dimensionar la aplicacin web teniendo en cuenta el tamao de la pantalla de los
dispositivos mviles Smartphone.

CSS y JavaScript las cuales permiten ofrecer diferentes estilos e imgenes basadas en la
densidad de pxeles de la pantalla (resolucin de pantalla).

Los diseadores no estn obligados a desarrollar las aplicaciones solo en la Web. Sino que
pueden combinar una aplicacin de cliente Android con algunas pginas webs.
7. RESULTADOS ESPERADOS

Con la realizacin de este proyecto se espera que las personas invidentes puedan utilizar el
mdulo electrnico junto con su telfono con sistema operativo Android para escuchar la
lectura de un texto impreso con los tipos de letras Bodoni, Garamond, Arial, Calibri o Times
New Roman con tan solo presionar un botn ubicado en el mdulo electrnico y adems
controlar la lectura de modo que pueda adelantar, atrasar, y pausar la lectura a su gusto.
8. CRONOGRAMA
PRESUPUESTO

En la tabla2 se muestra en sntesis el presupuesto necesario para el desarrollo del proyecto


dado en pesos colombianos.

DESCRIPCIN VALOR
ESTIMADO

Materiales y Suministros $ 680.000

Dispositivos electrnicos $ 600.000

Elementos varios $ 80.000

Insumos $ 425.000

Papelera (fotocopias. $ 225.000


Impresiones etc.)
Servicios de internet $ 120.000

Otros $ 80.000

Recurso Humano Tiempo Valor $ 3.600.000


Unitario
Ing. Camilo Jose 40 horas $ 30.000 $ 1.200.000
Herrera Ojito
Jhan Carlos Marn 3 meses $ 400.000 $ 1.200.000
Lpez
Esteban Eduardo 3 meses $ 400.000 $ 1.200.000
Echeverra Rodrguez

Tabla 2. Costos. Elaboracin propia.

El costo total de materiales y servicios se muestra en la table3:

DESCRIPCION VALOR ESTIMADO


Materiales y Suministros $ 680.000
Insumos $ 425.000
Recurso Humano $ 3.600.000
Subtotal $ 4.705.000
Tabla 3. Costo subtotal de materiales y servicios. Elaboracin propia.
En la tabla4 se muestra el presupuesto total Utilizando una Cuota de administracin,
imprevistos y utilidades del 15 %.

TOTAL $ 5.410.750
AIU(Administracin, Imprevistos y $ 705.750
Utilidades)
Subtotal $ 4.705.000
Tabla 4. Costo Total. Elaboracin propia.
10. REFERENCIAS BIBLIOGRFICAS

[1] Cmo hace el milln de ciegos que hay en Colombia para votar? |
Las2Orillas.CO:
31 marzo 2014. [En lnea]. Disponible:
http://www.las2orillas.co/como-hace-el-millon-de-ciegos-que-hay-en-colombia-para-
votar/.

[2] About OrCam - OrCam


[En lnea]. Disponible:
http://www.orcam.com/about/.

[3] Glassters OCR, una app que permitir leer a los invidentes con Google
Glass
04 de Septiembre de 2013. [En lnea]. Disponible:
http://www.abc.es/tecnologia/moviles-aplicaciones/20130904/abci-glasstersocr-leer-
invidentes-google-201309032118.html.

[4] Google Glass | Release date, price and specs - PC Advisorl


[En lnea]. Disponible:
http://www.pcadvisor.co.uk/features/gadget/3436249/google-glass-release-
date-price-specs-uk/#ixzz32JTDighf.

[5] CamOneTec a Division of ACME the game company GmbH


[En Linea]. Disponible:
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/LightImaging/FCOe_V2.pdf

[6] Introduction to Microcontrollers


[En Linea]. Disponible:
http://www.newagepublishers.com/samplechapter/001599.pdf

[7] Introduction to Microcontrollers


[En Linea]. Disponible:
https://ti.tuwien.ac.at/ecs/teaching/courses/mclu/theory-material/Microcontroller.pdf

[8] Optical Character Recognition


[En Linea]. Disponible:
http://www-bcf.usc.edu/~wdutton/comm533/OCR-SHEE.htm

[9] Optical Character Recognition Using Optimisation Algorithms


[En Linea]. Disponible:
http://wwwipr.ipr.uni-karlsruhe.de/en/publications/download/id/576/d/article576.pd

[10] Deitel, Introduccin a las aplicaciones y a los applets de java, en Como programar,
en C/C++ y Java, Cuarta ed, Pearson Prentice Hall, Mexico, 2004

[11] Jim Dnjou,Read Me First en The Java Developers Guide to Eclipse,


Segunda edicin, Pearson Education, Boston, 2004

[12] Jesus Tomas Girones, Vision general y entorno de desarrollo, en El gran libro
De Android, Tercera ed, Barcelona, 2013

[13] Sbastien Prochon, El Universo Android, en Android-Guia de desarrollo de


Aplicaciones para Smartphone y tables, F.J. Piqueres Juan, ed Ediciones ENI,
Barcelona, 2012

[14] Setting Up the ADT Bundle | Android Developers


[En Linea]. Disponible:
http://developer.android.com/sdk/installing/bundle.html

[15] Exploring the SDK | Android Developers


[En Lnea]. Disponible:
http://developer.android.com/sdk/exploring.html

[16] Juhani Lehtimaki, Introduction to Android Design, en Smashing Android


UI, Primera edicin, Wiley,West Sussex,2013.

[17] Web Apps Overview | Android Developers


[En Lnea]. Disponible:
http://developer.android.com/guide/webapps/overview.html

Anda mungkin juga menyukai