lunes, 25 de noviembre de 2013

pl08 - empaquetar y distribuir nuestros soft

buenas a todos!, llegamos a la clase 8, ya 2 meses con el taller de programación libre.
en la clase anterior vimos como agregarle una opción a los botones.
 
vamos a probar el siguiente código:
 
inicio del script:
 
; primero preguntamos:
$boton=MsgBox(4, "bienvenido a mi casa", "¿quieres entrar?")
 


; verificamos si presionó el si:
if $boton == 6 then
msgbox(0, "gracias por visitarme", "entra a mi casa")
EndIf
 
if $boton == 7 then
msgbox(0, "bueno, otra vez será", "nos vemos luego")
EndIf
 
msgbox(0, "paseamos", "te llevaré a dar una vuelta por mi casa, asi la conoces!")

 
 
Fin del script.
 
si lo probamos podemos ver si responde si o no aparece el mensaje del paseo por la casa, pero si la persona respondió no porqué mostramos ese mensaje?, habría que poner ese mensaje dentro del if que verifica si respondiste si. o bien podemos usar la palabra clave "exit" que indica el fin del script.
  Cada vez que autoit encuentre la palabra "exit" tomará como que el script finaliza ahí, esto serviirá para darle un fin si el usuario responde que no quiere seguir.
 
vamos a agregarle el exit al script y vamos a volver a probarlo:
 
nota: exit en inglés significa salir, le diríamos a autoit: salí de la ejecución, no continúes.
 
inicio del script:
 
; primero preguntamos:
$boton=MsgBox(4, "bienvenido a mi casa", "¿quieres entrar?")
 


; verificamos si presionó el si:
if $boton == 6 then
msgbox(0, "gracias por visitarme", "entra a mi casa")
EndIf
 
if $boton == 7 then
msgbox(0, "bueno, otra vez será", "nos vemos luego")
exit
EndIf
 
msgbox(0, "paseamos", "te llevaré a dar una vuelta por mi casa, asi la conoces!")
 
Fin del script.
 
Bien!, ya estamos listos como para hacer un buen cuento o algún buen programita para entretener a nuestros amigos, pero como le pasamos el au3 si ellos no tienen autoit?, o como paso mi soft sin que me lo copien?.
 
hoy vamos a aprender a compilar:
 
¿qué es compilar?: todo los programas ejecutados en la pc está escrito en lenguaje máquina, lenguaje binario: todos con 0 y 1, muy difícil de leer por los humanos, así que para hacerlo mas sencillo se crearon los lenguajes de programación. nosotros respetamos una sintaxis como la de autoit y el compilador pasa eso a lenguaje máquina y transforma nuestro programa a un programa.exe como para ser distribuido.
 
¿cómo convertir nuestro au3 en un exe y poderlo distribuir?: es muy sencillo.
 
Si lo hacemos con el mouse: presionas botón derecho sobre el au3 y clickeamos en compile script, esperamos que procese y ya tendremos el script.exe con el mismo nombre que el au3 listo para ser distribuido.
 
con el teclado: pulsas botón aplicaciones, bajas con las flechas hasta "compile script", le damos enter y esperamos que procese.
 
ahora ya tenemos el archivo.exe para pasarlo a nuestros amigos y puedan probar nuestras creaciones.
todos los script que me manden por favor enviarme el au3, yo lo compilaré y lo publicaré en este blog para que todos lo puedan mirar, pasen sus creaciones!.
 
para finalizar esta clase vamos a aprender una nueva función:
 
FileInstall
 
sirve para incluir un archivo necesario dentro del exe.
 
imaginemos que tenemos el archivo: cuento.exe y este programa utiliza 2 sonidos: música.mp3 y inicio.mp3.
que pasaría si al pasar el exe no tuvieran los mp3?, el cuento quedaría sin sonido y pierde su encanto, así que utilizaremos la función FileInstall para incluir los sonidos dentro del exe.
 
la función FileInstall tiene 2 parámetros:
1. ruta inicio
2. ruta destino
 
