martes, 13 de diciembre de 2011

SinteMouse óptico

Acá cuento extensamente el proceso.
Pero si te interesa hacer tu propio SinteMouse, aqui hay un instructivo paso a paso que escribí para simplificar.
Está en ingles, pero es la misma info que acá abreviada.
http://www.instructables.com/id/Bend-an-Optical-Mouse-to-hear-surface-textures/
A los editores de la página les gustó el instructivo, lo pusieron destacado en la pagina principal y me dieron "membresia pro" gratis por un año :)
Varios miles de visitas! coool!



Demostración del mouse funcionando.

Este circuit bending realiza mi premisa original de "escuchar las texturas de los objetos" que desencadenó el desarrollo de los SoundPaint. Programa para Java, en lenguaje Processing que intenta cumplir la premisa por medios digitales, con las posibilidades y limitaciones de ese medio. (http://ignaciodesalterain.blogspot.com/2011/06/soundpaint.html )
Las texturas "reales" seguían en silencio. Tras un intento fallido de intervenir unos lapices lectores de códigos de barra para tal fin.
En sí mi pregunta original-original fue: "¿podré escuchar los códigos de barra si conecto el sensor del lapiz a un parlante?".
Luego me dije: "¿que tal escuchar cualquier textura de cualquier superficie?"
Y finalmente me contesté: "¿puede ser divertido, aver que pasa?"
- Aveces hablo solo, vos no?
- Si, yo también.


LISTA DE COMPRAS:

1 Mouse óptico que funcione o no, mientras esté en una sola pieza y su LED no esté quemado.

Desarmamos el cable del mouse para sacar cablecitos finos de colores para conectar todo dentro del mouse. O podemos desarmar un cable de impresora viejo o similar para obtener los cables finos de colores.

BC337 o similar (pequeño transistor de 3 patas muy común)

741 (transistor operacional de 8 patas muy común, solo se conectan 5/8 patas)

2 Presets de 500 Kohms
1 Preset de 1 Kohm

2 baterías de 9 V (se necesita una fuente negativa ademas de la positiva, para que el operacional centre la onda respecto de cero Volts)

1 metro de cable de audio, mono y mallado para evitar interferencias.
1 plug de audio, macho o hembra del tipo que resulte conveniente a la salida.

dos portabaterías de 9V, botones dobles como los de la foto.

Alicate, pelacables, Multimetro, Soldador de estaño, Pistola de silicona aka PVC caliente serán necesarios.


Este es el circuito "final". Para quien quiera copiarlo.

El preset "PST3" es el de 1 Kohm.
Se arma en el protoboard en un rato, y otro rato para intervenir el mouse.
Luego instalar el sensor y sacar cables hasta el circuito.
Seguros de que todo funciona, crear la placa donde van los chips, soldarlos a ella.
Luego soldar los cables interiores a cables exteriores de audio y alimentación (+9,-9 y 0 Volts).

Puede ser incomodo usar el mouse con el peso de las dos baterias, se puede usar baterias CR2032 mucho mas chicas y livianas o sacar un cable de alimentación triple junto con el de audio.
Tambien se puede instalar un pequeño parlante al mouse, en vez de sacar la señal por un cable.
De esa manera, con baterias CR2032 y parlante, quedaría desconectado y portatil :)


Proceso de investigación:

El 13 de diciembre 2011, me dió por continuar investigando mi viejo mouse óptico. Lo usé durante años hasta que conseguí uno PS2, lo cambié para liberar el puerto USB de mi pc.




Al qutar la placa vi que tiene un agujero abajo que deja ver la "panza" del chip, con ombligo y todo.
Tras el pequeño orificio hay una microcamara de bajisima resolución y alta velocidad de refresco.

Estuve investigando como funciona.  Y como intervenir esa camara para ver la imagen en un pc, pero es complicado y el Instructable que leí requiere cierto chip especifico.
http://www.instructables.com/id/Mouse-Cam/

De todas formas esto no resuelve mi premisa.

Encontré un "Crazy mouse" que huye cuando uno quiere agarrarlo :)
http://www.instructables.com/id/Crazy-Mouse/

