En el SONY DSX-A42UI, que es el aparato que he comprado, esto se puede hacer con una serie de resistencias interconectadas entre los tres pines del jack estéreo de 3.5 mm insertable en su parte trasera.
El pin del canal derecho del jack solo se usa para la función SHIFT; el
resto de funciones las realiza intercalando una o varias resistencias
en serie entre los pines canal izquierdo y común o masa. Dependiendo del botón
presionado entre estos dos pines habrá una determinada resistencia que el aparato
interpretará como una función en concreto. Podemos verlo en detalle en
el siguiente esquema de un mando Sony.
Vemos que para el comando OFF o apagado no usa resistencia y será 0 ohm, para el de SOURCE o fuente de sonido usa una resistencia de 2.2k y sucesivamente va usando resistencias del mismo o diferente valor para las otras funciones, pero el valor de las resistencias al estar en serie se irá sumando. La suma de los valores para conseguir disparar la función deseada en un autorradio Sony o Pioneer podremos verla en el siguiente resumen:
Valor Sony | Función Sony | Valor Pioneer | Función Pioneer |
---|---|---|---|
0 | OFF o Apagado | 1.2k | Source o Fuente de sonido / 2seg. = apagado |
2.2k | Source o Fuente de sonido | 3.5k | Mute o Silencio |
4.4k | Mute o Silencio | 5.75k | Display o Cambia el modo del display |
6.6k | List/Display o Cambia el modo del display | 8k | Seek+ o Siguiente pista/emisora |
8.8k | Seek+ o Siguiente pista/emisora | 11.25k | Seek- o Anterior pista/emisora |
12.1k | Seek- o Anterior pista/emisora | 16k | Vol+ o Subir volumen |
16.8k | Vol+ o Subir volumen | 24k | Vol- o Bajar volumen |
23.6k | Vol- o Bajar volumen | 62.75k | Band/Escape o Banda/Salir |
33.6k | Sel o Seleccionar | ||
48.6k | Mode o Modo |
En definitiva tenemos 10 funciones que podemos usar, pero no olvidemos que nuestro volante tiene solo 6 botones. Por lo tanto, elegiremos qué 6 funciones deseamos usar. En mi caso he decidido usar las de Source, Display, Subir volumen, Bajar volumen, Pista/Emisora siguiente y Pista/Emisora anterior.
En la siguiente imagen podemos ver los valores de las resistencias del Opel Zafira para cada botón, así como la suma de sus valores para cada función del autorradio original y su correspondencia con el valor que requiere el nuevo autorradio SONY.
Este microcontrolador ya viene montado, consume poco, tiene puertos serie
y usb integrados para ser programado fácilmente con un ordenador, es barato y solo
requiere de unos pocos componentes externos para realizar el trabajo. Aparte del microcontrolador necesitaremos unos materiales extra; veamos cuáles son y su precio aproximado:
Cantidad | Descripción | Precio Unidad | Total |
---|---|---|---|
1 | Clon Arduino Nano V3.0 | 6.50 | 6.50 |
6 | Transistor BC547 | 0.20 | 1.20 |
1 | Regulador LM7805CV | 0.44 | 0.44 |
1 | Micro fusible 500mA | 0.40 | 0.40 |
14 | Resistencia 1/4W 1% (*) | 0.05 | 0.70 |
2 | Condensador electrolítico 100uf 16V | 0.20 | 0.40 |
1 | Tira 40 pines hembra paso 2.54mm (**) | 0.40 | 0.40 |
1 | Cable macho/macho estéreo 3.5mm (***) | 1.20 | 1.20 |
1 | Placa topos o cuadros perforada | 2.50 | 2.50 |
1 | Caja ABS 85x55x30mm Welleman WCAH2855 | 2.80 | 2.80 |
Total | 16.54€ |
(*) La cantidad de resistencias a comprar dependerá de los valores que necesitemos y de su disponibilidad comercial. No todos los valores son comercializados y para obtener un valor a veces bastará con una sola resistencia y otras habrá que sumar varias en serie. En mi caso conseguí los valores con las resistencias que tenía a mano y fueron los siguientes:
Función | Valor resistencia | Resistencias necesarias | Valores resistencias |
---|---|---|---|
Fuente de sonido | 2.2k | 1 | 2.2k |
Modo del display | 6.6k | 2 | 3k + 3.6k |
Siguiente pista/emisora | 8.8k | 3 | 2.2k + 3k +3.6k |
Anterior pista/emisora | 12.1k | 2 | 100R + 12k |
Subir volumen | 16.8k | 2 | 6.8k + 10k |
Bajar volumen | 23.6k | 3 | 3.6k +10k + 10k |
Necesaria en circuito | 1k | 1 | 1k |
(**) La tira de 40 pines la necesitamos para poder pinchar el Arduino Nano a la placa del proyecto; cortándola obtendremos 2 tiras de 15 pines cada una como las de la imagen.
(***) El cable macho a macho de 3.5 mm estéreo lo necesité en mi modelo de autorradio ya que el jack convencional para soldar que nos venden en las tiendas de electrónica tiene muy grueso el capuchón de plástico y no entraba en el zócalo de mi modelo, pues está rodeado del aluminio del disipador (ver primera imagen de esta publicación). Dependiendo del autorradio a instalar se comprará un cable ya hecho que suele tener el plástico del jack más fino o bien un jack simple y soldarlo a un trozo de 35 cm de cable coaxial.
Una vez que tengamos los materiales procedemos a montarlos en su correspondiente placa de circuito impreso, ya sea en una placa perforada de prototipos como veremos a continuación o en una placa para circuitos impresos que podemos realizar con el método del planchado y en este caso podrán imprimir la imagen de las pistas con el archivo que pondré al final de esta publicación. Dependiendo de nuestras habilidades seleccionaremos un método u otro; el esquema a seguir es el de la derecha.
Aunque yo he montado los componentes en una placa de circuito impreso realizada con el método de la transferencia de tóner, recomiendo usar una placa perforada de prototipos, ya que el circuito es relativamente simple y así nos evitamos tener que imprimir, planchar, atacar y perforar. Abajo pueden ver las imágenes de la placa de prototipos en sus dos caras, componentes y pistas.
Al soldar los componentes hay que tener en cuenta que el condensador C2 situado entre los zócalos del microprocesador, en vez de soldarse en vertical como se hace normalmente, lo soldaremos acostado contra la placa: Esto es necesario para que no impida la inserción del microprocesador en sus zócalos. Yo recomiendo soldar primero todos los componentes y zócalos, y luego soldar los alambres o cables de uniones entre pines.
Revisen todo dos o tres veces hasta estar seguros de que no hay ninguna conexión errónea, ninguna soldadura fría y por supuesto ningún cortocircuito entre pines o pistas. Prestad especial atención a la polaridad de los condensadores electrolíticos, a la posición del regulador de voltaje y a que las conexiones a los pines del microprocesador sean las correctas. No insertar este en su zócalo hasta haber comprobado que todo está según el esquema e igual que en las imágenes de la placa de prototipo.
Ahora que ya tenemos todo montado, ha llegado el momento de programar el microcontrolador. Para ello , lo sacaremos de los zócalos del adaptador. Necesitaremos la última versión del software IDE de Arduino correspondiente a nuestro sistema operativo. Podemos descargarlo haciendo clic aquí.
Una vez instalado el software, conectaremos el Arduino Nano mediante el cable USB a nuestro ordenador. Este lo detectará y se instalarán los controladores necesarios para su funcionamiento. Sí falta algún controlador, lo encontraremos en la subcarpeta "drivers" del programa Arduino que instalamos anteriormente. Si no encontramos el controlador necesario para el USB Serial, es debido a que el Clon del Nano que hemos comprado tiene el chip CH340G, en cuyo caso podremos descargar el driver de aquí.
Para cualquier otra duda siempre podremos buscar en Google cómo instalarlo en nuestro sistema operativo.
Cuando tengamos todo instalado correctamente, ejecutaremos el programa "arduino.exe" y lo configuraremos para nuestro modelo de Arduino y puerto serie. Para ello abrimos la pestaña "Herramientas", seleccionamos del menú desplegable la opción "Tarjeta" y marcamos "Arduino Nano w/ ATmega328". Volvemos a desplegar "Herramientas", seleccionamos "Puerto Serial" y elegimos el nuevo puerto serie que se ha instalado con los controladores del Arduino Nano. Generalmente es el COM4 (COM3 si tenemos más dispositivos que usen puertos serie virtuales). Debajo dejo capturas de las dos configuraciones necesarias.
Ya tenemos todo listo para cargar el código en el Nano. Podemos descargarlo del final de esta publicación. Una una vez descomprimido y con el software de Arduino abierto, desplegamos la pestaña "Archivo" y buscamos la carpeta "Programa" que acabamos de descomprimir. Dentro de esta carpeta hay dos subcarpetas llamadas "ZafiraSteeringWheelControl" y "ZafiraSteeringWheelControlDebug". Esta última contiene el mismo código que la primera, pero con la comunicación por puerto serie activada. La he incluido para que los más inquietos hagan modificaciones en el código y puedan monitorizar los resultados por la conexión serial del Nano. La que nos interesa para cargar y probar el adaptador es la carpeta "ZafiraSteeringWheelControl", y concretamente el archivo "ZafiraSteeringWheelControl.ino". Seleccionamos este archivo y se abrirá una nueva ventana con el código. En esa misma ventana pulsamos sobre el icono circular con una flecha hacia la derecha y se cargará el código en el Nano. Si el puerto configurado anteriormente era correcto y todo ha salido bien, nos mostrará en la parte inferior un mensaje confirmando la compilación y carga del código. Si aparecen errores de color naranja o no comunica con el Nano, habrá que revisar las configuraciones de placa y puerto en la pestaña "Herramientas".
Con el código cargado en el microcontrolador ya podemos desenchufarlo del USB e insertarlo en la posición correcta en los zócalos del adaptador. Cerramos la caja de plástico con sus tornillos y ya podemos instalar todo en el coche. El consumo del adaptador es de solo 58.1 mA y, aunque es un consumo muy pequeño, solo lo alimentaremos de un cable que entregue +12v con el autorradio encendido. Es por ello que recomiendo conectarlo al azul/blanco (Amp. Remote) del SONY, que soporta un consumo máximo de 300 mA y que solo entrega tensión si el aparato está encendido.
Abajo les dejo los enlaces a las descargas del archivo con el código para programar el microcontrolador, así como el archivo que contiene el diseño de la placa PCB con su visor e instrucciones para los que deseen crear una placa con el método de la transferencia de tóner o planchado.
- Descargar el código para Arduino
- Descargar el diseño del PCB
Por último, les dejo imágenes del adaptador con detalles del proceso de desarrollo y un vídeo del funcionamiento en el coche.