osea el primer parámetro es la ubicación del sonido, y el segundo parámetro es la ruta donde tendría que estar ese sonido luego de ejecutar el exe. vamos a probar en el script siguiente:
 
inicio del script:
 

SoundPlay("inicio.mp3", 0)
msgbox(0, "inicio", "este es mi cuento")

SoundPlay("musica.mp3", 0)


msgbox(0, "el cuento", "esta es la musica")
 
fin del script.
 
nota: deberán poner en la carpeta del script 2 archivos de sonido llamado inicio.mp3 y otro llamado musica.mp3.
 
ahora compilemos y ejecutemos el exe. ¿funciona verdad?.
movamos el exe a otra carpeta y veremos que sigue funcionando pero ahora sin los sonidos...que aburrido!
 
vamos a repetir ahora el script anterior pero con la función:  FileInstall:
 

inicio del script:
 

FileInstall("inicio.mp3", "1.mp3")

FileInstall("musica.mp3", "2.mp3")
 


SoundPlay("1.mp3", 0)
msgbox(0, "inicio", "este es mi cuento")

SoundPlay("2.mp3", 0)


msgbox(0, "el cuento", "esta es la musica")
 
fin del script.

nota: se recomienda poner todos los FileInstall al inicio del script como para que quede mas visible el código y sabremos luego que archivos son importados al compilar.

 ahora compilemos en exe. movamos el exe a otra carpeta y lo abrimos: veremos que el soft funciona perfectamente y con los sonidos que le pusimos, y en la carpeta donde pusimos ahora el exe se crearon los sonidos luego de abrirlo. se crearon los archivos: 1.mp3, y 2.mp3.
 
si vemos la primera línea incluimos el archivo inicio.mp3 y le dijimos que luego de ejecutarse que lo exporte como 1.mp3, lo mismo en el segundo caso.
para que entendamos el uso de esta función sería como comprimir los archivos necesario dentro del exe y autoit lo descomprime automáticamente cuando se habra el exe. muy útil, ¿verdad?.
 
practiquemos haciendo los anteriores script que hicimos pero ahora comprimiendo los sonidos dentro del exe para luego poderlo pasar a nuestros amigos!.
 
hasta la próxima clase.




miércoles, 20 de noviembre de 2013

pl07 - agregando funciones a los botones

buenas a todos, debido a problemas personales esta clase se demoró, pero aquí ya está.
vamos a ver mas sobre estos condicionales, cosa que nos llevará bastante dolores de cabeza mas de una vez.
 
veamos la sintaxis entonces:
 
sabemos que el if significaba: si
y el then: entonces.
 
sería:
if condicional then
que lo podríamos leer como: si el condicional es válido entonces ejecutemos el código.
y luego finalizamos el if con un EndIf, que indica el final: del if.
 
recordemos en las primeras clases que poníamos en práctica la función MsgBox, que mostraba una ventana con botones.
 
ejemplo probemos este código:
 
MsgBox(4, "bienvenido a mi casa", "¿quieres entrar?")
 
aquí podemos ver los botones si y no. pero como le damos funcionalidades a esos botones?, veamos como hacerlo con los condicionales.
 
la función MsgBox también retorna un valor, que es el valor del botón presionado, cada botón tiene un número, y ese número se puede guardar en una variable, así que vamos a crear la variable $boton para guardar el resultado del botón presionado. vamos a probar el siguiente código:
 
$boton=MsgBox(4, "bienvenido a mi casa", "¿quieres entrar?")
MsgBox(0, "el boton presionado es", $boton)
 
probemos varias veces ese ccódigo, si presionamos el si dará un número, y si presionamos el no dará otro, revisemos cual es.
 
si, están en lo correcto:
el si es el 6
y el no es el 7.
 
tarea 1: probemos con los diferentes MsgBox y veamos que número son los otros botones, el cancelar, el reintentar, el anular y todos los otros botones que aparecen, y hagan una lista con que número es cada botón.
 
