TapTunes - una interfaz Tap a iTunes

como parte de mi proyecto de término de interacción persona-ordenador, yo montada encima de un pequeño programa que permitiría a los usuarios controlar iTunes pulsando varios patrones en un sensor piezoeléctrico.  La Fundación de este proyecto fue el tutorial de KnockSensor en la Web de Arduino.  Este tutorial fue ampliado luego para cumplir con los requisitos necesitados por el sistema.

Mi sistema se compone de los siguientes componentes:
• 1 Arduino (la que se utiliza es un Arduino Mega 2560)
• 1 Sensor piezoeléctrico
• 1 Mega-ohmio Resistor
• Tablero que contiene 3 LEDs
• 1 Cable USB A-B
• 1 ordenador portátil ejecuta Visual Studios 2010 y iTunes

El resistor del ohmio de 1Mega está presente para evitar que el sensor piezoeléctrico de dañar el puerto de entrada de Arduino.  Los LEDs ofrecen comentarios de los usuarios.  El LED naranja parpadea cada vez que el usuario golpea el sensor, lo que demuestra que el sistema está registrando activamente el grifo.  El LED rojo parpadea cuando el usuario golpea un patrón que no es reconocido.  Además, el LED verde parpadea cuando el patrón de un usuario de grifos es aceptada por el sistema.
El sistema utiliza tanto es alimentado por un cable USB conectar el Arduino y el portátil.

SOFTWARE (ARDUINO)

El software que se ejecuta en el Arduino es una versión suavizada de C++, inspirado en el lenguaje de programación de procesamiento.  Fue escrito usando el estándar IDE de Arduino que está disponible en línea.

El programa es relativamente simple.  El sistema contiene una serie de patrones almacenados tap que puede combinarse.  El sistema gira en un bucle, esperando el primer grifo para detectarse.  Una vez que esto ocurre, el sistema marca la hora actual y espera la siguiente llave.  Para cada tap consecutivo, el sistema guarda el intervalo de tiempo entre ésta y la anterior toma.   Este proceso continúa hasta que se supera el número máximo de llaves, o se ha detectado ningún grifo durante un segundo.  Luego se normalizan los grifos.  Esto permite para Grifos en diferentes tempos para coincidir con el mismo patrón.  Normalización se realiza dividiendo cada intervalo almacenado por el intervalo más largo y multiplicando por 100, de tal modo transformando cada intervalo de un entero entre 1 y 100.

Patrones de grifo tiene tres criterios importantes para resolver si se considera que coincidan con un patrón almacenado:

1. ambos patrones deben contener el mismo número de grifos
2. un intervalo de usuario no puede diferir más del 25% del correspondiente intervalo almacenado
3. el promedio de todos los intervalos no difiera en más del 15% del promedio de los intervalos almacenados.

