Paso 5: El iPod dispositivos
El iPod es un reproductor de mp3 poco versátil y puede utilizarse con muchos accesorios diferentes. Los conectores del 30 tienen pernos para estaciones Docking, firewires, USB y más. En este caso estamos utilizando los pines Serial Rx y Tx.
Ese cable de extensión de muelle se utiliza porque tiene las conexiones de los pines en lugar de la conexión usb normal que solo tiene + USB - USB datos de VCC y GND.
El conector es un conector de JAE DD1 30.
Este proyecto utilizará los siguientes 5 pines:
- + 5V - Pin 23
- GND - Pin 16
- RX - Pin 13
- TX - Pin 12
- ACC - Pin 21
El pin de la Acc se tira bajo a través de un resistor, y dependiendo de la resistencia, el iPod sabe qué tipo de accesorio a que está conectado y cómo comunicarse en consecuencia.
Una lista de todos los bolos y lo que se puede encontrar en:
http://pinouts.ru/PortableDevices/ipod_pinout.SHT...
El protocolo de accesorio se utiliza para comunicarse con el Ipod de Apple. Se utiliza la configuración serial estándar 8N1. 8N1 especifica que hay 8 bits de datos, No bit de paridad y 1 bit de parada. Esta configuración es lo que asume el Arduino al establecer la tasa de baudios de transmisión (es decir. Serial.Begin(9600);). Esto puede modificarse mediante la adición de un argumento de configuración para esa llamada (es decir. Serial.Begin (9600, SERIAL_5N1);).
En este proyecto sólo utilizaremos la configuración 8N1 estándar.
Este proyecto se comunica a una velocidad en baudios de 9600.
El iPod se puede poner en 3 modos diferentes:
- Un modo de grabación de voz. Este es no utilizado en este proyecto
- Un modo simple. Esto consiste en comandos básicos. (Play/Pause, Skip, volumen, seleccionar, etc.)
- El iPod avanzado control remoto modo (aire) Esto permite a los datos y recogidas desde el iPod. (Sin Control de volumen)
En el modo de aire, la pantalla le dará el estado "OK para desconectar" del iPod de generación mayor. El iPhone 3, iPod touch y iPad no mostrar esta pantalla y le permite controlar tanto la aplicación como el iPod.
Modo de aire se utiliza normalmente cuando se conecta a un accesorio que procesa los datos a una señal de audio, y el control de volumen se realiza a través de ese accesorio.
MuseHack utiliza los auriculares en modo 4 (modo de aire), ajuste de volumen llega a ser un poco complicado. Esto se logra cambiando momentáneamente al modo 2 para ajustar el volumen antes de volver al modo 4.
Esto se cubre con más detalle en la sección de código.
Adriangame proporciona una descripción bien presentada del protocolo utilizado para hablar con el iPod:
http://www.adriangame.co.uk/iPod-ACC-Pro.
Cada comando enviado al iPod contiene por lo menos 5 elementos en forma de bytes.
- El encabezado (0xFF, 0x55)-cada comando comienza con este encabezado exacto.
- El tamaño de la orden - este byte representa el número de bytes siguientes excepto la suma de comprobación.
- El modo de comando - este proyecto utiliza principalmente modo 4 con unos comandos del modo 2 en allí.
- El comando - específicas de la instrucción de enviados/recibidos dos bytes. En el modo 4, el primer byte de comando suele ser 0 x 00.
- Pueden enviar los parámetros - hasta 9 parámetros que contiene los datos del comando
- La suma de comprobación - este byte se usa para comprobación de errores.
El byte de suma de comprobación las sumas el valor de los bytes de modo hasta el final de los parámetros.
Esta suma se resta después de 0 x 100 (256). Puesto que la suma puede ser mayor que 0xFF (255) y nosotros sólo queremos el byte inferior, el operador bit a bit y se usa con 0xFF para arrojar los bits más altos.
(es decir. suma = (0 x 100 - suma) & 0xFF)
Este es el método utilizado por el iPod pero es sólo una manera de calcular una suma de comprobación.