ahora vamos a agregarle funcionalidad a esos botones.
 
sabiendo que el si es el 6, podemos poner un condicional para ver si presionó el si mostrarle un mensaje.
 
<inicio del código>
 
; primero preguntamos:
$boton=MsgBox(4, "bienvenido a mi casa", "¿quieres entrar?")
 

; verificamos si presionó el si:
if $boton == 6 then
msgbox(0, "gracias por visitarme", "entra a mi casa")
EndIf
 
<fin del código>
ahí podemos ver que verificamos si el botón es igual a 6, si lo es mostramos un mensaje.
pero si presiona no, no tiene mensaje. así que vamos a hacer este código de vuelta pero con otro condicional para el no.
 
<inicio del código>
 
; primero preguntamos:
$boton=MsgBox(4, "bienvenido a mi casa", "¿quieres entrar?")
 

; verificamos si presionó el si:
if $boton == 6 then
msgbox(0, "gracias por visitarme", "entra a mi casa")
EndIf
 
; verificamos ahora si presionó el no.
if $boton == 7 then
msgbox(0, "bueno, otra vez será", "nos vemos luego")
EndIf
 
<fin del código>
hasta aquí tenemos mucho para probar, ahora le podemos dar funciones al si y al no.
 
tarea 2: hacer un cuento con preguntas, según lo que responda mostrar uno o otro mensaje, y si te animas agregarle sonido.
 
y para finalizar vamos a ver el anterior ejemplo pero ahora agregando un else.
osea, si responde si mostramos un mensaje, el else indicaría si responde el no, ya que el else indica lo contrario de la condición. si la condición valida si es si, lo contrario sería si es no.
 
vamos a ver el ejemplo con el else:
 
<inicio del código>
 
; primero preguntamos:
$boton=MsgBox(4, "bienvenido a mi casa", "¿quieres entrar?")
 
; verificamos si presionó el si:
if $boton == 6 then
msgbox(0, "gracias por visitarme", "entra a mi casa")
else
; si es no: mostramos un mensaje:
MsgBox(0, "bueno, otra vez será", "nos vemos luego")
EndIf
 
<fin del código>
 
ahi mucho para practicar así que mano a la obra!.
 
nota: los que tienen la tutoría paga no habrá clase este jueves, si no el viernes a la misma hora.

martes, 12 de noviembre de 2013

Spread Signs - un diccionario de lengua de seña en tu android

Navegando por la red me topé con Spread Signs, según promete ser un gran diccionario de lengua de seña. Su descripción dice:
Aprenda lengua de signos Americana, Checa, Inglesa, India, Estona, francesa, alemana, austriaca, islandésa, italiana, japonesa, letona, lituana, polaca, portuguesa, brasileña, rumana, rusa, española, sueca, turca y ucraniana.
es una pena que no esté la argentina, pero almenos por mi parte aprender lenguaje de señas es un desafío por cumplir, así que a quien le interese creo que es un buen momento para revisar esta ap de android.
 
  Como programador me encanta destacar estas aplicaciones que nos ayuda a mejorar la integración y nos ayuda a ampliar nuestros horizontes en el conocimiento, debo felicitar esta iniciativa tan interesante.
 

pl06 - condicionales

Buenas, hemos llegado al límite de lo teórico, y de ahora mas pasaremos a la pura acción. de ante mano les anticipo que lo que se verá en las siguientes clases es bastante complicado, así que no desesperarse y con paciencia lo irán sacando. En esta clase veremos los condicionales.
 
¿Qué es un condicional?:
 
  En los script que realizamos hasta ahora pudimos hacer un programa que se ejecuta en forma secuencial, desde el inicio al fin, ¿pero que pasaría si queremos finalizarlo antes o mostrar otro mensaje diferente según la respuesta del usuario?. para ello utilizamos los condicionales: si se cumple la condición mostramos tal cosa, y si no se cumple tal otra.
 
el algoritmo quedaría algo así:
 