Si se cumplen todas estas condiciones, el sistema acepta el patrón.  El sistema transmite el índice de ese patrón como un único byte sobre la conexión serial proporcionada por el cable USB a un programa de escuchado en la laptop (en nuestro caso, un programa C# conectado con iTunes).  Una vez que se ha transmitido el byte, el sistema vuelve a la espera de un nuevo modelo de grifo del usuario.

Los patrones de corriente aplicados actualmente son:

• Un solo toque
• Dos grifos
• Tres grifería uniforme
• Cuatro grifos uniforme
• Un toque lento seguido de dos grifos rápidos
• Dos grifos rápido seguidos de un toque lento
• El patrón de "Afeitado y un corte de pelo, dos pedacitos"

Esta lista de patrones es fácilmente personalizable y extensible una vez que uno se vuelve familiar con cómo están representados los patrones.

SOFTWARE (PORTÁTIL)

Decidí escribir la aplicación del lado del ordenador portátil en C# porque he tenido experiencia anterior escritura interfaces personalizadas con Arduinos en C#.  Esto podría fácilmente aplicarse en otros idiomas, como el lenguaje soporta comunicación serial sobre puertos COM.

El programa C# utiliza marco XNA de Microsoft que, mientras que normalmente utiliza para desarrollar juegos, proporciona un flujo de programa basado en el lazo, agradable adecuado para establecer interfaz con Arduinos y mostrar una interfaz gráfica visual.

Inicia el programa abre una conexión serie con el Arduino y la creación de una interfaz a iTunes.  Una vez que éstos se establezcan, el programa sondea continuamente la conexión serie de bytes.  Si hay bytes para ser leído, el programa lee cada uno como un entero y ejecuta el comando correspondiente.  Por ejemplo, si el byte contiene el número 1, luego el programa alterna si iTunes está reproduciendo o en pausa.  Puesto que un byte contiene 32 valores, un total de 32 órdenes individuales puede ser emitido desde el Arduino para el programa C#.  En esta demostración básica, sólo seis comandos realmente se implementan.

Los números recibidos, comandos y patrones asociados son los siguientes:

0. seleccionar visualizaciones – "Afeitado y un corte de pelo, dos pedacitos"
1. conmutar reproducir/pausa, toque
2. siguiente canción – dos grifos
3. anterior canción-tres grifos uniforme
4. avance rápido – un toque lento, seguido por dos grifos rápidos
5. rebobinado – dos grifos rápidos seguidos de un toque lento
6. alternar shuffle – cuatro grifos uniforme

Interfaces de C# con iTunes a través de su API de COM.  Mi programa también muestra una GUI básica que proporciona información sobre estado de iTunes, la posición dentro de la canción actual y nombre de la pista actual, artista y álbum.

Etiquetas: Arduino

Artículos Relacionados

PC controlado por Bluetooth Robot (con una interfaz gráfica de usuario!)

PC controlado por Bluetooth Robot (con una interfaz gráfica de usuario!)

En este Instructable le mostrará cómo construir un robot que se controla vía Bluetooth con un teclado, tiene una interfaz gráfica de usuario construida con el proceso que muestra la entrada del teclado y realmente convierte la opción todo en una gran
Cubecube: Una interfaz Tangible de CAD.

Cubecube: Una interfaz Tangible de CAD.

Cubecube - un proyecto de hardware open source - es una interfaz táctil y tangible para CAD (diseño asistido por ordenador). Diseño de código abierto plataformas siguen apareciendo, hay una oportunidad para explorar nuevas posibilidades en lo que cre
Cómo hacer una usb tapa de basura

Cómo hacer una usb tapa de basura

en este instructable te enseñaré sobre cómo hacer una usb tapa de basura de plásticoPaso 1: materiales... lo que necesitas es:1 plástico basura2. un fuego para calentar y derretir el plástico o cualquier cosa puede usar para fundir las piezas de plás
Casa calefacción VSCP y una interfaz web

Casa calefacción VSCP y una interfaz web

Mis padres están jubilados y viven en el sur de Francia. Cálido en verano pero también puede ser frío durante el invierno.Que utilizan para viajar por varias semanas durante el invierno para visitar amigos y familiares, y como calientan la casa con m
ATTiny USI I2C introducción - una interfaz de comunicación de gran alcance, rápido y conveniente para sus proyectos ATTiny!

ATTiny USI I2C introducción - una interfaz de comunicación de gran alcance, rápido y conveniente para sus proyectos ATTiny!

I2C, es un estándar que ha sido de alrededor de alrededor de 20 años y ha encontrado aplicaciones en casi todos los rincones del universo de la electrónica.  Es una tecnología muy útil para nosotros aficionados del microcontrolador, pero puede parece
Principio microcontroladores parte 2: Creación de una interfaz SPI del programador para el microcontrolador

Principio microcontroladores parte 2: Creación de una interfaz SPI del programador para el microcontrolador

Hola, esperamos que te ha gustado la parte 1 del principio microcontroladores. Vamos a mover a lo largo de a parte 2 y empezar a hablar acerca de cómo obtener tu microcontrolador para comunicarse con una computadora e interfaces.Por lo tanto, en este
Videotutorial - hacer iDVD una herramienta capaz de iTunes películas en Windows

Videotutorial - hacer iDVD una herramienta capaz de iTunes películas en Windows

Como fans de iDVD, usted puede ser interesado en usar este excelente software para crear tus propios DVDs. Habrá alguien pensando en una pregunta: "¿puedo editar mis películas favoritas de iTunes en iDVD y crear un disco para la recogida de estos vid
DIDI: Una interfaz usable MIDI para aplicaciones de DJ

DIDI: Una interfaz usable MIDI para aplicaciones de DJ

FondoDIDI fue mi proyecto final de carrera para mi Licenciatura en música tecnología y electrónica aplicada en la Universidad de York. Mi reto era crear una pieza de tecnología portátil de música. Haber tenido experiencia con DJ ' s en el pasado, pen
Página Web con una interfaz gráfica de usuario.

Página Web con una interfaz gráfica de usuario.

Hasta ahora hemos hecho raspado de la página web a través de la línea de comandos con y luego lo hicimos con la web. Ahora vamos a hacer en el escritorio. Sólo haré un ejemplo y usted puede averiguar el resto de ellos. Estaremos usando zenity otra ve
Medición de corriente directa a través de una interfaz de computadora.

Medición de corriente directa a través de una interfaz de computadora.

Siempre quise medir remotamente la corriente de mi controlador de carga solar mppt y a mis inversores, pero la idea de utilizar derivaciones de corriente no era factible ya que yo no puedo amplificar las señales de milivoltios a través de ellas.Viene
Construcción de una máquina de tambor con interfaz tangible de bajo costo (máquina del tambor de d-touch)

Construcción de una máquina de tambor con interfaz tangible de bajo costo (máquina del tambor de d-touch)

el tambor de la máquina de d-touch es una máquina de tambor con una interfaz de usuario tangible: puede hacer música y arreglo de objetos físicos en una hoja A4 de papel. Para hacer tangibles ritmos necesita algunos viejos stype de cortar y pegar. Es
¿Desarrollo para fotos usando una Mac: interfaz de usuario amigable

¿Desarrollo para fotos usando una Mac: interfaz de usuario amigable

frustrado por el hecho de que hay que meterse en la Terminal para compilar y descargar programas PIC? Era demasiado.Soy usuario de Mac desde hace mucho tiempo (o tan largo como puede ser para un niño de 16 años de edad), y cuando empecé a experimenta
Hacer una tapa decorativa de vela, tarro, taza con arcilla polimérica

Hacer una tapa decorativa de vela, tarro, taza con arcilla polimérica

¿tienes un plato fresco, frasco o vela con ninguna tapa? Sí.. realmente tengo muchos.  ¿No ser mejores con las tapas?  Derecho!  Así que vamos a arreglar eso!Para este instructable, hice una tapa decorativa de arcilla polimérica para mi vela.  Odio v
Cómo hacer una tapa de tanque de Correa trenzada

Cómo hacer una tapa de tanque de Correa trenzada

Cómo convertir tu camiseta en un tanque de Correa trenzada de Sarah Taylor on Vimeo.Puede convertir su vieja camiseta en una moda tapa de tanque con correas trenzadas! No hay ninguna costura, y todo lo que necesita son tijeras y una camiseta. Esto re