Para gamers, se puede agregar "rapidfire" al clic del mouse con un 555, o 40106.
http://www.instructables.com/id/Add-a-rapid-fire-button-to-your-mouse-using-a-555-/

Pero no encontré nada útil a mi causa...
Así que seguí mi abriendo mi camino, cortando chircas, marcando árboles.


Perforé el chip con mecha del diámetro del sensor.
Volví a poner la tapa bajo el chip.
Pegué el sensor en el agujero del lado de arriba, con la pistola.
Corté las pistas que alimentaban al LED y lo alimenté por fuera con cables y resistencia de 270 Ohms.

Y así hice la primera prueba en la que intenté "leer" el diario "escuchando" el ruido de las noticias. Por ponerlo poético.
No funcionó.


La luz del LED interfiere el sensor por detras, por arriba de la placa.
La solución fue: habiendo fijado el sensor con PVC caliente pinté toda la parte de atrás con pintura negro mate para que entre luz solamente por el agujero bajo el mouse.
Tres manos para evitar cualquier fuga.

Ahora el problema fue el inverso, no logré saturar completamente el sensor con la poca luz que entra por el orificio luego de rebotar en el papel/madera/tela etc...
La señal era apenas audible, la conecté a la base de un transistor para amplificarla (BC337).

A la salida del emisor del transistor se escucha aceptablemente bien...
Se puede ver el 337 con sus tres patitas entre el sensor y la batería de 9V en la foto de abajo.



Cuando logré oir algo empecé a pasar el mouse por todos lados y escuchar.
Adquirí una noción de "como sonaría una textura". Un concepto interesante.
Un poder como los de los X Men o Neo viendo la Matrix, vite?
Le dibujé la cruz que se ve en el lomo del mouse para saber donde está el sensor.