si se cumple la condición entonces:
código 1
si no:
código 2
 
aquí podemos ver que si la condición es válida ejecutamos el código 1, y si no es válida el código 2.
 
¿pero a que llamamos condición?:
 
  podríamos preguntarle la edad y guardar el resultado en la variable $edad, y poner como condición si esa edad es mayor que 18 es mayor de edad, y si no cumple esa condición sería menor de edad. eso sería una condición, validar una variable con un valor, o validar que 2 variables sean diferente.
 
operadores de validación:
 
tenemos varios operadores para comprobar una validación, los siguientes son algunos de ellos:
 
signo: significado.
<:
si es menor que el segundo elemento.
>:
si es mayor que el segundo elemento.
==:
validamos si son iguales.
>=:
validamos si es mayor o igual que el segundo elemento.
<=:
validamos si es menor que o igual que el segundo elemento.
 
entonces para la condición de mayor de edad podríamos armar la condición de la siguiente forma:
 
$edad >= 18
 
de esa forma verificamos si la variable $edad es mayor o igual que 18, con eso sabemos si es válido que la persona es mayor de edad.
 
sintaxis de la validación de una condición:
 
para validar la condición se pone con la siguiente   sintaxis:
 
if condición a validar then
código 1
EndIF
 
eso sería: el if preguntaría si la condición se cumple.
Then: significaría entonces, si se cumple ejecuta lo siguiente.
si es válida ejecuta el código 1.
y el EndIF indica el fin de el código ejecutado.
 
para ilustrarlo visualmente, el if y el EndIf sería como un gran paréntesis que encierra a todo el código que se debería ejecutar si la condición se cumple.
 
para no marearnos mas, vamos a ver un ejemplo:
 
; vamos a consultar la edad:
$edad=InputBox("edad", "¿cuantos años tienes?", "")
; ahora vamos a preguntar si es mayor de edad:
if $edad >= 18 then
msgbox(0, "muy bien", "eres mayor de edad")
EndIf
 
si ejecutamos el anterior código podemos ver que valida si eres mayor de edad, si no lo eres no realiza ninguna acción.
 
pero como agregamos la acción si no cumple la condición?, agregando un else a la sintaxis.
  El if quedaría de esta forma:
 
if condición a validar then
código 1
else
código 2
EndIf
 
el else significa si no cumple la condición entonces ejecuta el código 2. el else siempre tiene que estar antes que finalice el if, osea antes del EndIf.
entonces:
si es válido: ejecuta el código 1
y si no es válido: ejecuta el código 2.
 
vamos a agregarlo en el anterior código haber como funcionaría:
 
; vamos a consultar la edad:
$edad=InputBox("edad", "¿cuantos años tienes?", "")
; ahora vamos a preguntar si es mayor de edad:
if $edad >= 18 then
msgbox(0, "muy bien", "eres mayor de edad")
; si no es válido vamos a mostrar otra cosa:
else
msgbox(0, "muy bien", "no eres mayor de edad")
EndIf
 
si probamos el código podemos ver si es mayor de edad muestra un mensaje, y si es menor, muestra otro.
 
bien bien!, ya estamos listo para usarlo, así que vamos a la tarea:
 
tarea 1: realizar un script que pregunte un número y diga si ese número es mayor o menor que 20.
tarea 2: preguntar la nota de tu examen, y decirle si aprobó o no el mismo.
 
el que se quiera animar a realizar otro agregando sonidos, adelante!.
 
durante esta semana se publicarán mas tareas y un artículo de ayuda también de la clase anterior.

miércoles, 6 de noviembre de 2013

el poder de la palabra

¿DOS RANAS
 
Un grupo de ranas viajaba por el bosque y, de repente, dos de ellas cayeron en un hoyo profundo. Todas las demas ranas se reunieron alrededor del hoyo.
 
Cuando vieron cuan hondo este era, le dijeron a las dos ranas en el fondo que para efectos prácticos, se debían dar por muertas.
 
