sistema abx para realizar pruebas de audio a ciegas · la segunda etapa consiste en asignar a cada...
TRANSCRIPT
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
(ICAI) INGENIERO ELECTROMECÁNICO
SISTEMA “ABX” PARA REALIZAR
PRUEBAS DE AUDIO A CIEGAS
Autor: Esteban Hidalgo Sancho
Director: José Daniel Muñoz Frías
Madrid Julio 2015
SISTEMA ABX PARA REALIZAR PRUEBAS DE AUDIO A CIEGAS
Autor: Hidalgo Sancho, Esteban
Director: Muñoz Frías, José Daniel
Entidad Colaboradora: ICAI – Universidad Pontificia Comillas
RESUMEN DEL PROYECTO
Este proyecto tiene como objetivo el desarrollar un sistema que permita realizar
pruebas a ciegas de equipos de audio (amplificadores, fuentes…). Estas pruebas a ciegas
consisten en tratar de identificar dos equipos previamente seleccionados mediante el
test ABX. En líneas generales este test consiste en realizar varias pruebas consecutivas
en las que se puede conmutar entre los dos equipos seleccionados (A y B) y un tercero
(X) que será uno de estos dos. En cada intento se intentará identificar a X. En función del
número de aciertos se reconocerá al usuario como capaz de identificarlos o no.
La intención de hacer la comparación mediante este procedimiento no es más
que la de evitar la aportación consciente del sujeto a la hora de juzgar dos sistemas que
se conocen de antemano. La finalidad es por lo tanto desarrollar un procedimiento de
test puramente objetivo.
Actualmente los medios especializados (revistas, páginas web…) suelen
proporcionar información rodeada de ocultismo y con un fuerte componente subjetivo
en el análisis de este tipo de dispositivos. A modo de ejemplo, en la gran mayoría de
foros audiófilos se prohíbe hablar sobre pruebas a ciegas; únicamente se permiten
opiniones y descripciones subjetivas.
Por otra parte no es fácil encontrar fabricantes que hayan comercializado equipos
destinados a este fin, y tampoco hay tutoriales muy precisos que muestren
detalladamente como construirlos. No obstante sí es más común encontrar software
enfocado a comparar formatos distintos de audio, como el flac y el mp3. Por estos
motivos es por lo que se quiere diseñar un comparador ABX de calidad óptima a un
precio asequible.
En lo referente al diseño, era importante identificar desde un principio los tipos de
comparaciones que se querían conseguir de cara a tener todos los conectores y modos
de funcionamiento en mente. La figura 1 muestra de forma esquemática el principio de
funcionamiento que se quería obtener.
La fuente de audio se conecta al sistema, el cual duplica esta señal para pasarlas
por los amplificadores 1 y 2. Estas señales ya amplificadas vuelven al comparador, el cual
se encargará de conmutarlas hacia la salida de auriculares.
Para llevar a cabo este diseño se han utilizado plataformas de software libre. Para
el diseño del circuito impreso se ha utilizado el programa Kicad. En cuanto a la parte de
control del sistema, se ha utilizado el microcontrolador Arduino Uno. Este último ha sido
escogido por su facilidad de uso y cantidad de librerías disponibles en la red.
El proceso de diseño hardware se ha realizado en tres etapas bien diferenciadas.
La primera de ellas se corresponde con la creación de un circuito, el cual relacionará
todas las conexiones existentes entre los distintos componentes y ayudará a encontrar
incompatibilidades. La figura 2 nos muestra el aspecto de este circuito creado en Kicad.
Comenzando de izquierda a derecha, se pueden tres conectores Jack (J1, J2 y J3) que no
son más que un splitter de la señal de audio entrada. Cada una de estas señales pasa por
uno de los amplificadores a comparar, y una vez amplificadas entran al comparador. Se
puede ver unos potenciómetros que permitirán calibrar el volumen de ambas señales al
mismo mediante su medida de tensión. A continuación se encuentran los dos relés
encargados de conmutar cada una de las dos señales con el conector Jack de salida.
Figura 1: Conexión para comparar amplificadores
La segunda etapa consiste en asignar a cada componente una huella (footprint) de
las cuales gran parte se encontraban disponibles en librerías. Otras, han sido creadas
para la ocasión.
La tercera y última etapa del diseño hardware es la creación del circuito impreso.
Con este último ya terminado solo restaba encargar su producción.
En cuanto a la parte software se ha ido desarrollando en paralelo al hardware.
Finalmente el comparador cuenta con dos modos de funcionamiento: un modo manual
que permite conmutar dos equipos cuando se desee y el modo de test ABX.
En la figura 2 se muestra el resultado final del proyecto, al que se le ha añadido un
Display LCD para interactuar con el usuario así como un mando infrarrojos.
Figura 2: Circuito
BLIND TESTING ABX COMPARATOR
Author: Hidalgo Sancho, Esteban
Director: Muñoz Frías, José Daniel
Collaborating Entity: ICAI – Universidad Pontificia Comillas
PROJECT SUMMARY
The project aims to develop a system that allows the blind testing of components
such as amplifiers or audio sources. These blind tests consist of trying to identify two
different systems -previously selected- through the ABX test. Overall, this test performs
several consecutive tests in which the user can switch between the two preselected
systems (A and B) and a third unknown (X). X will be A or B and in each attempt the user
will try to identify X. Depending on the number of correct answers we will consider if
the user is either able to find the difference between these two systems or not.
The goal of this comparison is to avoid the possible prejudices that users might
have when considering two systems that they know beforehand. The idea is to develop
a purely objective way of testing.
Currently, specialized media (magazines, websites…) usually provide information
surrounded by occultism and also with a strong subjective component in the analysis of
such devices. For example, in most of audiophile forums, discussing about blind tests is
not allowed; only subjective opinions and descriptions are permitted.
On the other hand, it is not easy to find manufacturers who sell devices for this
purpose and there are no detailed tutorials that show how to build them in detail.
However, it is easier to find software focused in comparing different audio formats such
flac and mp3. For these reasons it is why an ABX comparator has been designed trying
to reach an optimum quality at an affordable price.
Concerning design, since the beginning it was important to know which kind of
comparisons were required in order to have an idea about the connectors or the
operating modes necessaires. The Picture 1 shows a scheme of the desired operating
principle.
The audio source is connected to the comparator, which duplicates the signal to
pass it through the amplifiers 1 and 2. These amplified signals return to the comparator
and will switch them to the headphones output.
To accomplish this design free software platforms have been used. For the printed
circuit board (PCB) Kicad software it has been used. For the system control part, an
Arduino Uno microcontroller has been used. The latter has been chosen due to its ease
of use and the big amount of libraries available on the network.
The hardware design process has been conducted in three different parts. The first
is the creation of a circuit, which will link all the connections between components and
it also will help to find incompatibilities. The Picture 2 shows this circuit created in Kicad.
Starting from left to right, three Jack connectors (J1, J2 and J3) work as a splitter for the
input audio signal. Each one of these signals pass through one of the two amplifiers and
they return to the comparator. Then we can see two potentiometers. They will allow to
regulate the same volume value of each signal using the voltage measure. Finally there
are two relays that switch the output Jack with these two signals.
Figura 4: Connection to compare amplifiers
The second part consists of assigning to each component a footprint. Most of
them were already available in some libraries. The rest have been created for this
application.
The third and last part of hardware design is the creation of the PCB. With it, it
only remained to order its assemblage.
As for the software part it has been developed in parallel with the hardware.
Eventually the comparator has two different modes: a manual mode that allows to
switch between two channels when desired and the ABX testing mode.
Figura 5: Circuit
In Picture 2 the outcome of the project is shown. A LCD display has been added in
order to improve the interaction with the user as well as an infrared remote control.
Figura 6: The ABX Comparator
ÍNDICE DE LA MEMORIA
I
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Índice de la memoria
Memoria .......................................................................................... 3
1.1 Introducción ..................................................................................................... 5
1.1.1 ¿Por qué utilizar un comparador ABX? ......................................................................... 5
1.1.2 El procedimiento del test ABX ...................................................................................... 6
1.1.3 Estado de la cuestión ...................................................................................................... 7
1.1.4 Motivación ................................................................................................................... 10
1.1.5 Objetivos ...................................................................................................................... 10
1.2 Diseño Hardware ........................................................................................... 12
1.2.1 Investigación ................................................................................................................ 12
1.2.2 Propuesta final ............................................................................................................. 15
1.2.3 Fase de pruebas en placa de prototipos ........................................................................ 16
1.2.4 Creación en Kicad ........................................................................................................ 17
1.2.5 Implementación ............................................................................................................ 23
1.2.5.1 Selección de componentes ........................................................................... 23
1.2.5.2 Construcción del circuito impreso ............................................................... 24
1.3 Software .......................................................................................................... 25
1.3.1 Modos de funcionamiento ............................................................................................ 25
1.3.2 Diagrama de bloques .................................................................................................... 25
1.4 Conclusiones................................................................................................... 28
1.4.1 Conclusiones del sistema ABX .................................................................................... 28
1.4.2 Conclusiones sobre las pruebas realizadas ................................................................... 28
1.5 Futuras versiones ........................................................................................... 29
1.6 Bibliografía..................................................................................................... 30
Estudio económico ........................................................................ 31
2.1 Presupuesto económico ................................................................................. 33
Datasheets ..................................................................................... 37
3.1 Datasheets....................................................................................................... 39
ÍNDICE DE LA MEMORIA
II
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Anexos ........................................................................................... 41
4.1 Anexo 1: Manual de usuario ......................................................................... 43
4.2 Anexo 2: Código fuente ................................................................................. 49
ÍNDICE DE FIGURAS
III
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO INDUSTRIAL
Índice de figuras
Figura 1: “QSC Audio. ABX Comparator User Manual” Aciertos mínimos en
función del número de intentos ............................................................................... 7
Figura 2: AVA ABX Comparator Switchbox .................................................. 8
Figura 3: ABX Comparator ............................................................................. 8
Figura 4: ABX Matrixhifi modelo 1 ................................................................ 9
Figura 5: ABX Matrixhifi modelo 2 ................................................................ 9
Figura 6: “S. Hill, R. Elliott (2002). Project ABX” Unidad de conmutación 13
Figura 7: Esquema de la conexión para comparar amplificadores ................ 14
Figura 8: Esquema de la conexión para comparar fuentes ............................ 15
Figura 9: Circuito esquemático final ............................................................. 16
Figura 10: Placa de prototipos y componentes .............................................. 17
Figura 11: Conexión pines Arduino Uno ....................................................... 18
Figura 12: Cableado leds A, X y B. ............................................................... 19
Figura 13: Netlist ........................................................................................... 20
Figura 14: Circuito impreso cara inferior ...................................................... 21
Figura 15: Circuito impreso cara superior ..................................................... 22
Figura 16: Circuito de control del relé ........................................................... 24
Figura 17: Diagrama de bloques del programa .............................................. 26
Figura 18: Elementos del comparador ........................................................... 43
Figura 19: Display LCD ................................................................................ 44
Figura 20: Mando IR ...................................................................................... 44
ÍNDICE DE FIGURAS
IV
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO INDUSTRIAL
Figura 21: Splitter .......................................................................................... 45
Figura 22: Modos de funcionamiento ............................................................ 45
Figura 23: Modo manual. Selección de canal ................................................ 46
Figura 24: Modo manual. Canal B seleccionado ........................................... 46
Figura 25: Selección del número de pruebas ................................................. 46
Figura 26: Modo ABX. Primera prueba ........................................................ 47
Figura 27: Modo ABX. Resultados ............................................................... 47
ÍNDICE DE TABLAS
- 1 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO INDUSTRIAL
Índice de tablas
Tabla 1: Lista de componentes y precio unitario ........................................... 34
Tabla 2: Cantidad de componentes y subtotal ............................................... 35
Tabla 3: Número de horas de trabajo y coste ................................................. 35
Tabla 4: Resumen precio comparador ABX .................................................. 36
ÍNDICE DE TABLAS
- 2 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO INDUSTRIAL
Introducción
- 3 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
MEMORIA
Introducción
- 4 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Introducción
- 5 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.1 INTRODUCCIÓN
Tras leer el título de este proyecto uno podría plantearse algunas preguntas
como: ¿Qué es un test ABX y para qué se lleva a cabo? ¿De qué está formado el
sistema en cuestión? ¿Es necesario utilizar este equipo? En las siguientes líneas se
explicará con detalle su utilidad, metodología y aplicaciones así como las
posibilidades que pueden encontrarse actualmente.
Un comparador ABX es un dispositivo que permite comparar dos o más
equipos de audio, como por ejemplo amplificadores, reproductores MP3… de
manera simple y precisa gracias a la conmutación instantánea de los equipos
conectados a él. Además, si se utiliza algún tipo de microcontrolador, se pueden
realizar tareas más complejas como un test que proporcione información acerca de
la precisión con la que se ha evaluado el amplificador en cuestión.
1.1.1 ¿POR QUÉ UTILIZAR UN COMPARADOR ABX?
Cuando se comparan amplificadores, el usuario siempre es susceptible a
cometer fallos inconscientes pero que dan lugar a conclusiones imprecisas:
- Sensibilidades distintas en las entradas: esto hará sonar a un amplificador más
alto que el otro. Hasta los audiófilos profesionales confunden diferencias de
volumen con diferencias de calidad en el audio.
- Diferentes altavoces en cada amplificador: la respuesta en frecuencia de dos
altavoces, aun siendo el mismo modelo, puede variar. Esto podría marcar
diferencias en las pruebas de audio.
- Lentitud a la hora de cambiar de un amplificador a otro: la “memoria
auditiva” del ser humano es limitada. El usuario no apreciará diferencias reales
entre los amplificadores a menos que se cambie de uno a otro en una fracción de
tiempo pequeña (milisegundos).
Introducción
- 6 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
- Sesgo inconsciente: incluso cuando se intenta ser realmente objetivo siempre
el lado inconsciente lleva al usuario a pensamientos conscientes, del estilo: “este es
un amplificador A de alta gama y este otro uno B de gama media - ¿cuál suena
mejor para ti?”. La mejor solución es mantener en todo momento al usuario en
desconocimiento de qué amplificador está escuchando puesto que esta información
que se facilita sobre los mismos podrá influir aunque uno no lo desee.
Los comparadores ABX han sido diseñados específicamente para evitar este
tipo de errores.
1.1.2 EL PROCEDIMIENTO DEL TEST ABX
Esta sección explica el porqué del nombre ABX y el procedimiento a seguir
cuando se quiere hacer un test de este tipo así como la interpretación de los
resultados obtenidos.
Las letras ABX hacen referencia a los componentes que intervienen siempre
que se lleva a cabo un test de este tipo. Un amplificador es “A” y el otro es “B”;
ambos se han configurado para hacerlos sonar al mismo volumen. “X” representa
el factor “desconocido”, que podría ser “A” o “B”. Por tanto el usuario objeto del
test tendrá el reto de identificar cuál de los dos es “X”. Cuando el juez que realiza
el test al usuario desconoce también quién es “X”, la prueba se denomina test doble
ciego (double blind). Si por lo contrario el juez conoce qué equipo suena en cada
momento se llamará simplemente test ciego (blind).
Por otra parte, un único intento no es representativo ya que sería como tirar
una moneda a cara o cruz. Es por esto que se realizan varios intentos y en cada uno
de ellos “X” es seleccionado de manera aleatoria. En el caso doble ciego será un
microcontrolador el encargado de realizar este factor aleatorio. En un test ciego será
una persona. En función del número de aciertos del usuario, se dará como válido o
no el test. Esto es, el usuario es capaz de diferenciar los amplificadores o no. Según
el fabricante QSC, se recomienda un mínimo de diez pruebas y el porcentaje de
aciertos debe estar por encima del 95% para afirmar que el usuario distingue con
Introducción
- 7 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
claridad los dos equipos. En la siguiente tabla queda reflejado el número mínimo
de aciertos requerido en función de la cantidad de intentos.
El comparador ABX, además de seleccionar de forma aleatoria quien será “X”
en cada intento, también se encarga de recopilar las respuestas que da el usuario
para una vez finalizada la prueba proporcionar el porcentaje de aciertos.
Nótese que el objetivo en cada intento no es el de “¿qué amplificador suena
mejor?” sino más bien “¿existen diferencias apreciables entre estos dos
amplificadores?”. Elegir cuál de los dos suena mejor es tarea para después. ¡No
puedes decir que un amplificador es mejor que otro cuando no eres capaz de
identificarlo!
1.1.3 ESTADO DE LA CUESTIÓN
El debate en torno a la comparación a ciegas de amplificadores surgió en 1977
cuando Arnold B. Krueger y Bern Muller, ambos miembros del SMWTMS
(Southeastern Michigan Woofer and Tweeter Marching Society), inventaron el
primer comparador ABX con intención de plantear un debate sobre si las
diferencias entre dos buenos amplificadores eran audibles o no; cada uno de ellos
defendía una de las posturas. Poco después la SMWTMS organizó los primeros test
de escuchas a ciegas utilizando el sistema de Krueger y Muller. Como consecuencia
se forma la empresa que manufacturaría los comparadores ABX bajo el nombre de
“ABX Corporation”. Más tarde David Clark, miembro de la AES (Audio
Engineering Society), continuó con el camino del comparador ABX.
Figura 1: “QSC Audio. ABX Comparator User Manual” Aciertos mínimos en función del
número de intentos
Introducción
- 8 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Actualmente se puede encontrar mucha información sobre cómo crear un
comparador ABX aunque más difícilmente encontraremos algún fabricante que nos
venda el dispositivo. A modo de ejemplo disponible en el mercado, podemos
encontrar el modelo “AVA ABX Comparator Switchbox” fabricado por Avahifi a
un precio de 999$ (figura 2).
Otro modelo comercial es el mostrado en la figura 3, creado QSC Audio en el
año 1998. Lamentablemente, dejo de comercializarse poco tiempo después.
También resultan de interés el que creó el grupo de usuarios de la página web
“Matrixhifi” dedicada a la evaluación de componentes Hi-Fi de forma científica y
objetiva. Llegaron a lanzar una segunda versión con ciertas mejoras aunque en
ningún momento se dieron detalles específicos para su montaje. Simplemente
quedan como dispositivos propios para evaluar sus dispositivos. En las dos
siguientes figuras se muestran los comparadores.
Figura 2: AVA ABX Comparator Switchbox
Figura 3: ABX Comparator
Introducción
- 9 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Por otra parte, diversos blogs o páginas webs cuentan con la información
suficiente sobre el montaje de un comparador ABX, proporcionando esquemas de
los circuitos y componentes necesarios.
Esta escasez de sistemas comerciales dedicados al propósito en cuestión puede
deberse a que cuando se compara un amplificador frente a otro de esta manera
aparezca una transparencia clara que no encontraremos en otro tipo de pruebas. Por
tanto podríamos pensar que los fabricantes no están interesados en invertir en este
apartado para mantener cierto ocultismo sonoro. Este argumento se puede
contrastar con el excesivo detalle con el que a veces se describen los matices que
aporta un equipo a la experiencia auditiva.
Figura 4: ABX Matrixhifi modelo 1
Figura 5: ABX Matrixhifi modelo 2
Introducción
- 10 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.1.4 MOTIVACIÓN
Alrededor del mundo audiófilo podemos observar que los principales medios
de comunicación (revistas, páginas web…) suelen mostrar mucha información
rodeada de ocultismo. Esto es, falta de información objetiva que sea contrastable.
Esta forma de transmitir la información y de describir productos puede hacer que el
usuario medio que se inicia al mundo que denominamos de “Alta Fidelidad”,
comience a pensar y apreciar las cualidades de un equipo tal y como estos medios
están mostrándole. Como dato de interés, mencionar que en la mayoría de los foros
dedicados al audio, se prohíbe hablar sobre pruebas a ciegas puesto que prefieren
debatir basándose en las impresiones subjetivas de los participantes.
El autor del proyecto, como aficionado al tema en cuestión pretende utilizar el
sistema ABX que se va a diseñar como medio que aporte unas conclusiones claras
que sean objetivas (o lo más próximo a ello). Por lo tanto con el desarrollo de este
circuito se pretende obtener una información demostrativa y no determinante, que
sea complementaria a la de centenares de análisis que encontramos vía web y en la
literatura especializada.
1.1.5 OBJETIVOS
El propósito de este proyecto no es más que el de diseñar un comparador ABX
práctico, económico y fiable. Esto se va a perseguir gracias a la utilización de
componentes con un precio competitivo. Además, como microcontrolador se va a
utilizar la plataforma de software y hardware libre Arduino. Esto permitirá al
sistema ser más versátil gracias a la variedad de librerías disponibles.
Una vez se haya conseguido un sistema robusto que funcione correctamente,
se compararán dos amplificadores de diferente gama, buscando obtener un análisis
claro sobre sus diferencias si fueran apreciables.
Introducción
- 11 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
La tarea final será la de realizar el test ABX a diferentes personas con pistas
de audio elegidas por ellos mismos. Se obtendrá el porcentaje de aciertos y se
evaluará la capacidad de cada individuo para discernir los amplificadores.
Como objetivos adicionales se encontrarán el desarrollo de un circuito impreso
para integrar el sistema además de un mando a distancia por infrarrojos para
controlar el sistema.
Diseño Hardware
- 12 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.2 DISEÑO HARDWARE
Una vez conocido con detalle el contexto que engloba al proyecto en cuestión,
se dio paso al proceso de creación del circuito deseado. Para ello en primer lugar se
realizó una clasificación de las diferentes propuestas que se encuentran en la red
con el fin de diseñar el circuito ABX. De todas estas se trabajó sobre la que más se
adaptaba a nuestro caso y se diseñó una propuesta inicial, la cual tras diferentes
iteraciones dio lugar al diseño final. Esta última propuesta se termina importando a
la plataforma de software libre Kicad para posteriormente proceder a su
construcción física. En los siguientes apartados se describirá con detalle todo este
proceso de diseño del sistema ABX.
1.2.1 INVESTIGACIÓN
Como ya se ha comentado anteriormente, el catálogo de equipos en el mercado
que se destinan a este fin en concreto es muy reducido. Consecuentemente podría
pensarse que el número de propuestas “caseras” encontradas en páginas webs y
foros es elevado debido a la ausencia de estos equipos pero, no obstante, no es el
caso. Es por ello que el comienzo de esta investigación consistió en entender el
funcionamiento de la unidad de conmutación mostrada en la figura 6, diseñada por
Steven Hill para después adaptar el funcionamiento fundamental al enfoque que se
quería dar en este proyecto.
Diseño Hardware
- 13 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
En ella se pueden ver dos entradas de audio “A” y “B” con sus dos respectivos
canales “L” y “R”. Cada uno de ellos está conectado a un potenciómetro que
permitirá ajustar el nivel del volumen de entrada. A continuación cada entrada se
conecta a un relé (K2 y K3), que son los responsables de conmutarlas con la salida.
Un tercer relé (K1) es el encargado de conectar la salida a las entradas de audio o a
un circuito que permite medir el voltaje de estas señales para poder ajustar el mismo
nivel de tensión, es decir, mismo volumen.
Este esquema permite comparar dos señales procedentes de dos amplificadores
diferentes. No obstante, si suponemos que la fuente de audio es la misma, hará falta
un dispositivo que duplique esta señal original para poder pasarla por cada
amplificador. Es por esto por lo que se va a crear un splitter (repartidor). Por lo
tanto con este componente lo que se conseguirá es aumentar el espectro de
comparaciones posibles, que serán explicadas a continuación. Es importante
Figura 6: “S. Hill, R. Elliott (2002). Project ABX” Unidad de conmutación
Diseño Hardware
- 14 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
remarcar que las figuras son esquemáticas y no se corresponden con el
posicionamiento final de los bornes.
Comparación de amplificadores: en la figura 7 puede observarse un
esquemático de la conexión a realizar para comparar dos
amplificadores. La señal de la fuente es duplicada con el splitter y éstas
son conducidas a cada amplificador. Las señales ya amplificadas entran
en el comparador ABX y de él sale la señal hacia los auriculares.
Comparación de fuentes: en este caso no se haría uso del splitter y
la señal de cada fuente ya amplificada se conectará al comparador. La
señal de salida final se conecta a los auriculares. La figura 8 muestra
este caso.
Figura 7: Esquema de la conexión para comparar amplificadores
Diseño Hardware
- 15 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.2.2 PROPUESTA FINAL
Tras todo el proceso de diseño explicado se llegó al esquema mostrado en la
figura 9. En ella se reflejan todos los componentes que forman parte del circuito
que se encarga de gestionar las señales de audio. Asimismo, los conectores J1, J2 y
J3 son el splitter ya mencionado, encargado de duplicar la señal de entrada para
posteriormente ser amplificada por los amplificadores a evaluar. Cada señal de
audio ya amplificada va a los conectores J4 y J5 los cuales van seguidos de un
potenciómetro que permitirá ajustar el volumen de cada canal a la misma intensidad
para evitar la confusión de que uno tiene más calidad de audio que el otro cuando
realmente es que uno suena 1dB por encima del otro. A continuación se encuentran
los dos relés K1 y K2 con sus respectivos circuitos de control. Estos permitirán
conectar al Jack de salida J6 una de las dos señales.
Figura 8: Esquema de la conexión para comparar fuentes
Diseño Hardware
- 16 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
La calibración del volumen de las señales de entrada a un mismo nivel se
realizará midiendo sus tensiones directamente desde los pines disponibles en cada
uno de los relés por los que pasan las señales. Para ello habrá que conmutarlos
desconectándolas de la salida. Se ha optado por realizarla de esta manera para evitar
la adición de unos conectores para el voltímetro, consiguiendo así un diseño más
compacto y económico.
1.2.3 FASE DE PRUEBAS EN PLACA DE PROTOTIPOS
Una vez conocido con detalle lo que se quería crear, se pasó a la fase de pruebas
iniciales, con la intención de encontrar el funcionamiento adecuado del circuito.
Para ello, en primer lugar se hizo una lista de los componentes que harían falta para
hacer las primeras pruebas. Estos eran principalmente Arduino Uno y los relés junto
con sus componentes para el circuito de control (transistores, diodos y resistencias)
así como unos pulsadores que permitieran la interacción con el sistema. Acto
seguido se comenzó por hacer funcionar la conmutación de un relé, con su
Figura 9: Circuito esquemático final
Diseño Hardware
- 17 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
respectivo circuito de control para después controlarlos con pulsadores y poco a
poco ir moldeando el software que se buscaba.
La figura 10 muestra la placa de prototipos sobre la que se ha diseñado todo el
sistema. En este caso ya se contaba con el receptor de infrarrojos y su mando.
1.2.4 CREACIÓN EN KICAD
El software utilizado para llevar a la realidad el proyecto es la plataforma de
desarrollo libre Kicad. Este programa permite diseñar PCB’s (printed circuit
boards) en tres pasos bien identificados:
Diseño del esquema de un circuito: tal y como su propio nombre
indica en esta fase de la creación se indica de manera esquemática
cómo van a ir conectados los componentes del circuito. Es decir, qué
pines irán a la alimentación, a la masa, a otros componentes, etc.
De cara a la creación del circuito impreso, es importante que cada
componente esté bien reflejado en su esquema ya que de lo contrario
Figura 10: Placa de prototipos y componentes
Diseño Hardware
- 18 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
podrá dar problemas si por ejemplo, el número de pines no se
corresponde con el del componente real.
Esta parte del diseño también es útil porque ayudará a encontrar
posibles incoherencias en el diseño del circuito gracias a una función
que permite la verificación de reglas de montaje electrónico. Un pin
que se ha declarado como salida y se conecta directamente a la masa
generará un conflicto que será notificado.
Como ya se ha explicado anteriormente, la unidad de conmutación
representada en la figura 9 requiere de un circuito de control que se
encargue hacer trabajar todo el sistema de manera correcta. El
responsable de gestionar esta tarea será el microcontrolador Arduino
Uno cuyos pines han sido representados en el esquemático tal y como
se muestra a continuación (figura 11):
Figura 11: Conexión pines Arduino Uno
Diseño Hardware
- 19 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
En el conector “P1” se encuentran los pines que darán alimentación y
la masa común a todo el circuito.
El conector “P2” contiene las dos salidas digitales que controlan los
relés de conmutación (“RELE1” y “RELE2”) así como el pin de
entrada que leerá la señal del receptor de infrarrojos para el mando a
distancia. Además sobre este conector se conectará también la pantalla
LCD, ya que sobre los pines 10 y 9 de la imagen se encuentran los
puertos de comunicación serie.
El conector “P3” tiene declarados tres pines digitales para iluminar los
leds A, B y X. Estos leds indicarán el canal que se está escuchando en
cada momento. También contiene las tres entradas responsables de
detectar la pulsación de alguno de los tres pulsadores representados
como “SW1”, “SW2” y “SW3”.
Finalmente el conector “P4” es el que contiene las entradas analógicas
que no son utilizadas para esta aplicación concreta.
La última parte del circuito se representa en la figura 12, que
simplemente contiene el cableado de los tres leds.
Figura 12: Cableado leds A, X y B.
Diseño Hardware
- 20 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Asignación de huellas (footprints): una vez el circuito está finalizado,
hay que asignar a cada componente del esquema una huella, esto es, la
apariencia que tendrá sobre el circuito impreso (número y tamaño de
los taladros, posicionamiento de los mismos…). La mayoría de los
componentes tienen huellas estándares incluidos en la librería del
programa. No obstante otras, como las de los conectores Jack han sido
diseñadas a partir de la hoja de datos (datasheet) del componente. Este
paso permite realizar cambios de componentes sobre el circuito
impreso de manera rápida. Por ejemplo, si por cualquier motivo se pasa
de un pulsador de un tipo a otro distinto, se indicaría el cambio en este
paso y automáticamente se actualizaría su huella en el circuito impreso.
A continuación se muestra una imagen de la apariencia de esta lista.
Figura 13: Netlist
Diseño Hardware
- 21 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Diseño del PCB: el último paso de este proceso consiste en posicionar
las huellas de cada componente y trazar el recorrido de las pistas. Para
este circuito impreso se han utilizado dos capas, mostradas en las
figuras 14 y 15. Para las señales de audio se han intentado encontrar los
caminos más cortos posibles y se han evitado los ángulos rectos para
minimizar problemas de deterioro de la señal por reflexión.
Cabe destacar que la zona delimitada por el rectángulo inferior en color
amarillo se corresponde con el splitter. Esta parte se separará del resto
del circuito.
Figura 14: Circuito impreso cara inferior
Diseño Hardware
- 22 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Las tolerancias tomadas han sido el estándar del sitio web EuroCircuit para
estar dentro de los márgenes que proponen para producir sus circuitos impresos.
Estas dimensiones son:
Figura 15: Circuito impreso cara superior
Diseño Hardware
- 23 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.2.5 IMPLEMENTACIÓN
El proceso de investigación explicado anteriormente ha derivado en una
propuesta sólida, simple y eficaz de lo que quiere realizar. No obstante, aunque en
el apartado anterior se ha dado por supuesto, en este apartado se va a explicar el
porqué de algunos de los componentes seleccionados.
1.2.5.1 Selección de componentes
A continuación se van a describir los requisitos necesarios para algunos de los
componentes elegidos durante el desarrollo del proyecto.
Relés: para la elección de los relés fue importante elegirlos con una tensión de
funcionamiento de 5 V, ya que ese es el nivel de tensión que Arduino Uno puede
proporcionar. De esta manera todas las alimentaciones serán a este nivel de tensión
simplificando el circuito.
Resistencias circuito control del relé: la figura 16 muestra un esquema de la
conexión de este circuito, donde Arduino Uno es el dispositivo de control con una
salida digital de 0 o 5V. Sin entrar en detalles acerca del funcionamiento detallado
de un transistor, nos sirve saber que se requieren 0,6V en la base del mismo para
que éste conduzca. Si conduce pasará corriente por la bobina del relé y por tanto lo
activará. La corriente de funcionamiento de la bobina es de 30 mA, luego
suponiendo que la ganancia del transistor es de un valor alrededor de 160, se tendrá
que la corriente mínima por la base será de 0,1875 mA. Como factor de seguridad,
se supondrá esta última corriente con un valor diez veces más grande, esto es, 1,875
mA. Con esta corriente y la tensión que caerá en la resistencia se obtiene el valor
deseado.
𝑅𝑏 = (5 − 0,6) 𝑉
1,875 𝑚𝐴 = 2.346 Ω
Por lo tanto el valor fijado para estas resistencias de la base es de 2,2 kΩ.
Diseño Hardware
- 24 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.2.5.2 Construcción del circuito impreso
Para construir el circuito impreso se generaron los ficheros en formato Gerber
para después enviárselos al fabricante.
Figura 16: Circuito de control del relé
Software
- 25 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.3 SOFTWARE
En esta sección se pretende explicar el funcionamiento del software
programado sin entrar en detalle en cuanto qué ocurre línea a línea. El programa
completo se mostrará en el anexo 3.
1.3.1 MODOS DE FUNCIONAMIENTO
El programa codificado tiene dos modos de funcionamiento: un modo de
selección manual del canal a escuchar y el propio test ABX. El acceso a los mismos
tendrá lugar mediante un sistema de menús entre los cuales se podrá navegar de
manera sencilla.
Modo manual: este modo permitirá conmutar entre dos amplificadores
conectados a las entradas A y B del sistema. Por lo tanto se podrá
alternar instantáneamente entre los dos con el fin de compararlos.
Test ABX: este segundo modo permitirá realizar el test ABX tal y
como se ha explicado en el apartado 1.1.2. Una vez completado
mostrará en pantalla el número de aciertos totales y su correspondiente
porcentaje.
Además se contará con una pantalla adicional de configuración que permitirá
ajustar el número de pruebas a realizar en el test ABX, estando éstas limitadas entre
5 y 20 intentos.
1.3.2 DIAGRAMA DE BLOQUES
En este apartado se va a mostrar de manera esquemática el funcionamiento del
código implementado en Arduino. En primer lugar es importante mencionar que la
Software
- 26 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
única forma de interactuar con el sistema son los tres pulsadores “A”, “B” o “X”,
ya sean los soldados al circuito impreso o los tres del mando infrarrojos.
En la figura 17 se muestran mediante cuatro bloques las diferentes funciones
que se han codificado en Arduino. Cada una de ellas realiza una función específica.
Su funcionamiento e interacción entre ellas se explica a continuación.
Seleccionar modo manual: esta función se encarga de mostrar por
pantalla el título de este modo y permite cambiar a la función
“seleccionar modo ABX” en caso de pulsar los botones “A” o “B”. Si
se pulsa el botón “X” estando en esta función se pasará a la función
“modo manual”.
Seleccionar modo ABX: esta otra función mostrará en pantalla el título
del modo ABX y de igual manera que la anterior permite pasar a la
selección de modo manual si se pulsan los botones “A” o “B”.
Pulsando el botón “X” se ejecutará la función del modo ABX.
Modo manual: esta función ejecuta el modo que permite seleccionar
uno de los dos amplificadores conectados de manera manual. Mediante
Figura 17: Diagrama de bloques del programa
Software
- 27 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
los botones “A” y “B” se podrá conmutar al equipo deseado mientras
que pulsando el botón “X” se volverá a la selección de modo.
Modo ABX: aquí se dará inicio al modo test ABX. Con los pulsadores
se podrá elegir entre los dos amplificadores y el desconocido “X”. Una
vez se sepa cuál de ellos es “X” bastará con volver a pulsar su botón
por segunda vez. Por pantalla se visualizarán el número de prueba
actual y el total a realizar. Una vez se haya terminado el test, se
mostrarán los resultados y se volverá al menú de selección de modo.
Conclusiones
- 28 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.4 CONCLUSIONES
Las conclusiones extraídas después del desarrollo completo del proyecto se
van a clasificar en dos: las conclusiones relacionadas con el diseño y construcción
del sistema y las extraídas tras su uso con varios usuarios.
1.4.1 CONCLUSIONES DEL SISTEMA ABX
Tras todo el proceso se ha conseguido un sistema compacto que cumple todos
los objetivos que se habían fijado desde un principio de forma correcta. De hecho,
gracias a la versatilidad de Arduino, se han añadido funcionalidades que no estaban
previstas desde un principio como el modo manual o la posibilidad de seleccionar
el número de pruebas a realizar en un test ABX. Además su uso y conexión es muy
sencillo como se puede apreciar en el manual de usuario (anexo 1), algo que lo hace
más asequible a cualquier usuario poco entendido en la materia.
Por otra parte, como se muestra en el estudio económico (Capítulo 2), su coste
de producción es bastante reducido, lo que lo convierte en un producto atractivo
que podría estar en el salón de cualquier apasionado del mundo audiófilo para
realizar comparaciones entre equipos o incluso entrenar el oído de cara a distinguir
entre distintos amplificadores o fuentes de audio.
1.4.2 CONCLUSIONES SOBRE LAS PRUEBAS REALIZADAS
Desafortunadamente solo se contaba con un amplificador para realizar
pruebas. La falta de un segundo equipo resta interés a cualquier test que se haga. Es
por esto por lo que solo se ha verificado el correcto funcionamiento del sistema sin
extraer conclusiones acerca de la comparación de dos amplificadores específicos.
Futuras versiones
- 29 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.5 FUTURAS VERSIONES
Este apartado viene a enfocar los posibles cambios o mejoras que se podrían
llevar a cabo en una futura versión.
En primer lugar, como el desarrollo de una caja para integrar el circuito
impreso no estaba incluido en el plan de trabajo, no se han utilizado los bornes que
permiten conectar un voltímetro para calibrar la intensidad del sonido de los dos
canales, ya que éstos quedan accesibles directamente desde el circuito impreso. No
obstante, si en una próxima versión se integra el circuito dentro de una caja, habría
que hacer una modificación sobre el circuito impreso para incluir unos bornes de
calibración o, en el peor de los casos sacar unos cables que permitan medir esta
tensión.
Otra opción que sería práctica, consistiría en añadir la posibilidad de alimentar
el sistema con pilas, de manera que pudiese ser autónomo al 100% en determinados
momentos. Sin embargo conllevaría aumentar la superficie del circuito impreso a
unas dimensiones considerables en comparación a las que se tienen actualmente.
Por último se propone algo más ambicioso, que sería realizar las
modificaciones necesarias para que además de un comparador ABX, el sistema
valiese como una unidad central en la que tener conectados diferentes
amplificadores y auriculares y poder conmutar rápidamente entre los dispositivos.
De esta forma sólo habría que cablear todo el conjunto una vez y mediante el mando
conmutar las entradas y salidas de la manera deseada.
Bibliografía
- 30 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
1.6 BIBLIOGRAFÍA
[1] Aquí las referencias bibliográficas. Con este estilo.
Bibliografía
- 31 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
ESTUDIO ECONÓMICO
Bibliografía
- 32 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Presupuesto económico
- 33 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
2.1 PRESUPUESTO ECONÓMICO
En esta sección se presenta el balance de todo el trabajo tanto de ingeniería
como del material necesario para el sistema ABX. En primer lugar, la Tabla 1
muestra el coste de cada uno de los componentes necesarios para el circuito.
Componentes
Nombre Precio Figura
Arduino Uno
12,99 €
Conectores de teléfono
3.5mm PCB STEREO JAK
5P W/SWITCH BLUE
0,875 €
Indicadores LED de placas de
circuito T-1 HER PCB RT
ANGLE
0,401 €
Relés de señal baja - PCB
5VDC Non-latching 1 coil
150mW D2n
1,90 €
Potenciómetros Flat 15mm
10k 2,05 €
Diodos: de propósito general,
potencia y conmutación 0,097 €
Receptor infrarrojos 1,64€
Presupuesto económico
- 34 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Transistores bipolares -
BJT NPN Gen Pur SS
0,41€
Resistencias de carbón aglomerado
0,00127 €
Pulsadores ROUND BLACK 0,042 €
Display LCD 13,70 €
Mando IR* 4,25 €
Tabla 1: Lista de componentes y precio unitario
*Como mando IR se propone un modelo básico que no es el mismo que el utilizado en el proyecto.
A continuación se va a listar la cantidad exacta de componentes necesarios
para montar un sistema completo y el precio total (Tabla 2).
Componente Cantidad Precio unitario Total
Arduino Uno x 1 12,99 € 12,99 €
Relés x 2 1,90 € 3,80 €
Transistores x 2 0,41 € 0,82 €
Diodos x 2 0,097 € 0,194 €
Presupuesto económico
- 35 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Conectores Jack x 6 0,875 € 5,25 €
Receptor IR x 1 1,64 € 1,64 €
Pulsadores x 3 0,042 € 0,126 €
Mando IR
estándar x 1 4,25 € 4,25 €
Leds luminosos x 3 0,401 € 1,203 €
Resistencias x 8 0,0127 € 0,1016
Potenciómetros x 2 2,05€ 4,1 €
Circuito Impreso x 1 4,6 €* 4,6 €
Display x 1 13,70 € 13,70 €
Subtotal bruto 52,78 €
Subtotal neto
(21% IVA) 63,85 €
Tabla 2: Cantidad de componentes y subtotal
*El pedido de 5 circuitos impresos tuvo un coste de 23 €.
Presupuesto de trabajo
La Tabla 3 muestra una estimación de las horas de trabajo necesarias para
llevar a cabo el conjunto del proyecto así como su coste total.
Precio por hora de trabajo del ingeniero 50 €/h
Número de horas de trabajo 200 h
Coste trabajo total bruto 10.000 €
Coste trabajo total neto (21% IVA) 12.100 €
Tabla 3: Número de horas de trabajo y coste
Presupuesto económico
- 36 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Estudio de rentabilidad
Con los datos calculados hasta el momento se tiene que el coste material para
producir un comparador ABX (sin contar con la mano de obra) sería de 63,85 €. El
coste de todo el desarrollo y diseño asciende a 12.100 €.
Como el mercado al que iría destinado este producto no es demasiado amplio,
se va a estimar el número de ventas en unas 250 unidades. Por lo tanto para
amortizar el trabajo realizado habría que repartir este coste de trabajo entre las
unidades vendidas. Esto hace un precio añadido a cada comparador de 48,4 €. El
precio final para cada comparador sería entonces de 112,25 €. La tabla 4 resume
este cálculo final.
Coste material de un comparador ABX 63,85 €
Coste añadido a cada unidad 48,4 €
Precio final del producto 112,25 €
Tabla 4: Resumen precio comparador ABX
Presupuesto económico
- 37 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
DATASHEETS
Presupuesto económico
- 38 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Datasheets
- 39 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
3.1 DATASHEETS
En este apartado se dan los enlaces a las hojas de datos de cada uno de los
componentes electrónicos necesarios para la creación del proyecto.
Conector Jack
Potenciómetro
Led
Relé
Diodo
Receptor IR
Transistor
Resistencias
Pulsadores
Datasheets
- 40 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Datasheets
- 41 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
ANEXOS
Datasheets
- 42 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Anexo 1: Manual de usuario
- 43 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
4.1 ANEXO 1: MANUAL DE USUARIO
Este anexo va a mostrar todo lo relacionado con el funcionamiento del
comparador ABX. En primer lugar se va a mostrar el propio comparador y sus
elementos y a continuación se explicarán con detalle los diferentes modos de trabajo
posibles.
El comparador
Pulsador A: seleccionar canal A / confirmar canal A / desplazamiento izq.
Pulsador B: seleccionar canal B / confirmar canal B / desplazamiento dcha.
Pulsador X: seleccionar canal X / Aceptar / Retroceder
Potenciómetro A: ajusta el volumen del canal de entrada A
Potenciómetro B: ajusta el volumen del canal de entrada B
Entrada Canal A: entrada para el amplificador A
Entrada Canal B: entrada para el amplificador B
Salida Audio: salida para auriculares
Figura 18: Elementos del comparador
Anexo 1: Manual de usuario
- 44 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
LED A: se encenderá cuando el canal A esté seleccionado
LED B: se encenderá cuando el canal B esté seleccionado
LED X: se encenderá cuando el canal X esté seleccionado
Display LCD
Para mostrar al usuario una interfaz práctica se ha utilizado el Display LCD
azul mostrado en la figura 19. Como características, posee cuatro filas por 20
columnas. Además utiliza el protocolo i2c para realizar la comunicación serie, de
manera que solo se requieren dos pines de Arduino para llevar a cabo dicha
comunicación.
El mando IR
Este mando permite utilizar el equipo a distancia. Los tres botones que
representan los pulsadores A, B y X se muestran en la figura 20.
Figura 20: Mando IR
Figura 19: Display LCD
Anexo 1: Manual de usuario
- 45 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
El Splitter
Este componente tiene como finalidad el duplicar una señal de audio de
entrada. Consta de tres conectores Jack, uno para la entrada y dos para las dos
señales de salida duplicadas. No hay una forma específica de conectarlo, siempre y
cuando se tengan una señal de entrada y dos de salida.
Modos de funcionamiento
El comparador ABX consta de dos modos de funcionamiento. Estos son los
modos ABX y el manual (figura 22). La selección de los mismos aparecerá nada
más encender el dispositivo.
Mediante los botones de desplazamiento (A y B) se podrá cambiar la selección
a un modo u otro y con el botón aceptar (X) se selecciona el modo.
Figura 21: Splitter
Figura 22: Modos de funcionamiento
Anexo 1: Manual de usuario
- 46 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
El modo manual
Una vez se accede a este modo se mostrará la siguiente imagen.
El programa queda a la espera de la selección del canal A o del canal B. Se
podrá alternar entre ellos dos cuando se desee (figura 24). El botón X permitirá
volver al menú principal.
El modo ABX
Nada más seleccionar este modo de funcionamiento se dará paso a la pantalla
de selección del número de pruebas a realizar. Por defecto aparecerán seleccionadas
diez pruebas pero se podrán cambiar a un número mínimo de cinco y un máximo
de veinte utilizando los botones A (diminuir pruebas) y B (aumentar pruebas)
(figura 25).
Figura 23: Modo manual. Selección de canal
Figura 24: Modo manual. Canal B seleccionado
Figura 25: Selección del número de pruebas
Anexo 1: Manual de usuario
- 47 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Una vez se sepa el número de pruebas a realizar, se pulsará el botón X y dará
comienzo la primera prubea del test. La imagen que mostrará el display se
representa a continuación (figura 26).
Como puede verse, la pantalla mostrará el modo de funcionamiento, el número
de prueba en la que se encuentra el usuario y el canal seleccionado. Con los botones
A, B y X se podrá alternar entre los tres canales (nótese que en realidad son dos,
puesto que X es o A o B) y volviendo a presionar sobre A o B se dirá que X es A o
B respectivamente.
Una vez se hayan finalizado el total de pruebas el display mostrará los
resultados obtenidos, es decir, el número de veces que se ha acertado el canal X y
su porcentaje (figura 27).
Figura 26: Modo ABX. Primera prueba
Figura 27: Modo ABX. Resultados
Anexo 1: Manual de usuario
- 48 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Anexo 2: Código fuente
- 49 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
4.2 ANEXO 2: CÓDIGO FUENTE
Este anexo muestra todas las líneas de código que comprenden el programa.
Éste está separado en pestañas, cada una de las cuales contiene una función
específica. Antes de cada una se especificará su función.
Main: este es el programa principal. En él se inicializan todas las variables
globales y la configuración los pines de Arduino, el receptor IR, la pantalla…
El bucle principal contiene únicamente la llamada a las otras funciones.
/* Código test ABX por Esteban Hidalgo Sancho en Arduino Uno
*/
#include <IRremote.h>
#include <IRremoteInt.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
//pines
int pulsadorA = 6;
int pulsadorB = 4;
int pulsadorX = 5;
int ledA = 7;
int ledX = 2;
int ledB = 3;
int rele1 = 8;
int rele2 = 10;
int RECV_PIN = 11;
float botX=2011275438;
float botA=2011271342;
float botB=2011259054;
float botBack=2011283630;
IRrecv irrecv(RECV_PIN);
decode_results results;
//variables
int modo=3; // 0=ABX // 1=Manual // 2 = editar // se inicializa a
3 para que no comience en ningún modo
boolean estado_actA=0;
boolean estado_antA=0;
Anexo 2: Código fuente
- 50 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
boolean estado_actB=0;
boolean estado_antB=0;
boolean estado_actX=0;
boolean estado_antX=0;
boolean A,B,X;
boolean M11=1; // variable de menu
boolean M12=0; // variable de menu
int contA=0;
int contB=0;
int varal; //variable aleatoria
int aleon; //se utiliza para entrar en el bucle que calcula
"varal" cada vez que se inicia una prueba
int siguienteprueba; // se activa al acabar un intento para que
podamos volver a X con nuevo intento...
boolean XesA=0;
boolean XesB=0;
int aciertos=0;
int num_pruebas=10;
int i=1;
int porcentaje;
void setup()
randomSeed(analogRead(0));
Serial.begin(9600);
pinMode(pulsadorA, INPUT); // para elegir opción A
pinMode(pulsadorX, INPUT); // para elegir la opción X
pinMode(pulsadorB, INPUT); // para elegir opción B
pinMode(ledA, OUTPUT);
pinMode(ledX, OUTPUT);
pinMode(ledB, OUTPUT);
pinMode(rele1, OUTPUT); // conmuta el relé 1
pinMode(rele2, OUTPUT); // conmuta el relé 2
//digitalWrite(rele1,HIGH); // entrada del amp 1 desconectada
//digitalWrite(rele2,HIGH); // entrada del amp 2 desconectada
pinMode(13,OUTPUT); //utilizo el led de arduino para mis
comprobaciones
irrecv.enableIRIn(); // Start the receiver
digitalWrite(ledA,LOW);
digitalWrite(ledX,LOW);
digitalWrite(ledB,LOW);
//inicialización de la pantalla LCD
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines
and turn on backlight
lcd.backlight(); //
lcd.setCursor(6,0); //Start at character 4 on line 0
lcd.print("Test ABX");
delay(1000);
lcd.setCursor(4,3);
lcd.print("Por E.Hidalgo");
delay(3000);
Anexo 2: Código fuente
- 51 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
lcd.clear();
/////////////////////// LOOP ///////////////////////
void loop()
//Menu ABX
MenuABX();
//Menu Manual
MenuManual();
//modo ABX
ModoABX();
//modo Manual
ModoManual();
//editar número de pruebas
editar();
Anexo 2: Código fuente
- 52 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Menu ABX: esta función se encarga de mostrar por pantalla la elección del
test ABX y permitirá entrar en ella o desplazarse a la selección del segundo modo,
el modo manual.
void MenuABX()
while(M11==1) //seleccionar ABX
estado_actA=digitalRead(pulsadorA);
estado_actB=digitalRead(pulsadorB);
estado_actX=digitalRead(pulsadorX);
digitalWrite(rele2,LOW); // cuando estoy en este menú
relés desconectados
digitalWrite(rele1,LOW);
lcd.setCursor(3,0);
lcd.print("Seleccione Modo");
lcd.setCursor(6,2);
lcd.print("<< ABX >>");
digitalWrite(13,HIGH);
if((estado_antA != estado_actA &&
estado_actA==1)||(estado_antB != estado_actB && estado_actB==1))
//si pulso A o B (en este caso actuan como cursores izq y dcha
M11=0;
M12=1;
lcd.clear();
if(estado_antX != estado_actX && estado_actX==1) //si
pulso X entro en el modo ABX y salgo de este menu
modo=2; // pasamos al modo de configurar el número de
pruebas
M11=0;
lcd.clear();
estado_antA=estado_actA;
estado_antB=estado_actB;
estado_antX=estado_actX;
if(irrecv.decode(&results))
if(results.value==botA)
M11=0;
M12=1;
lcd.clear();
if(results.value==botB)
M11=0;
M12=1;
Anexo 2: Código fuente
- 53 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
lcd.clear();
if(results.value==botX)
modo=2; // pasamos al modo de configurar el número de
pruebas
M11=0;
lcd.clear();
irrecv.resume(); // Receive the next value
//while menu11
Anexo 2: Código fuente
- 54 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
MenuManual: mostrará en pantalla la selección de este modo manual y
permitirá acceder a él así como cambiar a la selección del modo test ABX.
void MenuManual()
while(M12==1) //seleccionar Manual
estado_actA=digitalRead(pulsadorA);
estado_actB=digitalRead(pulsadorB);
estado_actX=digitalRead(pulsadorX);
digitalWrite(rele2,LOW); // cuando estoy en este menú
relés desconectados
digitalWrite(rele1,LOW);
lcd.setCursor(3,0);
lcd.print("Seleccione Modo");
lcd.setCursor(5,2);
lcd.print("<< Manual >>");
digitalWrite(13,LOW);
if((estado_antA != estado_actA && estado_actA==1) ||
(estado_antB != estado_actB && estado_actB==1)) //si pulso A o B
(en este caso actuan como cursores izq y dcha
M11=1;
M12=0;
lcd.clear();
if(estado_antX != estado_actX && estado_actX==1) //si
pulso X entro en el modo Manual y salgo de este menu
modo=1;
M12=0;
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Modo Manual");
lcd.setCursor(1,2);
lcd.print("Seleccione Canal...");
estado_antA=estado_actA;
estado_antB=estado_actB;
estado_antX=estado_actX;
if (irrecv.decode(&results))
if(results.value==botA)
M11=1;
M12=0;
lcd.clear();
if(results.value==botB)
M11=1;
Anexo 2: Código fuente
- 55 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
M12=0;
lcd.clear();
if(results.value==botX)
modo=1;
M12=0;
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Modo Manual");
lcd.setCursor(1,2);
lcd.print("Seleccione Canal...");
irrecv.resume(); // Receive the next value
//while menu12
Anexo 2: Código fuente
- 56 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Modo ABX: dentro de esta función se encuentra todo lo necesario para el
funcionamiento del test ABX. Ella se encargará de mostrar por pantalla la
información así como gestionar el trabajo de los relés.
void ModoABX()
//while modo ABX
while(modo==0)
A=0;
B=0;
X=1;
aleon=1;
siguienteprueba=1;
estado_antA=estado_actA;
estado_antB=estado_actB;
estado_antX=estado_actX;
while(siguienteprueba==1)
Serial.print(aciertos);
if(X==1)
estado_actA=digitalRead(pulsadorA);
estado_actB=digitalRead(pulsadorB);
estado_actX=digitalRead(pulsadorX);
digitalWrite(ledA,LOW);
digitalWrite(ledX,HIGH);
digitalWrite(ledB,LOW);
lcd.setCursor(6,0);
lcd.print("Modo ABX");
lcd.setCursor(6,3);
lcd.print("Canal: X");
lcd.setCursor(4,1);
lcd.print("Prueba ");
lcd.print(i);
lcd.print("/");
lcd.print(num_pruebas);
if(i > num_pruebas) //si hemos acabado con las
pruebas limpio pantalla para mostrar resultados
lcd.clear();
if(aleon==1)
varal=random(300);
aleon=0; //en esta prueba no se vuelve a elegir X
Anexo 2: Código fuente
- 57 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
if(varal%2==0) //si es par un ampli
digitalWrite(rele1,LOW);
digitalWrite(rele2,HIGH);
digitalWrite(13,HIGH);
XesA=1;
XesB=0;
else //si es impar otro ampli
digitalWrite(rele1,HIGH);
digitalWrite(rele2,LOW);
digitalWrite(13,LOW);
XesA=0;
XesB=1;
if(estado_antA != estado_actA && estado_actA==1) //
si estando en X pulso A...
A=1;
B=0;
X=0;
if(estado_antB != estado_actB && estado_actB==1) //
si estando en X pulso B...
A=0;
B=1;
X=0;
estado_antA=estado_actA;
estado_antB=estado_actB;
estado_antX=estado_actX;
if (irrecv.decode(&results))
if(results.value==botA) //si estando en X pulso A
(IR)
A=1;
B=0;
X=0;
if(results.value==botB) //si estando en X pulso B
(IR)
A=0;
B=1;
X=0;
irrecv.resume(); // Receive the next value
Anexo 2: Código fuente
- 58 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
if(A==1)
digitalWrite(rele1,LOW);
digitalWrite(rele2,HIGH);
digitalWrite(13,HIGH);
digitalWrite(ledA,HIGH);
digitalWrite(ledX,LOW);
digitalWrite(ledB,LOW);
estado_actA=digitalRead(pulsadorA);
estado_actB=digitalRead(pulsadorB);
estado_actX=digitalRead(pulsadorX);
lcd.setCursor(6,0);
lcd.print("Modo ABX");
lcd.setCursor(6,3);
lcd.print("Canal: A");
if(estado_antA != estado_actA && estado_actA==1)
contA++;
i++;
A=0;
B=0;
X=1;
aleon=1;
siguienteprueba=0;
if(XesA==1) //si hemos acertado sumamos un acierto
aciertos++;
if(estado_antB != estado_actB && estado_actB==1)
A=0;
B=1;
X=0;
if(estado_antX != estado_actX && estado_actX==1)
A=0;
B=0;
X=1;
estado_antA=estado_actA;
estado_antB=estado_actB;
estado_antX=estado_actX;
if (irrecv.decode(&results))
if(results.value==botA) //si estando en A pulso A
(IR)
contA++;
Anexo 2: Código fuente
- 59 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
i++;
A=0;
B=0;
X=1;
aleon=1;
siguienteprueba=0;
if(XesA==1) //si hemos acertado sumamos un
acierto
aciertos++;
if(results.value==botB) //si estando en A pulso B
(IR)
A=0;
B=1;
X=0;
if(results.value==botX) //si estando en A pulso X
(IR)
A=0;
B=0;
X=1;
irrecv.resume(); // Receive the next value
if(B==1)
digitalWrite(rele1,HIGH);
digitalWrite(rele2,LOW);
digitalWrite(13,LOW);
digitalWrite(ledA,LOW);
digitalWrite(ledX,LOW);
digitalWrite(ledB,HIGH);
estado_actA=digitalRead(pulsadorA);
estado_actB=digitalRead(pulsadorB);
estado_actX=digitalRead(pulsadorX);
lcd.setCursor(6,0);
lcd.print("Modo ABX");
lcd.setCursor(6,3);
lcd.print("Canal: B");
if(estado_antA != estado_actA && estado_actA==1)
A=1;
B=0;
X=0;
if(estado_antB != estado_actB && estado_actB==1)
Anexo 2: Código fuente
- 60 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
contB++;
i++;
A=0;
B=0;
X=1;
aleon=1;
siguienteprueba=0;
if(XesB==1) //si hemos acertado sumamos un acierto
aciertos++;
if(estado_antX != estado_actX && estado_actX==1)
A=0;
B=0;
X=1;
estado_antA=estado_actA;
estado_antB=estado_actB;
estado_antX=estado_actX;
if (irrecv.decode(&results))
if(results.value==botA) // si estando en B pulso A
(IR)
A=1;
B=0;
X=0;
if(results.value==botB) // si estando en B pulso B
(IR)
contB++;
i++;
A=0;
B=0;
X=1;
aleon=1;
siguienteprueba=0;
if(XesB==1) //si hemos acertado sumamos un
acierto
aciertos++;
if(results.value==botX) //si estando en B pulso X
(IR)
A=0;
B=0;
X=1;
irrecv.resume(); // Receive the next value
Anexo 2: Código fuente
- 61 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
while(i > num_pruebas)//si el número de prueba es mayor
que el número fijado acabamos. Muestro resultados hasta pulsar X
estado_actX=digitalRead(pulsadorX);
lcd.setCursor(6,0);
lcd.print("Modo ABX");
lcd.setCursor(1,1);
lcd.print("Aciertos ");
lcd.print(aciertos);
lcd.print("/");
lcd.print(num_pruebas);
lcd.print(" (");
porcentaje=(aciertos*100)/num_pruebas;
lcd.print(porcentaje);
lcd.print("%)");
lcd.setCursor(1,3);
lcd.print("Pulsa X para salir");
if(estado_antX != estado_actX && estado_actX==1) //si
pulso X limpiamos y volvemos a empezar..
i=1;
lcd.clear();
aciertos=0;
modo=3;
M11=1;
M12=0;
if (irrecv.decode(&results))
if(results.value==botX) //si pulso X (IR)
i=1;
lcd.clear();
aciertos=0;
modo=3;
M11=1;
M12=0;
irrecv.resume(); // Receive the next value
estado_antX=estado_actX;
//while modo abx
Anexo 2: Código fuente
- 62 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Anexo 2: Código fuente
- 63 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
ModoManual: en esta pestaña se encuentra el funcionamiento del modo
manual en el que se puede seleccionar uno de los dos canales en el momento en el
que se desee.
void ModoManual()
while(modo==1)//while en modo manual
estado_actA=digitalRead(pulsadorA);
estado_actB=digitalRead(pulsadorB);
estado_actX=digitalRead(pulsadorX);
if (estado_antX != estado_actX && estado_actX==1)
modo=3;
lcd.clear();
M11=1;
M12=0;
if (estado_antA != estado_actA) // && estado_actA!=1
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Modo Manual");
lcd.setCursor(7,2);
lcd.print("Canal A");
digitalWrite(rele2,HIGH);
digitalWrite(rele1,LOW);
digitalWrite(13,HIGH);
digitalWrite(ledA,HIGH);
digitalWrite(ledX,LOW);
digitalWrite(ledB,LOW);
if (estado_antB != estado_actB) // && estado_actB!=1
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Modo Manual");
lcd.setCursor(7,2);
lcd.print("Canal B");
digitalWrite(rele1,HIGH);
digitalWrite(rele2,LOW);
digitalWrite(13,LOW);
digitalWrite(ledA,LOW);
digitalWrite(ledX,LOW);
digitalWrite(ledB,HIGH);
Anexo 2: Código fuente
- 64 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
if (irrecv.decode(&results))
if(results.value==botA)
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Modo Manual");
lcd.setCursor(7,2);
lcd.print("Canal A");
digitalWrite(rele2,HIGH);
digitalWrite(rele1,LOW);
digitalWrite(13,HIGH);
digitalWrite(ledA,HIGH);
digitalWrite(ledX,LOW);
digitalWrite(ledB,LOW);
if(results.value==botB)
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Modo Manual");
lcd.setCursor(7,2);
lcd.print("Canal B");
digitalWrite(rele1,HIGH);
digitalWrite(rele2,LOW);
digitalWrite(13,LOW);
digitalWrite(ledA,LOW);
digitalWrite(ledX,LOW);
digitalWrite(ledB,HIGH);
if(results.value==botX)
modo=3;
lcd.clear();
M11=1;
M12=0;
irrecv.resume(); // Receive the next value
estado_antA=estado_actA;
estado_antB=estado_actB;
estado_antX=estado_actX;
//while modo manual
Anexo 2: Código fuente
- 65 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
Editar: esta última función entra en juego antes de comenzar un test ABX.
Permitirá seleccionar el número de pruebas a realizar en total.
// Función para seleccionar el número de pruebas a realizar. Estar
á fijado a 10 por defecto
void editar()
while(modo==2)
estado_actA=digitalRead(pulsadorA);
estado_actB=digitalRead(pulsadorB);
estado_actX=digitalRead(pulsadorX);
lcd.setCursor(3,0);
lcd.print("Numero de pruebas");
lcd.setCursor(6,2);
lcd.print("<< ");
lcd.print(num_pruebas);
lcd.print(" >>");
if(estado_antA != estado_actA && estado_actA==1) //si
pulso A disminuyo en 1 el número de pruebas
num_pruebas--;
lcd.clear();
if(estado_antB != estado_actB && estado_actB==1) //si
pulso B aumento en 1 el número de pruebas
num_pruebas++;
lcd.clear();
if(estado_antX != estado_actX && estado_actX==1) //si
pulso X entro en el modo ABX y salgo de este menu
lcd.clear();
modo=0;
estado_antA=estado_actA;
estado_antB=estado_actB;
estado_antX=estado_actX;
if (irrecv.decode(&results))
if(results.value==botA) // si pulso A disminuyo en 1 en
número de pruebas
num_pruebas--;
lcd.clear();
Anexo 2: Código fuente
- 66 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADO EN INGENIERÍA ELECTROMECÁNICA
if(results.value==botB) // si pulso B aumento en uno el
número de pruebas
num_pruebas++;
lcd.clear();
if(results.value==botX) // si pulso X entro en modo ABX
y salgo de este menu
lcd.clear();
modo=0;
irrecv.resume(); // Receive the next value
//finalmente se limitarán el número de pruebas máximo y
mínimo
if (num_pruebas > 20)
num_pruebas=20;
lcd.clear();
if (num_pruebas < 5)
num_pruebas=5;
lcd.clear();