sistema abx para realizar pruebas de audio a ciegas · la segunda etapa consiste en asignar a cada...

89
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO ELECTROMECÁNICO SISTEMA ABXPARA REALIZAR PRUEBAS DE AUDIO A CIEGAS Autor: Esteban Hidalgo Sancho Director: José Daniel Muñoz Frías Madrid Julio 2015

Upload: others

Post on 30-Apr-2020

16 views

Category:

Documents


0 download

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

Figura 3: El comparador ABX

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();

DOCUMENTO 2:

PLANOS