Las dos ranas no hicieron caso a los comentarios de sus amigas y siguieron tratando de saltar fuera del hoyo con todas sus fuerzas.
 
Las otras seguían insistiendo que sus esfuerzos serian inútiles.
 
Finalmente, una de las ranas puso atención a lo que las demás decían y se rindió, se desplomo y murió. La otra rana continúo saltando tan fuerte como le era posible.
 
Una vez más, la multitud de ranas le gritaba y le hacían señas para que dejara de sufrir y que simplemente se dispusiera a morir, ya que no tenía caso seguir luchando. Pero la rana salto cada vez con más fuerzas hasta que finalmente logro salir del hoyo.
 
Cuando salió, las otras ranas le dijeron: "nos da gusto que hayas logrado salir, a pesar de lo que te gritábamos". La rana les explico que era sorda, y que pensó que las demás la estaban animando a esforzarse más y salir del hoyo.
 
Debemos ser conscientes del poder de las palabras, pues ellas son mágicas. Sin ser materialmente tangibles tienen el poder de crear o de destruir y es nuestra decisión si las usamos como magia blanca para hacer el bien, para dar amor, para edificar o como magia negra que destruye, que daña el autoestima de las personas o que causa dolor. Habla con integridad y utiliza siempre el poder de tus palabras para avanzar en la dirección de la verdad y el amor. Toda la magia que posees se basa en tus palabras. Son pura magia y si las utilizas mal, se convertirán en magia negra. Con una sola palabra puedes cambiar una vida o destruir a millones de personas. Se impecable con tus palabras y trasciende tu nivel de existencia!

martes, 5 de noviembre de 2013

pl05 - mas sobre variables y buenas prácticas

Hola a todos!, gracias por hacer posible este curso, ya llegamos a la clase 5, y cumplimos un mes juntos!.
esta semana debido a que participo en un torneo de ajedrez en la ciudad de córdoba (argentina) no habrá artículo de ayuda
 
el viernes ni clase de apoyo el jueves. todos aquellos que tengan la tutoría paga podrán contactarme hoy durante todo el
 
día o mañana por la mañana así pueden aclarar sus dudas, y mas tareas encontrarán en la carpeta compartida en dropbox.
 
antes de empezar con los temas de esta clase, quiero dejar unos ingeniosos script que realizaron.
 
Carlos induni nos envía un paseo por el parque, muy ingenioso y divertido, claro ejemplo que con algo sencillo se pueden
 
hacer muchas cosas:
https://www.dropbox.com/s/fosqotbhze66z6e/Mi%20parque%20by%20charly.rar
y menchor nos envía una tarea, donde se puede ver como parar un sonido que está reproduciendo.
https://www.dropbox.com/s/jkr5m16f29reaqx/parada%20del%20sonido%20%28by%20menchor%29.rar
son ejemplos muy interesante para conservar y ver su código.
 
ya iremos recompilando las tareas de todos en una web para ser descargado.
 
empecemos entonces.
 
En la clase anterior vimos como operar variables en la suma, resta, multiplicación y división, se pueden realizar todas
 
las operaciones matemáticas. Pero: que pasa con las cadenas de texto?.
también ahi muchas operaciones y funciones para operar con ellas:
 
concatenar strings:
 
  Concatenar es unir, podemos unir una cadena con una variable para formar frases y lo hacemos con el signo "&". ejemplo
 
si pedimos un nombre podemos concatenar la variable con un saludo personalizado, por ejemplo:
"un gusto conocerte "&$nombre
 
podríamos guardar esa unión en una variable y luego mostrarla en un MsgBox, de esta forma:
$mensaje="un gusto conocerte "&$nombre
MsgBox(0, "saludo", $mensaje)
 
si probamos el anterior código nos tirará un error, porqué?.
averigua porqué antes de seguir.
 
si!, si ya lo descubriste puedo decir que vas progresando!.
 
tirará un error porque la variable $nombre no tiene valor, y no se puede usar una variable sin valor. entonces vamos
 
