Paso 4: Cómo funciona
La aplicación tiene algunos buenos trucos para que funcione bien.
Básicamente la idea es cuando alguien pone su mano cerca de un sensor juega una nota muestreada.
El código es necesario para monitorear todos los sensores en tiempo real y tocar las notas con como poco retraso posible - varias notas a la vez, en el fondo - todo el tiempo tratando de evitar la charla cruzada y contra rebotes los detectores, por lo que no desencadenan múltiples veces como una mano se mueve en frente.
Pulsos ultrasónicos se envían continuamente de los detectores - y el software de escucha de un eco - si esta eco se escucha en 1 milisegundo - un objeto está muy cercano - de 15 a 20 cm - por lo que reproducir un sonido muestreado para el detector. Cualquier rango hasta unos metros funcionaría - pero queríamos que excluir a las personas pasar lejos de la mesa.
Para obtener el máximo rendimiento en tiempo real, no podemos usar las bibliotecas de Arduino estándar - ya que solo pueden controlar un sensor en un momento y tienden a encerrar por un segundo o más, cuando un objeto está muy lejos. No sirve para un piano sensible.
También - para reducir el número de cables, así como a hacerla más receptiva - usamos un disparador para activar a todos los senors a la vez - fue una preocupación que esto podría provocar que algunas conversaciones entre los sensores - pero funciona bien en la vida real.
Para eliminar totalmente cualquier interferencia entre los sensores - fieltro puede enrollado y pegado para crear 2 pulgadas tubos largos y unido a cada uno de los detectores del sensor para que sea más direccional. Vea este enlace para más detalles. Considera innecesario, pero usted puede encontrar mejora la separación de los sensores.
Todo esto nos obligó a crear nuestro propio código de biblioteca ultrasónico a tiempo la respuesta de ping de todos los detectores de nueve simultáneamente - y filtrar valores espurios que le pueden pasar como no deseada activación doble en una fila que puede pasar.