Paso 3: Construcción del software
Todo el mundo sabe que una nota musical está definida por una determinada longitud de onda, pero te has preguntado ¿por qué la misma nota suena distinta en distintos instrumentos? La razón es que dentro de eso onda total hay un montón de otras ondas diminutas, demasiado pequeñas para abrumar a la gran ola pero lo suficiente para cambiar la naturaleza específica de la onda. Así, escuchamos la gran ola y decimos "middle C", y escuchamos las olas más pequeñas en que onda y decir "piano". El proceso de tamizado de las diferentes ondas es un ejemplo de una descomposición, y es lo que hace la cóclea, lo que significa que es lo que necesitamos para reproducir. Como se mencionó anteriormente, la cóclea está realizando lo que se llama la transformación wavelet, que en realidad fue descubierta tratando de averiguar lo que estaba haciendo la cóclea; usted podría llamar a esto un ejemplo de evolución a matemáticos a un concepto profundamente útil! Ahora, a pesar de se hace esencialmente con una licenciatura en matemáticas, estoy apenas capaces de comprender la mayoría de las transformaciones wavelet por mi cuenta, así que por suerte para este proyecto es una misteriosa caja negra, la biblioteca de jwave, que puede ser objeto de abuso para nuestro propósito. Tomaremos algunos datos de sonido crudos, enviando a jwave, (magia sucede), entonces recibiendo algunos datos que se ve nada como sonido. Girar los datos en las frecuencias que coinciden con las frecuencias operacionales de los dos tipos de receptores de tacto (50 a 250 Hz) y por último, a esas frecuencias en señales binarias a Arduino, que simplemente cambia cualquier tactor se dice a. Convenientemente, la disparidad considerable entre nervios e incluso una baja frecuencia USB significa que seremos capaces de señal cada tactor un bit a la vez con un montón de espacio de sobra: para USB a 9600 Mhz, podríamos señalar aproximadamente 38 millones tactors.
Si no se siente que sutura el código usted mismo, la fuente, un jar ejecutable y los archivos de código/STL openSCAD para los objetos 3D pueden encontrarse sobre en thingiverse aquí . Si desea un programa listo para funcionar, descargue el archivo ejecutable, poner el bosquejo en su Arduino y lea el archivo Léame. Adviértase también, que esto dista mucho de código de calidad de producción.