asignarle un valor a esa variable utilizando un InputBox para preguntarle el nombre, entonces el script completo sería
 
este:
 
$nombre=InputBox("nombre", "cual es tu nombre?", "")
$mensaje="un gusto conocerte "&$nombre
MsgBox(0, "saludo", $mensaje)
 
si, ya podemos saludar mas personalizada mente.
 
vamos a ver el anterior script concatenado de diferentes formas:
 
ejemplo 2:
 
$nombre=InputBox("nombre", "cual es tu nombre?", "")
$mensaje=$nombre&" gracias por visitarme"
MsgBox(0, "saludo", $mensaje)
 
ejemplo 3:
 
$nombre=InputBox("nombre", "cual es tu nombre?", "")
$mensaje="un gusto conocerte "&$nombre&", gracias por visitarme"
MsgBox(0, "saludo", $mensaje)
 
podemos ver en el ejemplo 1 como se concatena al inicio, en el 2 como lo hace al final, y en el 3 como lo hace antes y
 
después de la variable, sentite libre de concatenar tus variables para ir jugando con eso.
 
Tarea 1:
 
realiza un script que haga preguntas al usuario, y muestra sus respuestas con cadenas concatenadas, por ejemplo:
cual es tu animal preferido?:
que lindo que te guste x animal
¿que color te gusta mas?
el x color es muy bonito!
 
Funciones para trabajar con cadenas:
 
ahi miles de funciones para trabajar con estas cadenas, vamos a ver 2 de ellas:
 
función StringLen:
 
Esta función sirve para saber la cantidad de caracteres que tiene una cadena, se le  pasa como parámetro la cadena a
 
evaluar, ejemplo: vamos a probar cuantos caracteres tiene esta cadena:
"Cuán largo soy?"
 
así que lo vamos a pasar como parámetro a la función de esta forma:
StringLen("Cuán largo soy?")
 
y para poder mostrarlo vamos a guardarlo en la variable $largo de esta forma:
$largo = StringLen("Cuán largo soy?")
 
entonces vamos a poner un MsgBox para mostrarlo, el script completo sería de esta forma:
 
$largo = StringLen("Cuán largo soy?")
MsgBox(0, "Largo de cadena es:", $largo)
 
tarea 2:
 
preguntarle el nombre y decirle cuantas letras tiene.
 
Función StringUpper
 
con StringUpper, podemos pasarle una cadena y transformar toda la cadena en mayúsculas. los nombres van en mayúsculas, así
 
que para que quede bien visualmente podemos aplicar StringUpper para que lo transforme siempre en mayúsculas.
se opera de la misma forma, le pasamos como parámetro la cadena a transformar, lo guardamos en una variable y lo
 
mostramos, así que esta vez mostraré el script completo:
 
$result = StringUpper("Soy una cadena de 4-palabras")
MsgBox(0, "Cadena convertida a mayúsculas:", $result)
 
Buenas prácticas en la programación:
 
  Cuando se desarrolla un programa grande, son cientos y miles de líneas de código, se imaginan entender luego que es la
 
línea 153, o la línea 23451?. y mas si esa parte no la programaste vos, si trabajás con 3 o 4 programadores mas y alguno
 
de tus compañeros creó una parte de tu programa y no entiendes lo que hizo, como corregir esa parte?.
 
para ello se implementan los comentarios, es una muy buena práctica, y prácticamente obligatoria comentar todos los
 
códigos que realizamos.
 
¿Que es un comentario?.
 
  Una línea de texto que autoit no ejecuta, lo interpreta que es un mensaje interno del código, como una ayuda para poder
 
entender que es lo que estás leyendo. Sería como una nota al pie, cuando lees un libro.
  Para indicarle a autoit que la siguiente línea es un comentario y no es un código para ejecutar se utiliza el signo
 
punto y coma ";". todo lo que esté en ese renglón y esté después del punto y coma no se ejecuta, autoit lo saltea porque
 
sabe que eso es un comentario.
 
ejemplo probemos este código:
 
