En el pasado, cuando todavía era un niño, nuestros ratones de ordenador tenían una bolita. Eran dispositivos mecánicos que medían la rotación de la bolita en dos ejes. Luego aparecieron los ratones ópticos y todo cambió. Tenían una mejor precisión, mayor velocidad y no requerían limpieza. Incluso los trackballs modernos, como el que uso para cuidar mis muñecas, utilizan sensores ópticos. Estos sensores ópticos son similares a los que se encuentran en las cámaras digitales, por lo que el Doctor Volt hizo algo natural y transformó un viejo ratón óptico en una cámara digital funcional.
Los sensores ópticos de un ratón de ordenador y el sensor CMOS de una cámara digital moderna son similares en la superficie, ya que ambos producen una matriz bidimensional de píxeles. El ratón óptico analiza las diferencias entre fotogramas para determinar cuánto se ha movido y en qué dirección. Por lo tanto, los ratones ópticos no funcionan bien en superficies lisas y uniformes: los píxeles parecen iguales, por lo que no pueden percibir las diferencias entre fotogramas. Sin embargo, un ratón óptico no necesita una resolución muy alta o color para realizar su tarea, por lo que estos sensores no se comparan ni siquiera con las cámaras digitales más baratas de hace algunas décadas.
En este caso, el Doctor Volt utilizó un sensor de un ratón óptico antiguo, que tiene una resolución de 18×18 píxeles. Utilizando su confiable osciloscopio, leyó la señal de salida de este sensor. El sensor devuelve una tabla de valores hexadecimales para cada uno de los 324 píxeles en cada fotograma. Luego utilizó una placa de desarrollo ESP32 para leer estos datos y mostrarlos como una imagen en una interfaz web previamente creada para otro proyecto.
La señal de píxeles sin procesar directamente desde el sensor es prácticamente incomprensible para el ojo humano debido a su baja resolución. Es por eso que el Doctor Volt decidió utilizar la interpolación para obtener mejores resultados. Los algoritmos de interpolación crean nuevos puntos de datos en función de un conjunto limitado de datos. Hay muchos algoritmos diferentes adecuados para aplicaciones específicas. El Doctor Volt descubrió que la interpolación cúbica funciona bien en este caso. Es un poco como las escenas de «¡Mejora el video!» en los programas de CSI y puede crear una imagen de mayor resolución basada en fotogramas de baja resolución.
Funcionó para objetos justo debajo del sensor, pero el Doctor Volt quería usarlo como una cámara. Por lo tanto, imprimió en 3D un soporte para lentes con montura CS para Raspberry Pi. Esto permitió que la cámara se enfocara en objetos colocados a una distancia moderada.
Los resultados aún no son perfectos, no se acercan a la perdida Game Boy Camera de los años 90. Pero es genial ver imágenes reconocibles provenientes de un ratón de ordenador.