PRESENTADO POR:
ESTEBAN EDUARDO ECHEVERRA RODRGUEZ
E-mail: esteban-apps@outlook.com
JHAN CARLOS MARN LPEZ
E-mail: jhanmarin@hotmail.com
PRESENTADO POR:
ESTEBAN EDUARDO ECHEVERRA RODRGUEZ
E-mail: esteban-apps@outlook.com
JHAN CARLOS MARN LPEZ
E-mail: jhanmarin@hotmail.com
DIRECTOR DE PROYECTO:
CAMILO JOSE HERRERA OJITO
ANTEPROYECTO DE GRADO
TITULO
ESTUDIANTES: FIRMA
______________________________________
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
3. OBJETIVOS
3.1 OBJETIVO GENERAL
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.
Actividad 2: Recopilacin.
Duracin: 2 semanas.
Resultado: Recoleccin de la documentacin necesaria para el diseo y desarrollo del
proyecto.
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.
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.
6. MARCO TERICO
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:
Que es lo que en su interior hace que estas mquinas sean Inteligentes? La respuesta es el
microcontrolador.
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]
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.
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.
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.
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]
La tecnologia
Sistemas de patrones;
Sistemas estructurales;
Sistemas de funciones;
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.
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:
Alta velocidad;
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.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].
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].
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].
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].
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].
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].
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].
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].
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
DESCRIPCIN VALOR
ESTIMADO
Insumos $ 425.000
Otros $ 80.000
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/.
[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.
[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
[12] Jesus Tomas Girones, Vision general y entorno de desarrollo, en El gran libro
De Android, Tercera ed, Barcelona, 2013