Buscando los limites del sistema generé esta imagen.
Algunos patrones intentan generar forma de onda cuadrada ( -_-_-_-_), otras diente de sierra (/////).
Y sinusoide: la sinusoide oscila redondeada, similar al movimiento del un pendulo sube y baja gradualmente.
Generé los patrones en diferentes escalas para ver que tan agudo o grave puede sonar.
El aparato tiene una resolución muy fina, puedo oir los renglones de una hoja de cuaderno. Que miden menos de medio milímetro de grosor.
No logro escuchar bien las superficies brillantes, como papel satinado o azulejos.
La superficie debe ser lo mas mate y lisa posible.
Las superficies agujereadas como mosquiteros, peines o el protoboard son divertidas de oír, también.

Di por terminado este mouse a pesar de tener el detalle del ruido de fondo.


Es el del video.

Actualización 1 :

Hace unos dias se rompió el pulsador de mi mouse, comenzó a hacer dobles clicks simples.
Le cambié el botón pero siguió igual, no se si le puse un boton roto o que...
En todo caso obtuve otro mouse roto para molestar jojojo Feliz Navidad!

El 31 de diciembre tuve la tarde para dedicarle al mouse. El defecto que le viene quedando es que hay un ruido de fondo importante.
Dias antes se lo mostré a Eduardo Maccio, mi vecino de al lado, exelente técnico de TV y audio. Me dijo: "ah, lo que pasa es que acopla".
Me dejó pensando, tal vez necesito una etapa de preamplificación que centre la señal respecto del -cero+.
El circuito de mi bajo-trombón elástico ( Link ) hace eso.
No tengo osciloscópio, pero mi teoría era que la señal es siempre positiva y pega contra el techo del rango dinámico por desperdiciar la mitad negativa de el mismo.
Hice pasar el sonido del mouse a través del circuito del bajo. Lo intervení como se ve en la foto de abajo.



Descubrí para mi agrado que el ruido ya no está!
Empecé a diseñar una placa de preamplificación que quepa dentro del mouse, copiando el circuito del amp operacional 741 usado en el bajo-trombón.

El problema que esto plantea es que necesito una fuente negativa que me dé -9volts.
Para que la señal pueda tener valores negativos tiene que haber una fuente que provea al amplificador corriente en esa dirección. Por ahora uso dos baterías de 9V, creo que voy a unir dos transformadores de switching (muy estables), usando un cable stereo para llevar la corriente dentro del mouse.
Los dos transformadores pegados quedan bastante compactos, portatiles.
Asi quedan dos cables saliendo del mouse: la alimentación y la salida de la señal.

Encontré circuitos para generar una fuente negativa a partir de una positiva del mismo valor, usando un 555, y otros con chips inversores, etc...
Pero si ya va a haber un cable de alimentación, da lo mismo que lleve 3 lineas (POS, GRN, NEG) que solo dos (POS,GRN) y llenar el mouse de circuitos caceros mas de lo que está.
Asi que descarté la idea de la fuente negativa dentro del mouse.
Igual por ahora lo estoy usando con dos baterías de 9V pegadas al lomo.

A fines de diciembre organizamos reunión de exalumnos del CENI (Centro de Educación Natural e Integral) en casa. Vino Mariana Rebollo, amiga que no veía hace mucho ademas de otros amigos q me dio mucho gusto ver.
Hablando con Mariana se nos ocurrió alguna aplicación del mouse para ciegos. Que les puede resultar interesante escuchar una textura.
Esto me llevó a aplicar el concepto de SoundPaint al mouse.
Es decir, que emita un sonido cuya nota dependa del color del objeto debajo. Rojo-Do-C, Naranja-Re-D, Amarillo-Mi-E y asi... Y que el volumen del sonido nos diga que tan claro u oscuro es.
Es relativamente simple conectando el sensor a un 555, o 40106, chips simples y baratos.
Para vestirse en la mañana es tan fácil como apoyar el aparato sobre la ropa antes de ponersela para saber de que color es. A un ciego le preocupa su imagen :P
Me pareció que puede ser bastante útil mas allá de lo lúdico.
Investigando encontré el Bright-F hace exactamente eso!
http://www.yankodesign.com/2008/05/08/see-color-with-sound/

Pero no parece tener la capacidad de escuchar texturas de la manera que lo hace el Sintemouse.
Estaría bueno un aparato con las dos capacidades: Un modo SoundPaint y un modo SinteMouse, digamos.
Voy a intentar hacerlo modificando un mouse.
Porque ademas no encontré mucha mas info sobre el Bright-F. La página de su diseñador, Lifeng Yu es un link muerto y al googlear su nombre aparecen otras personas asiaticas con ese nombre.
Solo encontré renders 3d, ninguna foto de un aparato real.

Me gustaría contactarlo, el Bright-F es del 2008. Sería interesante saber si llegó a construir el aparato o si está en etapas de investigación... o que.

Yo seguiré investigando aca, a la uruguaya.


Actualización 2 :

Con el concepto de sonido óptico del cine de celuloide en mente hice un programa que traduce archivos de audio (mp3,wav) a una especie de código de barras en el que cada linea muy fina corresponde a un valor en la curva de sonido:
Mas info sobre sonido óptico en cine:
http://en.wikipedia.org/wiki/Sound-on-film

Así se ve el resultado de mi programa, me limitaba el tamaño de pantalla, así que hice bandas que se leen en el sentido que leemos un libro.
Pero esto tuve que editarlo con photoshop pacientemente para tener "un solo renglón largo" en vez de "una página".
Estoy aprendiendo a manejar "arrays" de pixeles del tamaño que quiera, que puedo mostrar en pantalla, guardar como archivo o lo que quiera.
Eso me evitaría esa etapa tediosa de photoshop y así poder convertir todos los archivos de audio que quiera con un solo click :)
Por ahora solo grabé un breve "Hola" con mi voz y lo convertí en la imagen de abajo.

La segunda banda es solo el negativo de la de arriba, como un fotos de rollo. Lo hice para experimentar y no noto diferencia al escucharlas.
Donde fui a imprimir tenían una fotocopiadora digital, que aumenta el contraste.
La imagen con contraste aumentado accidentalmente se escucha mucho mas claro, así que le subí el contraste al archivo.