; esto es un comentario
MsgBox(0, "ventana", "el script con comentarios")
; esto es otro comentario.
 
Tarea:
vamos a poner como norma para estas tareas y para todas las posteriores que pongas los siguientes comentarios al inicio
 
del script:
; autor:  el nombre de la persona que lo realizó
; fecha:  la fecha que hiciste el script.
; objetivo: un comentario de que es ese script, que función realiza.
 
con esos 3 comentarios al inicio de todos los script ayudará mucho para poder compartirlos, y saber quien lo hizo y para
 
que sirve, todo aquel script que no respete estas pautas, no será publicado.
 
a realizar las tareas, y hasta la próxima clase!.

viernes, 1 de noviembre de 2013

Crean una app android para ciegos que reconoce billetes argentinos

  Un grupo de estudiantes de Ingeniería en Sistemas de la Universidad Nacional de La Matanza desarrollaron WhatIsThis una aplicación para Android que ofrece a la personas ciegas la posibilidad de "leer" en voz alta textos, billetes y otro tipos de objetos.
 
Al igual que el software traductor del lenguaje de señas argentino Onis, esta aplicación fue desarrollada en sólo seis meses dentro del marco de la asignatura Proyecto, con la cual se reciben los alumnos de Sistemas de la UNLaM. Para ello, crearon dos grupos: unos se dedicaron al desarrollo y otros a la documentación.
 
 "Entrevistando a personas con discapacidades visuales, especialmente con ceguera avanzada, descubrimos que una de las necesidades fuertes era conocer el valor de los billetes. No si son verdaderos o falsos, sino el valor. Porque con el uso se empiezan a deteriorar", indicaron a RedUSERS los integrantes del equipo que desarrolló la app, compuesto por Javier Blanco, Christian Sandoval, Damián Fiorillo, Sebastián Baini y Gustavo Baldani.
 
 Además, la aplicación posee un lector OCR que puede leer en voz alta cualquier texto, lo cual es de gran utilidad porque hay pocas bibliotecas para ciegos. También ayuda a reconocer objetos con los que se interactúa todos los días. "Las personas ciegas son muy ordenadas para poder hallar las cosas rápidamente sin ayuda, pero los familiares pueden desorganizar los objetos en el trajín diario", explicaron.
 
Si bien los teléfonos táctiles pueden no parecer amigables para las personas ciegas, Android posee un "lector de pantalla" con el cual el usuario puede recorrer los iconos y el sistema le leerá en voz alta el nombre de la aplicación. Esto se logra yendo a Configuración o Ajustes en Android, y luego en la opción de Accesibilidad hay que instalar la aplicación TalkBack o spiel.
 
  Esto está basado en la tecnología OpenCV de "visión artificial" que usaron los chicos para crear el desarrollo. "OpenCV y la tecnología OCR terminan comunicándose con C y C++. El esqueleto de la app lo hicimos en JAVA y el resto en C y C++2, señalaron los alumnos, quienes aseguraron que la app se puede usar en equipos con Android 2.1 en adelante, aunque recomiendan un dispositivo con la versión 4.0, porque el lector de pantalla es más preciso, y cámara de 5 megapixeles.
 
  Durante la entrevista, los chicos de WhatIsThis nos mostraron la app y funciona muy bien. Pudo reconocer billetes (hasta uno de 2 pesos arrugado) sin tener que fotografiarlo todo. También identificó saquitos de té, la tarjeta SUBE y hasta sacaron la foto de uno de los integrantes del equipo para añadirlo como "nuevo objeto", una característica de gran utilidad para que los usuarios agreguen otros items no previstos por la app.
 
   "Nosotros publicamos la aplicación en Google Play y la verdad que la gente está muy contenta. Nos llegan mensajes por e-mail o Facebook y son muy alentadores", aseguran los chicos, que consiguieron que la app sea descargada por cerca de 1000 personas y varios comentarios positivos.
 
fuente: RedUSERS
autor: Alejandro D'Agostino