Sei sulla pagina 1di 79

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

DISEÑO Y CONSTRUCCIÓN
DE UNA BATERÍA MIDI

Tesis que presenta

Gerardo Moráles Ramón


José Alberto Martı́nez Gutiérrez

Que para Obtener el Tı́tulo de

Ingeniero en Comunicaciones y Electrónica

En la Especialidad de

Acústica

Director de la Tesis: Dr. Maximino Peña Guerrero.


Codirector: Ing. José de Jesús Negrete Redondo.

México D.F. Abril de 2012


v

RESUMEN

A través del tiempo, los instrumentos musicales han evolucionado hacia la creación mu-
sical, gracias a los avances técnicos propios de cada época. En esta era digital, en el rubro
musical nos ha cambiado la manera de escuchar, almacenar, adquirir y compartir e in-
cluso de como hacer la música, esto también se refleja hacia los instrumentos musicales.
Un instrumento musical acústico regularmente deberá estar constituido por los mejores
materiales y acompañarse de un buen ejecutante para que este toque alguna pieza mu-
sical. Un instrumento musical digital no necesariamente requiere de ciertas habilidades,
haber estudiado música o tocar el instrumento de manera convencional e incluso que
exista un ejecutante. Estos instrumentos diversifican el concepto de producir sonidos,
estas alternativas abarcan la manera de ejecución, las dimensiones, la expresividad y son
planteadas en su totalidad por el diseñador del instrumento. Se pretende diseñar y cons-
truir una baterı́a eléctrica virtual apoyada con una interfaz gestual, que permita captar
los movimientos de un ejecutante y estos movimientos produzcan diferentes sonidos.
En este trabajo se presenta el diseño y construcción de un instrumento musical di-
gital llamado Air MIDI-Drum el cual implementa una baterı́a. Air MIDI-Drum es un
prototipo desarrollado en base a un PIC (Controlador de Interrupciones Programable),
un sensor ultrasónico y un par de pedales encargados del Bombo y de los platillos de
contratiempo respectivamente. El sensor ultrasónico es la interfaz gestual encargada de
captar los movimientos del ejecutante, los elementos que captará este sensor son los
platillos de contratiempo abiertos, tarola, toms elevados, crash, tom de piso; los cuales
se encuentran distribuidos linealmente y paralelos al eje de propagación del sensor.
Los resultados que se presentan, son un prototipo asistido por el microcontrolador
18F4520 con un sistema operativo llamado AMDOS escrito en C. Dicho sistema procesa
la información procedente de los sensores. Se presentan también las pruebas realizadas
del sistema ası́ como diagramas esquemáticos que muestran su funcionamiento.
vii

Agradecimientos

Primero quiero agradecer a la energı́a que me proporciono la


llegada a este mundo a través de mis padres.
A mi familia por el apoyo siempre incondicional, principal-
mente a mis padres que con su esfuerzo, dedicación, ejemplo
y amor me han guiado, a mis hermanos por sus consejos, por
prestarme su tiempo y experiencia para resolver los problemas
que se me presentaban, no nada más en la escuela también
en la vida.
A mis amigos por el tiempo que pasamos estudiando, ju-
gando, llorando y riendo, por compartir preocupaciones, an-
helos y sueños, pero sobre todo gracias por compartir sus vidas
conmigo.
A las escuelas que me formaron.
A mis profesores que por su dedicación, su empeño y amor
por su trabajo me guiaron sobre sus pasos.
Y a todas las personas que directa o indirectamente han
tenido a bien ayudarme en forma moral y económica para
mi formación como ser humano y profesional, a todos mil
gracias, los largos años de estudio, las incontables desveladas
y el esfuerzo realizado no fueron en vano y hoy tienen un gran
significado.

José Alberto Martı́nez Gutiérrez


ix

Agradecimientos

En esta página esta plasmado una mı́nima parte de lo que


debo de agradecer a las personas que directa e indirectamente
aportaron algo para llevar a cabo este trabajo de tesis.
Con la mayor gratitud y amor.
A mi familia: Este este trabajo es un testimonio del eter-
no agradecimiento por el apoyo moral que desde siempre me
brindaron y con el cual he logrado terminar mi carrera profe-
sional y que es para mi la mejor de las herencias. Se que jamás
encontraré la forma de agradecer su constante apoyo y con-
fianza, solo espero que comprendan que mis ideales, esfuerzos
y logros han sido también suyos e inspirados en ustedes.
Con agradecimiento y respeto
A mis profesores: Por guiarme a través de mi formación
como profesionista y de mostrarme que el trabajo duro siem-
pre apremia.
Con cariño y agradecimiento
A mis amigos: Por estar incondicionalmente a mi lado
ante la adversidad, impulsarme y apoyarme en la elaboración
de este trabajo.
Al lector: Por tomarse el tiempo en leer las páginas de este
documento, son una pequeña muestra de que la creatividad es
una de las mejores herramientas que tiene un ingeniero y que
el limite lo define uno mismo.
Gerardo Morales Ramón
xi

El futuro tiene muchos nombres.


Para los débiles es lo inalcanzable.
Para los temerosos, lo desconocido.
Para los valientes es la oportunidad.

Victor Hugo
(1802-1885)

Tu tiempo es limitado, de mo-


do que no lo malgastes vivien-
do la vida de alguien distinto.
No quedes atrapado en el dog-
ma que es vivir, como otros
piensan que deberı́as vivir.
No dejes que los ruidos de las opiniones de
los demás acallen tu propia voz interior.
Y, lo que es más importante, ten
el coraje para hacer lo que te di-
cen tu corazón y tu intuición.

Steve Jobs
(1955-2011)
Índice general

Introducción 1

1. Aspectos generales 5
1.1. Los antecedentes de la baterı́a . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1. Tipos de baterı́as . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2. PICmicro 18F4520 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3. Sensor de posición SRF05 . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4. Sintetizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2. Diseño de Software 11
2.1. Adquisición de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1. Interrupción por el sensor ultrasónico . . . . . . . . . . . . . . . . 14
2.2.2. Interrupción por los Pedales . . . . . . . . . . . . . . . . . . . . . 14
2.3. Transmisión de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4. Sintetizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3. Diseño de Hardware 19
3.1. El soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. PCB del núcleo principal . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3. PCB de conexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1. Puerto de alimentación . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.2. Puerto de transmisión de datos . . . . . . . . . . . . . . . . . . . 23
3.3.3. Puerto de comunicaciones . . . . . . . . . . . . . . . . . . . . . . 24

xiii
xiv ÍNDICE GENERAL

3.4. Pedales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.1. Módulo de control del núcleo secundario. . . . . . . . . . . . . . . 27
3.5. Tapete de instrumentos guı́a . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6. Conectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.7. Caracterı́sticas técnicas de Air MIDI-Drum . . . . . . . . . . . . . . . . 31

4. Pruebas y resultados 33
4.1. Prueba de AMDOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2. Prueba de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Conclusiones 39

Bibliografı́a 41

A. Caracterı́sticas técnicas de los dispositivos 43


A.1. Microcontrolador 18F4520 . . . . . . . . . . . . . . . . . . . . . . . . . . 43
A.2. Sensor SRF05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

B. MIDI 47
B.1. Los canales MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
B.2. Mensajes MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
B.2.1. Estructura de un mensaje MIDI . . . . . . . . . . . . . . . . . . . 47
B.2.2. Tipos de mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . 47
B.2.3. Program Change (cambio de programa) . . . . . . . . . . . . . . . 49
B.2.4. Bytes de status y bytes de datos . . . . . . . . . . . . . . . . . . . 49

C. Especificación de las notas del banco de percusiones MIDI 51

D. Software 53
D.1. Diagramas de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
D.2. Código de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

E. Hardware 59
Índice de figuras

1.1. Partes que componen a una baterı́a acústica. . . . . . . . . . . . . . . . . 6


1.2. Partes que componen a una baterı́a electrónica. . . . . . . . . . . . . . . 7
1.3. Sensor SRF05. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4. Diagrama de tiempos del sensor SRF05. . . . . . . . . . . . . . . . . . . 9
1.5. Esquema tı́pico de un sistema de sı́ntesis. . . . . . . . . . . . . . . . . . . 10

2.1. Diagrama a bloques de Air MIDI-Drum. . . . . . . . . . . . . . . . . . . 11


2.2. Interfase MIDI-USB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. Aplicación Garage Band. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1. Vista frontal y trasera del Chasis Terminado. . . . . . . . . . . . . . . . . 19


3.2. PCB de control de Air MIDI-Drum. . . . . . . . . . . . . . . . . . . . . . 20
3.3. Diagrama del Módulo de control del núcleo principal. . . . . . . . . . . . 21
3.4. Convertidor de corriente. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5. Conector USB-B montado en el soporte. . . . . . . . . . . . . . . . . . . 23
3.6. Conector DIN de 5 terminales. . . . . . . . . . . . . . . . . . . . . . . . . 23
3.7. Conector RJ-45 hembra. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.8. Headers tipo macho y conector molex slim. . . . . . . . . . . . . . . . . . 24
3.9. Placa de conexión para los Puertos. . . . . . . . . . . . . . . . . . . . . . 25
3.10. Interconexionado de Air MIDI-Drum. . . . . . . . . . . . . . . . . . . . . 25
3.11. Pedales Bombo y Hi-Hat de Air MIDI-Drum. . . . . . . . . . . . . . . . 26
3.12. Sensor CNY70 y puerto mini USB. . . . . . . . . . . . . . . . . . . . . . 26
3.13. Vista frontal y trasera del módulo secundario. . . . . . . . . . . . . . . . 27

xv
xvi ÍNDICE DE FIGURAS

3.14. Diagrama del Módulo de control del núcleo secundario. . . . . . . . . . . 28


3.15. Tapete guı́a de Air MIDI-Drum. . . . . . . . . . . . . . . . . . . . . . . . 30
3.16. Patrón de radiación del sensor ultrasónico de Air MIDI-Drum. . . . . . . 32

4.1. Pruebas de AMDOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34


4.2. Pruebas de hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3. Imagen del músico tocando la baterı́a acústica. . . . . . . . . . . . . . . . 37
4.4. Imagen del músico tocando Air MIDI-Drum. . . . . . . . . . . . . . . . . 38

A.1. Diagrama de las terminales del PIC18F4520. . . . . . . . . . . . . . . . . 43


A.2. Terminales de conexión del sensor SRF05 . . . . . . . . . . . . . . . . . . 45

B.1. Estructura binaria de un mensaje MIDI. . . . . . . . . . . . . . . . . . . 48

D.1. Diagrama Principal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53


D.2. Diagrama de flujo de la librerı́a compare . . . . . . . . . . . . . . . . . . 54
D.3. Diagrama de flujo de la librerı́a midi. . . . . . . . . . . . . . . . . . . . . 54

E.1. Diseño de PCB del núcleo principal utilizando el software Eagle. . . . . . 59


E.2. Diseño de PCB del núcleo secundario utilizando el software Eagle. . . . . 60
Índice de tablas

1.1. Caracterı́sticas del microcontrolador 18F4520. . . . . . . . . . . . . . . . 8

3.1. Caracterı́sticas de un conector USB B. . . . . . . . . . . . . . . . . . . . 23


3.2. Caracterı́sticas de un conector DIN Hembra. . . . . . . . . . . . . . . . . 24
3.3. Caracterı́sticas de la Baterı́a Air MIDI-Drum. . . . . . . . . . . . . . . . 32

A.1. Caracterı́sticas del PIC18F4520. . . . . . . . . . . . . . . . . . . . . . . . 44


A.2. Caracterı́sticas técnicas del sensor SRF05. . . . . . . . . . . . . . . . . . 45
A.3. Descripción de las terminales del sensor SRF05 . . . . . . . . . . . . . . 46

B.1. Cuadro sinóptico de los mensajes MIDI. . . . . . . . . . . . . . . . . . . 48

xvii
xviii ÍNDICE DE TABLAS
Introducción

De forma universal en todas las culturas y prácticamente a lo largo de diversas épocas,


la interpretación de un instrumento musical ha estado ligada a la forma en como el
intérprete ejecuta el instrumento. En los últimos años con el desarrollo de la tecnologı́a,
se han creado instrumentos musicales que no necesitan de la ejecución del intérprete
para producir el sonido, sin embargo siguen manteniendo una estrecha relación con el
movimiento del ejecutante.
A diferencia de la música creada con instrumentos acústicos tradicionales, la música
digital no requiere de movimientos productores de sonido por parte del intérprete. El
sonido está previamente almacenado o es sintetizado en tiempo real y los movimientos
que el intérprete realiza sirven para activar el sonido pero no para producirlo fı́sica-
mente. La unión tan estrecha que a lo largo de la historia de la música ha acompañado
al movimiento y sonido, ha cambiado drásticamente en la era digital. A pesar de que los
movimientos productores de sonido como tal, desaparecen del lenguaje técnico del ins-
trumento digital, se necesitan otras acciones que proporcionen al intérprete la capacidad
de control sobre el instrumento.
Para los desarrolladores de instrumentos musicales digitales es importante conocer
los componentes que integran al instrumento: un controlador, una fuente de produc-
ción sonora y un mapeado1 o relación entre ambos, es decir, la interfaz que vincula al
intérprete con el instrumento y el material sonoro-musical resultante.
Existen instrumentos digitales que permiten al constructor establecer nuevas relaciones
entre movimiento y sonido, debido a que la relación entre acción y producción sonora
1
El término mapeado viene del inglés “mapping”y hace referencia a la conexión artificial, que a
través de un programa cargado al microcontrolador se hace entre los movimientos del intérprete y los
sonidos musicales.
2 INTRODUCCIÓN

se realiza de manera indirecta. Las posibilidades de relación movimiento-sonido ofrecen


muchas variantes. A la hora de diseñar un instrumento digital, cualquier movimiento
puede traducirse en cualquier sonido, sin embargo, a pesar de esta libertad aparente-
mente infinita, los diseñadores siguen manteniendo algunas relaciones tradicionales entre
movimiento y sonido. A la fecha las baterı́as acústicas están conformadas con tambores
y platillos, los cuáles generan el sonido al ser percutidos. Debido a los avances en la tec-
nologı́a ahora se tienen baterı́as electrónicas capaces de simular el sonido de una baterı́a
acústica, pero aún necesitan del golpe para generar el sonido.
En esta tesis se presenta la implementación de una baterı́a eléctrica llamada Air
MIDI-Drum, que a diferencia de una baterı́a acústica o de una eléctrica, no necesita de
los tambores o platillos para generar el sonido. Este prototipo de baterı́a digital esta
compuesta por un microcontrolador encargado de procesar la información obtenida por
los movimientos del intérprete y tres sensores; el de mayor importancia es un sensor
ultrasónico, esté se controla para determinar la posición lineal de los movimientos pro-
ducidos por el interprete, que de acuerdo a la distancia en donde sense dicho movimiento
será el sonido producido, o mejor dicho, el mensaje MIDI enviado al sintetizador por
el sistema operativo, los sensores secundarios son sensores ópticos que se encuentran
uno en cada pedal, estos solo necesitan de la alimentación para comenzar a funcionar,
pero requieren de un arreglo electrónico para poder trabajar con su señal de respuesta,
al presionar cualquier pedal se producirá un mensaje MIDI. Air MIDI-Drum posee un
mapeado caracterı́stico, el cual vincula un movimiento con un sonido, que corresponde
a la asignación de mensajes MIDI a la información proporcionada por los sensores. Los
mensajes producidos por el sensor ultrasónico corresponden a las notas de los platillos de
contratiempo (Hi-Hat) abierto y cerrado, Tarola, Toms elevados, Crash y Tom de piso,
los mensajes producidos por los sensores ópticos corresponden a la nota del Bombo y a la
nota del Hi-Hat cuando se cierra respectivamente. Air MIDI-Drum no genera el sonido
propiamente de los componentes de la baterı́a, capta los movimientos del ejecutante y
asigna diferentes mensajes MIDI2 a los movimientos.
2
MIDI es un protocolo de comunicaciones estandarizado dedicado a la comunicación entre instru-
mentos musicales electrónicos.
INTRODUCCIÓN 3

Los resultados que se obtuvieron son un sistema operativo llamado AMDOS, que
permitió la sincronización de los sensores con los movimientos del ejecutante, mediante
interrupciones y funciones minuciosamente administradas. Las mejoras que se lograron
en el sistema no incluyeron la posibilidad de tocar al mismo tiempo utilizando el sensor
ultrasónico y los sensores ópticos, o ambos sensores ópticos, ya que la programación y el
procesamiento siempre es del tipo secuencial en los microcontroladores. Por otro lado,
se logró interactuar con el sensor ultrasónico y el pedal del Hi-Hat, para que este pedal
al ser presionado modificara el mensaje MIDI enviado por el sensor ultrasónico en la
distancia correspondiente al Hi-Hat y este mensaje fuera para el Hi-Hat cerrado. Esto
sucede hasta que se presione nuevamente el pedal para que le mensaje MIDI sea el de
HI-Hat abierto.
En el Capı́tulo 1 se presentan los fundamentos teóricos. El Capı́tulo 2 describe el
funcionamiento del software de este proyecto. El Capı́tulo 3 describe el funcionamiento
y el diseño de hardware de la baterı́a. El capı́tulo 4 muestra el análisis y la evaluación
de resultados. Y por último se presentan las conclusiones de este proyecto. Además
apéndices donde se muestra información especı́fica sobre los dispositivos utilizados, los
mensajes MIDI, diagramas de flujo de datos, el código de programa, entre otras cosas.
4 INTRODUCCIÓN
Capı́tulo 1

Aspectos generales

En este capı́tulo se revisa someramente la información y las diferentes herramientas que


se utilizaron para llevar a cabo el diseño y construcción de Air MIDI-Drum.

1.1. Los antecedentes de la baterı́a

En el año de 1890 se da el orı́gen de la baterı́a con la unión de unos cuantos


instrumentos: los tambores y el timbal, que proceden de Africa y China, los platos,
que derivan de Turquı́a y también de China, el bombo, de Europa. Por entonces, se
comenzó a popularizar en algunas ciudades de Estados Unidos.
Se comenzaron a utilizar en el siglo XIX grupos de percusión cada vez más grandes
por los músicos románticos, que fueron utilizados a principios del siglo XX, en el cake-
walk 1 y otros estilos estadounidenses precursores del jazz. Antes de que todos los instru-
mentos fueran concentrados y mientras su unión no era popular, estos eran tocados por
varias personas (de 2 a 4), cada una de las cuales se encargaba de uno de ellos. Con la
invención del pedal o pie de bombo (primero de madera y después de acero), en 1910 por
parte de William F. Ludwig 2 , algunas de estas personas ya no fueron necesarias pues
una sola de ellas podı́a controlar varios instrumentos a la vez. Desde los años sesenta es
muy usada en el rock alcanzando una gran difusión con la gran proliferación de conjun-
1
El Cakewalk nació como una forma de entretenimiento entre los esclavos de las plantaciones del sur
de los EE.UU, a mediados del s.XIX.
2
William F. Ludwing fue músico, diseñador de diversos pedales y otros accesorios para baterı́a y
cofundador de la compañı́a Ludwig & Ludwig, falleció el 22 de marzo de 2008, a la edad de 91 años.

5
6 CAPÍTULO 1. ASPECTOS GENERALES

tos musicales, algunas de estas marcas alcanzaron gran renombre y perfección Premier,
Trixon, Honsuy, Ludwig, Yamaha y Jazzex.

1.1.1. Tipos de baterı́as

Existen dos tipos de baterı́as: acústicas y electrónicas. Una baterı́a acústica genera
el sonido al hacer vibrar el parche, que es una membrana de plástico, la cual se coloca
sobre tambores generalmente de madera. Los tambores son de forma cilı́ndrica y en las
baterı́as de más calidad están hechos con varias capas de madera finas, lo que en con-
junto de su diámetro y profundidad en las cajas les da un mejor sonido, tal como se
muestra en la Figura 1.1.

Figura 1.1: Partes que componen a una baterı́a acústica.

Por otro lado, una baterı́a electrónica consta generalmente de pads electrónicos3 ,
similares a los de práctica (de material poco vibrante), que producen un sonido deter-
minado y programable. Hay algunos modelos que permiten tocar encima de la música o
de otros ritmos ya registrados anteriormente o, ya incluidos en la caja de sonidos insta-
3
Un pad electrónico es una almohadilla construida generalmente de plástico que simula un tambor
o un platillo, la cual contiene un sensor piezoeléctrico necesario para captar los golpes del baterista.
1.2. PICMICRO 18F4520 7

lada en la baterı́a electrónica. Muchas baterı́as ya llevan incluidos varios sonidos para
programar en los pads electrónicos y no tener que incluir ningún instrumento más.
Se puede ver en la Figura 1.2 una baterı́a electrónica común.

Figura 1.2: Partes que componen a una baterı́a electrónica.

1.2. PICmicro 18F4520

Debido a las caracterı́sticas que debe de tener la baterı́a electrónica, se optó por
la utilización de un sistema versátil y económico que permitiera el control y el proce-
samiento de las señales digitales y analógicas ası́ como la transmisión de datos de manera
serial, es por ello que se utilizó un microcontrolador fabricado por Microchip Technolo-
gy Inc. este microcontroladores es de tipo RISC (Reduced Instruction Set Computer ) y
pertenece a la familia PIC18XX.
El microcontrolador que se ocupó es el 18F4520 [9] de 40 terminales, que de acuerdo
a la información proporcionada por el fabricante este microcontrolador introduce las
siguientes mejoras en el diseño: tecnologı́a nanoWatt4 , múltiples opciones de oscilador,
la memoria de programa puede ser borrada y grabada 100000 veces, la memoria de
4
Tecnologı́a que permite un bajo consumo durante el funcionamiento del microcontrolador desarro-
llada por Microchip Technology Inc.
8 CAPÍTULO 1. ASPECTOS GENERALES

programa tiene una retención de aproximadamente 100 años, módulo CCP mejorado,
USART con direccionamiento mejorado, convertidor A/D de 10–Bit y un Watchdog
Timer extendido (WDT). En la Tabla 1.1 se muestran las caracterı́sticas especiales de
esta familia de microcontroladores.

Tabla 1.1: Caracterı́sticas del microcontrolador 18F4520.

Memoria de programa Memoria de Datos 10-Bit CCP/ MSSP Timers


Flash Instrucciones de SRAM EEPROM I/0 A/D ECCP SPI Master EUSART Comp. 8/16-Bit
[c
(bytes) una sola palabra (bytes) (bytes) (ch) (PWM) I2C
32k 16384 1536 256 36 13 1/1 Y Y 1 2 1/3

1.3. Sensor de posición SRF05

Una de las caracterı́sticas de diseño más importantes que posee Air MIDI-Drum
es la posibilidad de ser ejecutada sin la presencia fı́sica de tambores y platillos. Debido
a esto, es necesario emplear una interfaz gestual entre el instrumento y el ejecutante
para que los movimientos sean sensados. Para lograr lo anterior, se utilizó un sensor
ultrasónico, ya que la aplicación principal de este tipo de sensores es el medir distancias
mediante pulsos ultrasónicos a 40 KHz. de manera lineal, se adaptó para proporcionar el
tiempo que tarda el pulso ultrasónico en incidir sobre los movimientos del instrumentista
y ası́ obtener la posición.
El sensor que se ocupó es el SRF05 el cual es un medidor ultrasónico [1] de distancias
de bajo costo desarrollado por la firma DEVANTECH Ltd. El sensor SRF05 se muestra
en la Figura 1.3.
Para utilizarlo se empleo el modo de terminales independientes que se menciona
en la hoja de especificaciones brindada por el fabricante, uno para aplicar el pulso de
disparo (Trigger ) y otro para leer la anchura del pulso del ECO medido.
Tal y como se muestra en el diagrama de tiempos de la Figura 1.4, el modo de empleo
es muy sencillo. Externamente se aplica un pulso de disparo de 10µS. de duración como
mı́nimo, se inicia la secuencia y el módulo transmite un tren de pulsos de 8 ciclos a
1.3. SENSOR DE POSICIÓN SRF05 9

Figura 1.3: Sensor SRF05.

40KHz. En ese momento la señal de salida ECO pasa a nivel “1” lógico. Cuando el
transductor receptor recibe la señal transmitida como consecuencia de haberse reflejado
en un objeto (ECO), esta salida pasa de nuevo a nivel “0” lógico. Se debe medir la
duración del pulso de esta señal, o bien el tiempo en que la señal ECO se mantiene a
“1” lógico.

Figura 1.4: Diagrama de tiempos del sensor SRF05.

Para que el módulo se estabilice, se debe dejar un lapso de tiempo de unos 20 mS.
mı́nimo entre el momento en que la señal de ECO pasa a “0” lógico y un nuevo pulso de
disparo inicie el siguiente ciclo de medida. Esto permite realizar medidas cada 50 mS. o
lo que es igual a 20 medidas por segundo.
En función de la distancia que existe entre los transductores del módulo y el objeto
sensado, la duración del pulso ECO de salida varı́a entre 100µS. y 25mS. La velocidad
10 CAPÍTULO 1. ASPECTOS GENERALES

µS
del sonido es de 29.15 cm que, como realiza un recorrido de ida y vuelta queda establecida
µS
en 58.30 cm . El rango mı́nimo en distancia que se puede medir es de 1.7 cm y el máximo
de 431 cm.
Para la baterı́a electrónica la distancia mı́nima queda establecida en 3 cm y la
máxima en 146 cm.

1.4. Sintetizador
Este dispositivo sintetiza el sonido, es decir, lo genera a partir de la combinación de
elementos simples (normalmente señales periódicas y funciones matemáticas).
Cabe mencionar que todo generador digital de sonido oculta un sistema computa-
cional (CPU, memoria, sistema operativo, etc.) en su interior. Los sintetizadores actuales
son DSPs (Digital Signal Processor ) para procesado interno digital de señales, capaces
de realizar decenas de millones de instrucciones por segundo.
En la Figura 1.5 se esquematiza un sistema de sı́ntesis que incorpora todos los com-
ponentes necesarios para la sı́ntesis (envolvente, moduladuras y filtros). El componente
oscilador es el que variará más de un sistema a otro, dependiendo del sistema de sı́ntesis
implementado.

Figura 1.5: Esquema tı́pico de un sistema de sı́ntesis.


Capı́tulo 2

Diseño de Software

En este capı́tulo se muestra la información correspondiente al desarrollo del sistema


operativo de Air MIDI-Drum llamado AMDOS. En la Figura 2.1 se muestra el diagrama
a bloques de los dispositivos que componen a Air MIDI-Drum.

Figura 2.1: Diagrama a bloques de Air MIDI-Drum.

El bloque de alimentación se encarga de suministrar 5V. en corriente continua


al microcontrolador, al sensor ultrasónico y los sensores de los pedales. El bloque de
adquisición de datos es el segundo bloque de importancia, este se encarga de sensar los
movimientos del ejecutante y enviar la información al microcontrolador. El bloque de

11
12 CAPÍTULO 2. DISEÑO DE SOFTWARE

control es el más importante, porque es donde se encuentra el software y hardware de


control de Air MIDI-Drum, el cual procesa y ordena toda la información obtenida de los
datos adquiridos por los sensores. El bloque de transmisión de datos se encuentra dentro
del bloque de control, ya que el puerto serial del microcontrolador se encarga de enviar
mensajes MIDI (Musical Interface Digital Instruments)1 al Sintetizador y éste realiza el
proceso de sı́ntesis de las notas correspondientes de una baterı́a.

2.1. Adquisición de datos


A partir de que el ejecutante interviene en cualquiera de los sensores disponibles en
Air MIDI-Drum, ya sea por el sensor ultrasónico (SRF05) o los sensor de los pedales
(CNY70), estos enviarán un ancho de pulso, el cual será interpretado por el microcontro-
lador. El sensor ultrasónico determinará la posición lineal donde interviene el ejecutante
al tocar, esta posición se encuentra distribuida de la siguiente manera, tomando de
referencia al sensor como el inicio de la medida2 :

De 3 a 25 cm se encuentran los platillos de contratiempos (Hi-Hats).

De 30 a 51 cm se encuentra la Tarola.

De 55 a 91 cm se encuentran los Toms elevados.

De 96 a 117 cm se encuentra el Crash.

De 122 a 146 cm se encuentra el Tom de piso.

Existe un espacio de 5cm entre cada elemento de la baterı́a, esta separación progra-
mada brinda al instrumentista un margen de ataque mayor para cada instrumento, la
separación disminuye el error producido por el empalme entre instrumentos además de
asegurar que se toque el instrumento deseado.
Air MIDI-Drum cuenta con un tapete guı́a, donde se muestra la posición y los
componentes de la baterı́a para auxiliar al ejecutante. El mensaje MIDI generado por el
microcontrolador, depende en su totalidad del ancho del pulso que el sensor ultrasónico le
1
Dirı́jase al Apéndice B MIDI.
2
Las medidas son aproximadas a una baterı́a acústica real.
2.2. CONTROL 13

brinde, este ancho de pulso va en función de la distancia en que interviene el ejecutante.


Sin embargo, no es la única manera en que se genera un mensaje MIDI, ya que Air
MIDI-Drum cuenta con un par de pedales, los cuales corresponden a los platillos de
contratiempos (Hi-Hats) y al Bombo. Éstos poseen un sistema eléctrico capáz de sensar
las pisadas generadas por el ejecutante, esta información es enviada al microcontrolador,
el cual sabrá que provienen de alguno de los pedales, y por ende cuál mensaje MIDI se
envı́a al sintetizador.

2.2. Control
AMDOS es un sistema operativo que se encuentra grabado en la memoria inter-
na del microcontrolador 18F4520 y éste también es llamado el núcleo principal3 . Este
sistema operativo es capáz de administrar las funciones, los recursos y los periféricos
interconectados al sistema.
El Diagrama de Flujo D.1 muestra el funcionamiento del sistema operativo de Air
MIDI-Drum, y la explicación de este será detallada a continuación 4 .
Debido a la estructura del programa, se explicará uno de los casos para cada tipo de
interrupción, cuando el ejecutante se encuentra dentro de los lı́mites de sensado y para
los pedales, ya que en los demás casos bajo estas condiciones, el programa funciona de
la misma manera y solo cambia el mensaje MIDI.
Al iniciar el sistema, el microcontrolador realiza la configuración de hardware de
acuerdo a los FUSES 5 programados, posteriormente carga las librerı́as necesarias para
dar paso al programa principal. La siguiente instrucción configura el banco y el canal
MIDI que se utiliza para las percusiones.

set_midi(0xA,0xA);

3
Para una mejor comprensión de esta sección, se recomienda revisar el Apéndice D.2. Código de
programación.
4
Cabe señalar que el sistema operativo fue diseñado en una programación modular.
5
Los FUSES son funciones especı́ficas de cada microcontrolador, que se colocan al inicio del código
de programación y aquı́ se realiza la configuración del hardware [8].
14 CAPÍTULO 2. DISEÑO DE SOFTWARE

2.2.1. Interrupción por el sensor ultrasónico

Para activar el sensor ultrasónico se manda un pulso con una duración de 10µS.
[10], por la terminal RB1. Por la terminal RB0 se espera el ancho de pulso que emite el
sensor, para que este sea medido en tiempo por el temporizador 1 (Timer 1 ), si existe la
interrupción por el puerto, este tiempo se almacena en la variable intval. La comparación
de la variable intval la realiza la función Compare 6 .

intval>760&&intval<2044;

Este caso corresponde para cuando el ejecutante toca los Hit-Hats, y la estructura
del mensaje MIDI7 es:

{
note_on(0xA,0x2E, 0x7F);
note_off(0xA,0x2E, 0x0);
}

El mensaje es transmitido, y el programa espera hasta que suceda otra interrupción.

2.2.2. Interrupción por los Pedales

Cuando el ejecutante presiona alguno de los pedales, el sensor genera una señal
pulsante, esta señal es enviada a las siguientes terminales del microcontrolador RB4 y
RB5 respectivamente, generando una interrupción que el sistema operativo atenderá de
la siguiente manera:
Si el ejecutante toca el pedal del Bombo, la estructura del mensaje MIDI es:

{
note_on(0xA,0x24, 0x7F);
note_off(0xA,0x24, 0x0);
}

El mensaje es transmitido, y el programa espera hasta que suceda otra interrupción.


6
Revisar el Apéndice D.1. Diagramas de flujo.
7
Revisar el Apéndice B.2.1. Estructura de un mensaje MIDI.
2.3. TRANSMISIÓN DE DATOS 15

2.3. Transmisión de datos

Se ha implementado un módulo de transmisión en el microcontrolador el EUSART


(Enhanced Universal Synchronous Asynchronous Receiver Transmitter )[9], dado que Air
MIDI-Drum sólo cuenta con el puerto MIDI-Out, el modo de transmisión será de tipo
Half-Duplex, ya que únicamente se enviarán datos, y la transmisión de datos se re-
alizará de manera ası́ncrona por la terminal C6. La velocidad de transmisión se con-
figuró a 31250 Bauds por segundo, se transmiten paquetes de un Byte de 10 bits[5], el
primero es el bit de arranque (start bit), los siguientes ocho bits son de datos y un bit
de paro (stop bit)8 .

La librerı́a midi.h se encargará de la transmisión del mensaje MIDI9 . La librerı́a


midi.h contiene las funciones que se encargan de programar al sintetizador, para que
conozca en que canal se van a recibir los datos y que banco MIDI se va a utilizar.

set_midi(0xA,0xA);

Partiendo de que ha ocurrido alguna interrupción, y que ya se han adquirido los


parámetros necesarios para construir el mensaje MIDI, se dará paso a la transmisión,
como sigue. Se enciende la nota, en este caso es la correspondiente a los platillos de
contratiempo (Hit-Hats)10 , se envı́an al sintetizador los siguientes bytes en el orden co-
rrespondiente:

Se apaga la nota, enviando al sintetizador los siguientes bytes en el orden corres-


pondiente:

8
Revisar el Apéndice B.2.1. Estructura de un mensaje MIDI
9
Cabe destacar que para la transmisión de cualquiera de los mensajes MIDI definidos se realizará de
la misma manera, cambiando únicamente las notas.
10
Revisar el Apéndice C Especificación de las notas del banco de percusiones MIDI.
16 CAPÍTULO 2. DISEÑO DE SOFTWARE

note_on(0xA,0x1A, 0x7F);

{
putc(0x9A);
putc(0x1A);
putc(0x7F);
}

note_off(0xA,0x1A, 0x0);

{
putc(0x9A);
putc(0x1A);
putc(0x0);
}

2.4. Sintetizador
Como Air MIDI-Drum cumple con los estatutos de General MIDI, se puede utilizar
cualquier sintetizador que cumpla con el estándar MIDI. En nuestro caso ocupamos una
computadora como sintetizador. Para realizar la comunicación entre Air MIDI-Drum y
la computadora utilizamos una interfase MIDI-USB como se muestra en la Figura 2.2.
La aplicación encargada de controlar y hacer la sı́ntesis de los mensajes transmitidos por
Air MIDI-Drum es el software Garage Band Figura 2.3.

Figura 2.2: Interfase MIDI-USB.


2.4. SINTETIZADOR 17

Figura 2.3: Aplicación Garage Band.


18 CAPÍTULO 2. DISEÑO DE SOFTWARE
Capı́tulo 3

Diseño de Hardware

En este capı́tulo se presenta la construcción de los elementos que conforman a Air MIDI-
Drum, ası́ como la interacción entre cada uno de ellos para su funcionamiento.

3.1. El soporte

El soporte escogido para contener los componentes de Air MIDI-Drum es una esfera
metálica de 10 cm de diámetro, y sobre todo para darle una imagen atractiva e inno-
vadora al proyecto. En la esfera se realizaron los barrenos necesarios para dar cabida al
sensor SRF05, el puerto de transmisión de datos MIDI, el puerto de comunicación RJ-45
y para el puerto de alimentación USB A hembra.
En la Figura 3.13 se muestra el acabado final del chasis de Air MIDI-Drum.

Figura 3.1: Vista frontal y trasera del Chasis Terminado.

19
20 CAPÍTULO 3. DISEÑO DE HARDWARE

3.2. PCB del núcleo principal


Comprobando el correcto funcionamiento del sistema operativo programado en el
microcontrolador 18f4520 en una placa de pruebas, procedimos al diseño del impreso para
el circuito. El circuito mostrado en la Figura 3.3, muestra el conexionado correspondiente
de los periféricos, el puerto de comunicaciones, y la toma de alimentación.
El diseño del PCB (Printed Circuit Board) cuenta con las dimensiones óptimas
para posicionar el sensor SRF05, los puertos de control, comunicaciones y alimentación
dentro del chasis. Sin embargo del diseño del PCB, Figura E.1, cuenta con terminales de
conexión extras no utilizadas, para tener puertos auxiliares de comunicación o control
de otros sensores. Solo bastará con cargar un programa modificado al microcontrolador
para poder utilizarlos 1 .
Como se puede apreciar en la Figura 3.2, las terminales de conexión están colocadas
únicamente en los puertos utilizados por el Sistema Operativo.

Figura 3.2: PCB de control de Air MIDI-Drum.

1
Revisar el apartado de Trabajos Futuros en el las Conclusiones.
3.2. PCB DEL NÚCLEO PRINCIPAL 21

Figura 3.3: Diagrama del Módulo de control del núcleo principal.


22 CAPÍTULO 3. DISEÑO DE HARDWARE

3.3. PCB de conexiones


Dentro de las especificaciones de Air MIDI-Drum 2 se encuentran 3 tipos de cone-
xiones con el PCB de control:

Puerto de alimentación.

Puerto de transmisión de datos.

Puerto de comunicaciones.

3.3.1. Puerto de alimentación

Debido a la portabilidad y al diseño compacto de Air MIDI-Drum, se colocó un


conector de alimentación USB A (Universal Serial Bus) tipo hembra, Tabla 3.1. El
voltaje requerido para el microcontrolador es de 4 a 5 V, trabajando a una frecuencia
a 20 MHz. El estándar USB A, para los voltajes de alimentación del protocolo nos
permitió acoplarnos con la alimentación de nuestro circuito. Sin embargo, únicamente
se emplearon 2 pines Vcc y Gnd, Figura 3.4.

Figura 3.4: Convertidor de corriente.

Gracias a la popularidad de este conector, podemos ocupar una diversidad de dis-


positivos como fuente de alimentación, en este caso se empleo un convertidor de corriente
de pared a USB , el cuál tiene la siguiente especificación:

Entrada: 100 a 240V AC con una frecuencia de 50 a 60 Hz, y 0.1 A

Salida: 5V± 0.5V DC 500mA±50mA

Únicamente ocuparemos las terminales de alimentación y tierra, 1 y 4 respectiva-


mente.
2
Revise las caracterı́sticas técnicas de Air MIDI-Drumm en la última sección del Capı́tulo 4.
3.3. PCB DE CONEXIONES 23

Figura 3.5: Conector USB-B montado en el soporte.

Tabla 3.1: Caracterı́sticas de un conector USB B.

Terminal Nombre Color del cable Descripción


1 VCC Rojo +5v
2 D- Blanco Data -
3 D+ Verde Data +
4 GND Negro Tierra

3.3.2. Puerto de transmisión de datos

Tomando en consideración la especificación del hardware MIDI se coloco un puerto


de transmisión de datos, este es un conector de tipo DIN de 5 terminales hembra, Figura
3.6, las cuales solo se implementan 3, los dos restantes son par blindaje, la resistencia
de 220Ω que necesita en la terminal de transmisión se encuentra incluida en el PCB
de control, simplificando la interconexión entre la terminal de transmisión RC6 del
microcontrolador y y la terminal Tx del conector a través del circuito impreso.

Figura 3.6: Conector DIN de 5 terminales.


24 CAPÍTULO 3. DISEÑO DE HARDWARE

Tabla 3.2: Caracterı́sticas de un conector DIN Hembra.

Terminal Descripción
1 NC
2 GND
3 NC
4 VCC
5 TX

3.3.3. Puerto de comunicaciones

El conector hembra RJ-45 de la Figura 3.7 está compuesto por 4 pares de terminales
de transmisión, de los cuáles se ocuparon 2, correspondientes a Vcc, Gnd, S1 y S2.
S1 y S2 son las terminales dedicadas a las señales de estado emitidas por el módulo3 ,
y a su vez generados por los pedales. La interconexión entre el Módulo de control del
núcleo secundario y el Módulo de control del núcleo principal está dada por un patch
cord 4 en modalidad T568B.
Las terminales están interconectados al PCB por las terminales de conexión (headers
macho), como se ha expuesto, conforman las terminales de expansión que se pueden
aprovechar del circuito del control, e interconectar a las terminales restantes de la sección
correspondiente a la placa de puertos.

Figura 3.7: Conector RJ-45 hembra. Figura 3.8: Headers tipo macho y conec-
tor molex slim.

Los tres puertos de comunicación están soldados a un PCB dedicado, con el propósito
de usar terminales macho para poder interconectar con cables de conectores del tipo

3
Revisar la sección 4.4.1. Módulo de control del núcleo secundario.
4
Segmento de 3 metros de cable UTP categorı́a 5e.
3.4. PEDALES 25

molex slim al circuito de control, además de facilitar el desarmado entre ambas placas,
como se muestra en la Figura 3.9.

Figura 3.9: Placa de conexión para los Puertos.

Como se ha mencionado en este capı́tulo, para nuestra comodidad, y aprovechando


la manera en como se accesa al interior del chasis, todos los PCB’s fueron diseñados
para poderse conectar o desconectar de manera sencilla. Se empleó cable calibre 22 con
los conectores del tipo molex slim de diferentes dimensiones. Esto es para optimizar
el mantenimiento del sistema, sin dañar los PCB’s o algún dispositivo, realizando los
cambios correspondientes.

Figura 3.10: Interconexionado de Air MIDI-Drum.

3.4. Pedales
Partiendo del diseño atractivo de Air MIDI-Drum, los pedales poseen una forma
ergonómica, y sus dimensiones son pequeñas, 16 × 8.5cm pero cumplen el objetivo de
26 CAPÍTULO 3. DISEÑO DE HARDWARE

utilizarse con los pies de manera sencilla y de ser resistentes como lo serı́a un pedal
convencional. Los pedales están fabricados en acrı́lico de 6 mm de espesor, que es un
material resistente y ligero, forrados por vinil adherible con textura de fibra de carbono.

Figura 3.11: Pedales Bombo y Hi-Hat de Air MIDI-Drum.

Una de las problemáticas al realizar este dispositivo y como sus componentes son
intangibles, fue la creación de las interfaces para los pedales. Como se ha explicado la
baterı́a está conformada por pedales: bombo y los platillos de contratiempo (Hi-Hat)
respectivamente, que permiten componer bases rı́tmicas y que también enriquecen el
sonido de la baterı́a en un determinado género o estilo propio del baterista. La manera
en que los músicos se acoplan a sus pedales es muy aleatoria, esto varia entre la técnica,
maña o posibilidad para poder tocarlos.

Figura 3.12: Sensor CNY70 y puerto mini USB.


3.4. PEDALES 27

3.4.1. Módulo de control del núcleo secundario.

Se optó por construir un par de pedales que permitieran hacer una interfase gestual
más cómoda entre el instrumento y el ejecutante, brindando la impresión de que se
está tocando un pedal convencional, ya que iba a ser un poco incomodo el tocar con el
pie en forma inclinada en el aire y dar la pisada para generar algún sonido. Se procedió ha
diseñar un circuito que permitiera transformar la respuesta analógica a una respuesta
digital 0 o 1 lógico, apagado o encendido respectivamente, esto es por la respuesta
analógica de los sensores colocados en los pedales y con niveles de voltaje inferiores a los
necesarios para alcanzar a comunicar algún estado lógico con nuestro núcleo principal.

Figura 3.13: Vista frontal y trasera del módulo secundario.

El circuito propuesto está conformado por un amplificador operacional LM358 de


bajo consumo, implementado en su fase comparador simple. Esta configuración nos
ayuda a generar estados lógicos con niveles TTL (Transistor-Transistor Logic)5 a partir
de un voltaje variable de una señal analógica; en su caso esta señal proviene de los
sensores CNY70, dichos niveles TTL son introducidos a un microcontrolador auxiliar
(16F88 ) el cual se encargará de hacer un circuito anti-rebotes y enviar datos sobre el
estado de los pedales al núcleo principal.
Una de las razones de no utilizar un sensor de presión es el desgaste por uso que
esté sufrirı́a, el sistema mecánico que lo conforma está propenso a fallar después de unas
sesiones de trabajo.

5
Voltaje de alimentación caracterı́stico, que se encuentra comprendido entre los voltajes 4.75V y
5.5V.
28 CAPÍTULO 3. DISEÑO DE HARDWARE

Figura 3.14: Diagrama del Módulo de control del núcleo secundario.


3.4. PEDALES 29

Funcionamiento

Tomando en cuenta que el sistema esta alimentado y listo para ser tocado, el sensor
óptico CNY70 estará funcionando y comenzará en el estado 0 lógico, debido a que
no existe una superficie reflectiva que incida dentro del rango del transmisor infrarojo,
este caso significa que el ejecutante no ha presionado el pedal, la superficie reflejante
corresponde a la cara inferior de la placa donde se pisa el pedal.
En otro caso cuando el ejecutante presione cualquiera de los dos pedales, el fototran-
sistor captará el haz infrarojo reflejado, el cual lo polarizará y enviara un nivel de voltaje
al amplificador operacional, para que este a su salida mande un pulso correspondiente
al estado 1 lógico.
Los estados lógicos son enviados al microcontrolador auxiliar (16F88 ) el cual tiene
programado un software encargado de hacer un circuito de anti-rebotes, este microcon-
trolador se encuentra en el Módulo de control del núcleo secundario. Dicho circuito surge
de la respuesta que tiene un interruptor al ser presionado, ya que este nos puede generar
estados falos, esto significa que no se active o se quede activado e incluso lo haga varias
veces. En nuestro caso se ocupó este pequeño sistema para poder generar solamente un
pulso a partir de que el ejecutante active el sensor, esto quiere decir: si el ejecutante
presiona el pedal y deja el pie en la misma posición solamente se enviará un pulso al
núcleo principal y este a su vez enviará un mensaje MIDI, este sistema evita que se repita
indefinidamente el mensaje MIDI correspondiente hasta que el ejecutante aparte el pie.
Por lo tanto es necesario retirar el pie y volver a presionar si se desea otro nuevo evento
MIDI. Sin embargo debido al diseño que muestra nuestro sistema y las limitaciones del
mismo no logramos construir un Hi-Hat convencional.
Este pedal produce tres sonidos distintos al interactuar con él, cuando se presiona
el pedal los platillos encontrados chocan entre si generando un sonido denominado como
pedal de Hi-Hat, otro sucede cuando se hace la acción anterior pero a la vez se golpea con
las baquetas el platillo superior, este sonido se conoce como Hi-Hat cerrado, el tercer y
último sonido es cuando no se ocupa el pedal y se golpea directamente el platillo superior
con las baquetas, este sonido es conocido como Hi-Hat abierto.
30 CAPÍTULO 3. DISEÑO DE HARDWARE

Teniendo el conocimiento de este funcionamiento amoldamos nuestro prototipo,


funciona de manera similar a una baterı́a convencional, pero con la única distinción
de que no es necesario mantener el pedal presionado para abrir o cerrar el Hi-Hat y
pasar la baqueta por el sensor ultrasónico para que este cambie el sonido deseado, por
lo tanto hay que activar y desactivar la apertura o cierre del instrumento y por último
el sonido del pedal de Hi-Hat es producido cuando se presiona solamente el pedal. La
intercomunicación entre los pedales y el módulo de control es a través de conectores y
cables miniUSB-USB, a su vez la comunicación de este módulo con el núcleo principal es
a través de conectores RJ45 y un patch cord UTP(Unshielded Twisted Pair ) categorı́a
5e.

3.5. Tapete de instrumentos guı́a

Debido a la realidad virtual que presenta Air MIDI-Drum el primer acercamiento


para un ejecutante tradicional de baterı́a puede provocar confusion, ya que la distribución
espacial que ofrece el sensor ultrasónico es distinta a como se organiza una baterı́a
acústica tradicional.

Figura 3.15: Tapete guı́a de Air MIDI-Drum.

Este tapete tiene el objetivo de guiar al ejecutante para que a este le sea más sencillo
y rápido encontrar los elementos de la baterı́a al momento de tocar. Sin embargo también
es ocupado para sujetar el módulo de control y organizar los cables de comunicación sin
dejar a un lado el diseño atractivo en conjunto de todos los sistemas que conforman
3.6. CONECTORES 31

Air MIDI-Drum, aunque no se descarta la idea que este tapete sea removido cuando el
ejecutante tenga cierto grado de experiencia y práctica con el instrumento.

3.6. Conectores
Los conectores y cables que emplea AIR MIDI-Drum para la conexión entre dis-
positivos son:

Conector MIDI.

Conector y cable Mini USB y USB.

Conector RJ45 y cable UTP.

Conector USB B.

El motivo de utilizar diferentes tipos de cables y conectores fué para dar un respaldo
a la durabilidad y sugesión de los módulos que conforman a Air MIDI-Drum, empleando
cables y conectores dedicados a la transmisión de datos, sin embargo existen otros mo-
tivos y uno de los más importantes es que todos los cables están blindados, esto atenúa
de manera considerable el ruido externo y la transmisión de señales entre dispositivos es
óptima, asegurando el funcionamiento correcto de todo el sistema.

3.7. Caracterı́sticas técnicas de Air MIDI-Drum


Las caracterı́sticas técnicas de Air MIDI-Drum están descritas en la Tabla 3.3 y su
patrón de radiación se muestra en la Figura 3.16.
32 CAPÍTULO 3. DISEÑO DE HARDWARE

Tabla 3.3: Caracterı́sticas de la Baterı́a Air MIDI-Drum.

Caracterı́sticas Air MIDI-Drum


Alimentación 5 V DC
Frecuencia de operación 40 MHz (PLL)
Fuentes de Interrupción TX, SRF05, CNY70
Comunicación Serial USART Mejorado
Velocidad de transmición 31250 Bauds/s
RESETS Si
Puertos De transmisión MIDI
De comunicación RJ-45
De alimentación USB Hembra

Figura 3.16: Patrón de radiación del sensor ultrasónico de Air MIDI-Drum.


Capı́tulo 4

Pruebas y resultados

Las pruebas se realizaron en el laboratorio de metrologı́a y en el estudio de grabación


de la academia de Acústica de la Escuela Superior de Ingenierı́a Mecánica y Eléctrica
del Instituto Politécnico Nacional. Los músicos que participaron en la realización de las
pruebas fueron Rubén Javier Rodriguez Hernández y Alfredo Pacheco Loyola.
Dentro del Estudio de Grabación se realizaron las primeras pruebas de Air MIDI-
Drum, estas con el objetivo de revisar el funcionamiento del sistema operativo AMDOS
y la detección de fallos en el hardware cuando existe un instrumentista.

4.1. Prueba de AMDOS


La prueba de desempeño de AMDOS se realizó mientras el músico tocaba un ritmo
básico, el objetivo fué la revisión de la administración de los periféricos que posee AIR
MIDI-Drum principalmente los sensores, en la rapidez de sensado del sensor ultrasónico
y el ajuste de sensibilidad para los sensores ópticos, además el revisar la transmisión de
los mensajes MIDI correspondientes a la parte tocada por el músico.
Con esta prueba se realizaron los siguientes cambios:

Sensado único por parte del sensor ultrasónico por cada vez que se interfiera el
pulso. Es decir que solamente se generará un sonido a partir de que se interfiera
en el haz del sensor.

Se agregó un nuevo mensaje MIDI. Este por observación del músico, mencionó que
faltaba el sonido cuando los Hi-Hat estaban cerrados y se le golpeaba con las

33
34 CAPÍTULO 4. PRUEBAS Y RESULTADOS

baquetas, por ello además se realizó el cambio en el programa para que respondiera
este mensaje cuando se presionaba el pedal del Hi-Hat y se interviniera el pulso
ultrasónico en la distancia correspondiente del Hi-Hat.

Se ajustó la sensibilidad de los sensores ópticos para una mejor ejecución.

Figura 4.1: Pruebas de AMDOS.


4.2. PRUEBA DE HARDWARE 35

4.2. Prueba de Hardware


La prueba en el Hardware se realizó mientras el músico tocaba libremente, el objeti-
vo fué localizar posibles fallas principalmente en los pedales, ya que estos son presionados
constantemente, también el colocar el sensor ultrasónico de manera óptima para como-
didad del músico.
Con esta prueba se realizaron los siguientes cambios:

Se cambiaron las bisagras de los pedales para aumentar su resistencia y permitir


un mejor cierre.

Se colocaron cables USB-miniUSB de la misma marca.

El sensor ultrasónico se colocó de manera vertical para reducir el patrón de ra-


diación hacia el músico.

También se realizaron las siguientes pruebas: una prueba de resistencia, en el que


todo el sistema de Air MIDI-Drum se dejó encendido por 8 horas, y se revisaba cada 15
minutos que siguiera funcionando correctamente y la medición aproximada al patrón de
radiación de la baterı́a.
En el estudio de grabación se realizó la prueba comparativa entre Air MIDI-Drum
y una baterı́a acústica, en esta prueba intervino la manera de tocar cada instrumento y
el sonido caracterı́stico obtenido. Esta comparación la realizó Rubén Javier Hernández
Rodrı́guez al tocar el mismo ritmo en ambas baterı́as, ası́ como al ir tocando cada parte
de manera individual, estas son sus observaciones:
“El sistema me llamó mucho la atención por que es innovador, pero al principio
me sentı́ desconcertado al comenzar a tocar, pero una vez que le agarras el modo es muy
emocionante. Una de las principales diferencias con respecto a una baterı́a acústica es
el sonido, en Air MIDI-Drum el sonido se escucha con la misma fuerza y sólo entre-
ga el sonido del golpe a un parche de una baterı́a acústica, además no puede entregar
dos sonidos de diferentes instrumentos al mismo tiempo. Lo que me gustó mucho es su
portabilidad, ya que si la comparas con el tamaño de una baterı́a normal te quedarás sor-
prendido de su tamaño tan reducido, y que por que es digital puedes tener diferentes kits
36 CAPÍTULO 4. PRUEBAS Y RESULTADOS

Figura 4.2: Pruebas de hardware.

de baterı́a al mismo tiempo. Algo que le cambiarı́a serı́a que fuera más corta la distancia
entre cada uno de los instrumentos, para alcanzar con facilidad todos los componentes,
y le agregarı́a más platillos. Les agradezco la posibilidad de probar este instrumento, fue
muy emocionante e interesante, ya que es la primera vez que toco un instrumento imag-
inándolo en el aire, además de que como ya he mencionado, me gustó mucho que fuera
portátil y del ahorro de espacio, si veo una de estas seguro la compro.”

Para una comparación más profunda se grabó el audio de ambas baterı́as del mismo
ritmo ası́ como la toma de capturas de video. Los resultados obtenidos son:

El interprete al tocar la baterı́a acústica aunque toque el mismo ritmo varias veces
no siempre percute de la misma manera, esto provoca que haya variaciones en el nivel de
sonido, generando distintos matices. En Air MIDI-Drum el sonido siempre es el mismo
sin importar la velocidad a la que el ejecutante toca, esto limita la diversificación de
sonidos que puede generar este instrumento. Otra de las limitantes que posee Air MIDI-
Drum es la incapacidad de tocar dos componentes al mismo tiempo, no se puede tocar
cualquiera de los pedales al mismo tiempo, ni un pedal combinado con el sensor.
4.2. PRUEBA DE HARDWARE 37

Una de las ventajas que posee Air MIDI-Drum es su tamaño reducido, esto lo hace
extremadamente portable, además dependiendo del sintetizador ó software utilizado se
puede generar un realismo, esto brinda la posibilidad de cambiar el banco de sonido del
instrumento dependiendo del género que se toque; esto es que la misma baterı́a funcione
para jazz, rock, hip-hop, entre otros.

Figura 4.3: Imagen del músico tocando la baterı́a acústica.


38 CAPÍTULO 4. PRUEBAS Y RESULTADOS

Figura 4.4: Imagen del músico tocando Air MIDI-Drum.


Conclusiones

Air MIDI-Drum no es un sustituto de una baterı́a acústica ni electrónica, es una pro-


puesta distinta para crear música.
Durante el desarrollo de Air MIDI-Drum tuvimos que adaptarnos a los problemas
presentados por hardware y software, los cuáles abarcaban desde el diseño de un software
que sincronizará el envió de datos MIDI del sensor ultrasónico y ambos pedales a la
PC, además de que realizara la administración de las diversas tareas que controlan los
recursos y los periféricos del sistema, esto dió como resultado la creación de AMDOS,
para el diseño de hardware fue necesario encontrar soluciones sencillas que se adaptaran
a las necesidades del diseño original, sin prescindir del presupuesto disponible para la
adquisición de diversos materiales, como el tripie, el tapete y los pedales.
Se querı́a que la baterı́a fuera totalmente autónoma y que se tocaran varios tam-
bores y platillos al mismo tiempo, esto no se logró, ya que es necesario emplear una
computadora para realizar la sı́ntesis de los mensajes MIDI, y por la manera en como
utilizamos los dispositivos no es posible tocar varios tambores y platillos a la vez. Lo que
si se logró y gracias a que el protocolo MIDI está estandarizado y que nuestro dispositivo
cumple con él, es posible utilizar cualquier interfaz o dispositivo de sı́ntesis que cumpla
con este mismo, desde una simple caja de ritmos, un sintetizador, una computadora o
incluso sistemas móviles como los smartphones siempre y cuando cuenten con la interfaz
necesaria.
Air MIDI-Drum es una alternativa de una baterı́a electrónica, que gracias a los
sensores que posee, se pueden adoptar distintas formas para ser empleada, sin descartar
a las existentes. Lo que provoca esta posibilidad es el sensor ultrasónico que utiliza, pero
lleva consigo algunas desventajas, una de las más importantes es el patrón de radiación

39
40 CONCLUSIONES

que no es del todo directivo, el cual no logramos controlar, esto provoca confusión al mo-
mento de tocar, porque puede generar sonidos incidentalmente propios del movimiento
normal del ejecutante, otra desventaja es que el sensor simplemente detecta las distancias
descartando la velocidad de ataque del instrumentista, limitando la diversidad sonora
del instrumento.
Uno de los objetivos al construir este instrumento fue el que tuviera un diseño
atractivo, mismo que se alcanzó al construirlo y se comprobó al mostrarlo en público en
el 18◦ Congreso Internacional Mexicano de Acústica.
Gracias a los conocimientos adquiridos en el desarrollo de Air MIDI-Drum, pode-
mos crear diversos instrumentos digitales siempre y cuando existan las notas MIDI y el
banco de sı́ntesis del mismo, por supuesto estos cambiarán el modo tradicional de ser
ejecutados.
Debido a los resultados obtenidos en las pruebas nos percatamos de posibles mejoras
en nuestro instrumento, las cuales serán el implementar un sensor de aceleración para
que este capte la velocidad de ataque del ejecutante, haciendo que la baterı́a tenga
una sensación más realista al ser utilizada, el cambio del sensor SRF05 por un sensor
ultrasónico SRF02 que posee cualidades más directivas, también la utilización de otro
sensor para separar los platillos de los tambores, lo que provocarı́a el incremento del
tamaño de nuestro instrumento y ası́ enriquecer el sonido, además de introducir un
circuito integrado moderno capáz de sintetizar los mensajes MIDI, lo que aumentará la
portabilidad del instrumento y una independencia parcial de un sintetizador externo, ya
que con este dispositivo sólo bastará con colocar un sistema de amplificación para poder
escuchar el sonido.
Bibliografı́a

[1] Ko*ciš Štefan; Figura Zdenko . Ultrasonic measurements and technologies, Chap-
man & Hall, New York, E.U. 1996. 218 pgs.
[2] Palacios Enrique et al. Microcontrolador PIC16F84 Desarrollo de proyectos,Ed.
RA-MA, España, 2004. 623 pgs.
[3] Garcı́a Breijo Eduardo. Compilador C CCS y simulador PROTEUS para Micro-
controladores PIC, Alfaomega Grupo Editor, México, 2008. 263 pgs.
[4] Miles Huber David. The MIDI Manual, SAMS, E.U. 1993. 268 pgs.
[5] R.A. Penfold. MIDI avanzado. Guı́a de usuario., Ed. RA-MA, España, 1992. 208
pgs
[6] Jordá Puig Sergi. Audio digital y MIDI,Guı́as Monográficas Anaya Multimedia,
Madrid, 1997. 229 pgs.
[7] Penagos Plazas Juan Ricardo. Como programar en lenguaje C los microcontro-
ladores PIC16F88, 16F628A y 16F877A, e-book, 2010. 138 pgs.
[8] Custom Computer Services, Inc.C Compiler Reference Manual. E.U. 2011. 381
pgs.
[9] Microchip Technology Incorporated. PIC18F2420/2520/4420/4520 Data Sheet.
E.U. 2008. 412 pgs.
[10] Devantech Ltd Industrial Electronic Systems. SRF05 - Ultra-Sonic Ranger. Tech-
nical Especification. 2010. 4 pgs.

41
42 BIBLIOGRAFÍA
Apéndice A

Caracterı́sticas técnicas de los


dispositivos

A.1. Microcontrolador 18F4520


Las caracterı́sticas técnicas del microcontrolador están descritas en la Tabla A.1 y la
Figura A.1 muestra la distribución de las terminales del mismo [9].

Figura A.1: Diagrama de las terminales del PIC18F4520.

43
44 APÉNDICE A. CARACTERÍSTICAS TÉCNICAS DE LOS DISPOSITIVOS

Tabla A.1: Caracterı́sticas del PIC18F4520.

Caracterı́sticas PIC18F4520
Frecuencia de operación DC — 40 MHz
Memoria del programa (Bytes) 32768
Memoria del programa (Instrucciones) 16384
Datos de la memoria (Bytes) 1536
Datos de la memoria EEPROM (Bytes) 256
Fuentes de interrupción 20
Puertos I/0 Puertos A,B,C,D,E
Timers 4
Módulos de Captura/Compara/PWM 1
Módulos Mejorados de Cap- 1
tura/Compara/PWM
Comunicación Serial MSSP, USART Mejorado
Comunicación Paralela (PSP) Si
Módulo Analógico–Digital de 10 bits 13 Canales de entrada
RESETS (y Retardo) POR, BOR,
Instrucciones de RESET,
Pila completa,
Sobreflujo en la pila (PWRT,OST),
M CLR(opcional),
WDT
Detección programable de Alto/Bajo-Voltaje Si
Programable Brown-out Reset Si
Set de instrucción 75 Instrucciones;
83 Instrucciones Extendidas
Terminales 40-Pin PDIP
44-Pin QFN
44-Pin TQFP
A.2. SENSOR SRF05 45

A.2. Sensor SRF05


Las caracterı́sticas técnicas del sensor SRF05 son mostradas en la Tabla A.2.

Tabla A.2: Caracterı́sticas técnicas del sensor SRF05.

Parámetro Valor Unidad


Dimensiones del circuito 43 x 20 x 17 mm
Tensión de alimentación 5 Vcc
Frecuencia de trabajo 40 KHz
Distancia Máxima de medición 4 m
Distancia Mı́nima de medición 1.7 cm
Duración mı́nima del pulso de disparo (nivel 10 µs
TTL)
Duración del pulso ECO de salida (nivel TTL) 100-25000 µs
Tiempo mı́nimo de espera entre una medida y 20 ms
el inicio de otra

El módulo emplea tan sólo 5 terminales de conexión 2 de alimentación y 2 de


comunicación a nivel TTL, estas se muestran en la Figura A.2 y se describen en la Tabla
A.3.

Figura A.2: Terminales de conexión del sensor SRF05


46 APÉNDICE A. CARACTERÍSTICAS TÉCNICAS DE LOS DISPOSITIVOS

Tabla A.3: Descripción de las terminales del sensor SRF05

Terminal Descripción
+5Vcc Tensión positiva de alimentación.
ECO Salida del pulso cuya anchura determina el tiempo
del recorrido de la señal ultrasónica.
Disparo Entrada de inicio de una nueva medida. Se aplica
un pulso con una duración mı́nima de 10µs.
Modo (N.C) Sin conexión se selecciona el modo 1 de compatibi-
lidad con SRF04. Conectado a GND se selecciona
el modo 2 de trabajo.
GND Tierra de alimentación.
Apéndice B

MIDI

MIDI es el acrónimo de Musical Instruments Digital Interface y es un protocolo de


comunicaciones establecido en 1983 y esta dedicado a la comunicación entre instrumentos
musicales digitales [4]. Los datos son enviados de manera ası́ncrona a una sola dirección
con una velocidad de 31250 bauds mediante un cable MIDI.

B.1. Los canales MIDI


MIDI permite que los mensajes se envı́en a través de dieciséis canales diferentes.
Estos canales no corresponden a conexiones fı́sicas separadas, ya que comparten un único
cable, sino más bien a direcciones lógicas.

B.2. Mensajes MIDI


Todo mensaje MIDI se compone de un primer bite de status (que determina el tipo
de mensaje) y uno o dos bytes de datos restantes (dependiendo del tipo de mensaje).
Aunque la comprensión exhaustiva de todo el código MIDI no es prioritaria para
el músico, un cierto conocimiento de este código, facilita la configuración de los equipos
MIDI y favorece la óptima utilización del sofisticado software actual.

B.2.1. Estructura de un mensaje MIDI


Todo mensaje MIDI se compone de un primer byte de status (que determina el tipo
del mensaje) y uno o dos bytes restantes de datos (dependiendo del tipo de mensaje).
En el byte de status, tan solo tres, de los siete bits disponibles (no olvidemos que
el más significativo está siempre a 1), son los que determinan el tipo de mensaje. Los
cuatro restantes indican el canal al que el mensaje va dirigido, lo que explica porque son
dieciséis (24 ) los canales MIDI posibles. En la Figura B.1 se puede apreciar la estructura
binaria de un mensaje genérico.

B.2.2. Tipos de mensajes


De lo dicho hasta ahora se deduce que pueden existir ocho (23 ) tipos de mensaje
diferentes, que se detallan en Tabla B.1.
Donde:

47
48 APÉNDICE B. MIDI

Figura B.1: Estructura binaria de un mensaje MIDI.

Tabla B.1: Cuadro sinóptico de los mensajes MIDI.

Nombre Binario Hex. Data1 Data2


Note Off 1000 nnnn 8N altura velocidad
Note On 1001 nnnn 9N altura velocidad
Poly. Aftertouch 1010 nnnn AN altura presión
Control Change 1011 nnnn BN tipo de control intensidad
Chan. Aftertouch 1100 nnnn DN presión
Pitch Bend 1101 nnnn DN MSByte LSByte
Program Change 1110 nnnn EN programa
System Message 1111 xxxxx FX

nnnn son los cuatro bits que determinan el canal al que se aplica el mensaje, de
forma que 0000 es el canal 1, y 1111 el canal 16.
N corresponde al carácter hexadecimal de este canal (0-F).
Todos los bytes de datos tienen una resolución de siete bits, con valores decimales
comprendidos entre 0 y 127.
Cuando en la tabla el segundo byte de datos está en blanco (Channel Aftertouch
y Program Change), significa que el mensaje utiliza un único byte de datos.
En el mensaje Pitch Bend, los dos bytes de datos se combinan para formar un
único valor con catorce bits de resolución, comprendido entre –8192 y +8191.
Los mensajes de sistema poseen una estructura diferente y no se aplican a ningún
canal en particular.
Es muy importante destacar que un dispositivo MIDI no tiene porque manejar todos
los mensajes; son pocos los teclados capaces de emitirlos todos, y pocos los sintetizadores
capaces de entenderlos. Cuando un dispositivo MIDI recibe un mensaje que no es capaz
de interpretar, simplemente lo ignora y (si dispone de un puerto MIDI THRU) lo reenvı́a
al igual que cualquier otro mensaje.

Los mensajes de canal


Reciben esta denominación todos los tipos de mensajes que actúan sobre un único
canal a la vez (que viene determinado por los cuatro bits menos significativos del byte
de status). Estos mensajes conforman, tal como se puede apreciar en la Tabla B.1, la
gran mayorı́a de los mensajes MIDI.
Note On
Este mensaje le indica al dispositivo, que debe iniciar una nota. Es generado cuando
desde un teclado MIDI se aprieta una tecla.
B.2. MENSAJES MIDI 49

El primer byte de datos indica la altura de la nota, de lo que se deduce que el


MIDI contempla 128 posibles notas, siendo la 0 la nota más grave y la 127 la
más aguda. Teniendo en cuenta que existen doce notas por octava, el MIDI tiene
pues una tesitura de más de diez octavas (un piano de cola sólo tiene siete) que
sé corresponde aproximadamente con el número de octavas que el oı́do humano es
capaz de captar.
El segundo byte indica la velocidad de ataque, que viene determinada por la fuerza
con que se ha apretado la tecla. Este parámetro se asocia normalmente con la
intensidad sonora, aunque en algunos sintetizadores puede modificar también el
timbre de la nota (como sucede con los instrumentos acústicos reales) haciendo
que, por ejemplo, a mayor velocidad suene más brillante. La velocidad 0 tiene
un carácter especial, pues no corresponde a una nota ”que no se oye”, sino que
funciona en realidad como interruptor de apagado, desactivando la nota indicada,
si es que estuviera sonando.
Note Off
Funciona de forma similar al Note on con velocidad 0, por lo que se envı́a cuando
se libera la tecla pulsada.
El primer byte es la altura de la nota.
El segundo byte es la velocidad de liberación.
La inmensa mayorı́a de dispositivos no generan ni responden a la velocidad de
liberación, por lo que es un mensaje muy poco utilizado. En su lugar, cuando se libera una
tecla, la mayorı́a de teclados envı́an Note On con velocidad 0, que todos los sintetizadores
entienden. Cuando se utiliza, la velocidad de liberación podrı́a afectar a la forma en que
desaparece el sonido.

B.2.3. Program Change (cambio de programa)


En MIDI se utilizan indistintamente los términos patch (parche) y programa, para
designar los diferentes sonidos disponibles en un sintetizador. Este mensaje modifica el
programa activo. Puede ser enviado desde los botones de un teclado, aunque hoy en dı́a
es más frecuente enviarlo desde el propio ordenador, editándolo en el secuenciador.
El único byte utilizado define un número de programa.
Algunos sintetizadores disponen de más de 128 programas diferentes. en estos casos,
los programas suelen agruparse en varios bancos, de hasta 128 programas cada uno. Para
permitir el acceso MIDI a esta paleta sonora superior, existe un mensaje especial dentro
de los de cambio control, denominado cambio de banco. Algunos sintetizadores numeran
sus sonidos comenzando por el 1 y terminando por 128. Esto puede presentar a confusión,
ya que el primer programa siempre corresponde al byte 0000 0000 y el último, al byte
0111 1111.

B.2.4. Bytes de status y bytes de datos


Hemos visto anteriormente que los mensajes MIDI se pueden enviar a través de
dieciséis canales distintos y que el número de posibles instrumentos que pueden gestionar
un mensaje de Program Change, es de 128. Estos valores corresponden ambos a potencias
de dos (24 y 27 respectivamente). Tal y como anticipábamos en las secciones pasadas, los
mensajes MIDI se componen de dos o tres bytes. Estos bytes se dividen en dos categorı́as,
bytes de status y bytes de datos, de acuerdo con el valor de su bit más significativo, que
50 APÉNDICE B. MIDI

en los primeros vale 1, mientras que en los bytes de datos está siempre a cero. Los siete
bits libres restantes, son pues los que condicionan que el número de posibles programas
en el mensaje de Program Change sea 128, y no 256, y lo mismo es aplicable a cualquier
otro mensaje: los datos MIDI están siempre comprendidos entre los valores decimales 0
y 127 (binarios 00000000 y 01111111).
Apéndice C

Especificación de las notas del banco


de percusiones MIDI

Las notas que utiliza Air MIDI-Drum son:


36 Bass Drum 1 (C).
38 Acoustic Snare(D).
42 Closed Hi-Hat (F#).
46 Open Hi-Hat (A#).
43 High Floor Tom (F).
47 Low-Mid Tom (B).
48 Hi-Mid Tom (C).
57 Crash Cymbal 2 (A).

51
52APÉNDICE C. ESPECIFICACIÓN DE LAS NOTAS DEL BANCO DE PERCUSIONES MIDI
Apéndice D

Software

D.1. Diagramas de flujo

Figura D.1: Diagrama Principal.

53
54 APÉNDICE D. SOFTWARE

Figura D.2: Diagrama de flujo de la librerı́a compare .

Figura D.3: Diagrama de flujo de la librerı́a midi.


D.2. CÓDIGO DE PROGRAMACIÓN 55

D.2. Código de programación


Código del programa principal.
#include "bios.h"
#include "compare.h"
#include "srf05.h"

void main()
{
load_bios();
set_midi(0x9,0xa);
delay_ms(100);
output_high(ON_LED);
for(;;)
{
output_high( TRIGGER );
delay_us( _TRIGGER );
output_low( TRIGGER );
srf05();
compare(intval);
break;
}
}
Código de programa de la librerı́a bios.h.

#include "18F4520.h"
#fuses NOWDT,PUT,NODEBUG,NOPROTECT,BROWNOUT,NOLVP,NOCPD,NOWRT
#use delay(clock=40M)
#use rs232(baud= 31250,parity=N,xmit=PIN_C6,Enable=PIN_A0)
#use fast_io(ALL)
#define _SRF05_TRIGGER PIN_B1
#define _SRF05_ECHO PIN_B0
#define ON_LED PIN_A1
#define _TRIGGER 10

int16 timervalue, intval;


int iCaptureFlag;
void load_bios();

void load_bios()
{
setup_timer_1( T1_INTERNAL|T1_DIV_BY_1);
setup_adc( ADC_OFF);
enable_interrupts(int_ext);
enable_interrupts( GLOBAL);
ext_int_edge(0,L_TO_H);
56 APÉNDICE D. SOFTWARE

SET_TRIS_C( 0b00000001 );
SET_TRIS_B( 0b00000000 );
SET_TRIS_D( 0b00000000 );
SET_TRIS_A( 0b00000010 );
SET_TRIS_E( 0b000 );
output_c( 0 );
output_b( 0 );
output_d( 0 );
output_a( 0 );
output_e( 0 );
}

#int_ext
void funcion_ext_int()
{
if( input( _SRF05_ECHO ))
{
set_timer(0);
ext_int_edge(0,H_TO_L);
}
else
{
timervalue=get_timer();
ext_int_edge(0,L_TO_H);
}
}

Código de la librerı́a compare.h.

void Compare(int16 intval);

void Compare(int16 intval)


{
if(intval>760&&intval<2044)
{
note_on(0x9, 0x2e, 0x7f);
note_off(0x9, 0x2e, 0x0);
}
else
if(intval>2336&&intval<3563)
{
note_on(0x9, 0x26, 0x7f);
note_off(0x9, 0x26, 0x0);
}
else
if(intval>3796&&intval<4847)
{
D.2. CÓDIGO DE PROGRAMACIÓN 57

note_on(0x9, 0x2f, 0x7f);


note_off(0x9, 0x2f, 0x0);
}
else
if(intval>4847&&intval<5899)
{
note_on(0x9, 0x30, 0x7f);
note_off(0x9, 0x30, 0x0);
}
else
if(intval>6191&&intval<7417)
{
note_on(0x9, 0x39, 0x7f);
note_off(0x9, 0x39, 0x0);
}
else
if(intval>7709&&intval<9111)
{
note_on(0x9, 0x2b, 0x7f);
note_off(0x9, 0x2b, 0x0);
}
}

Código de la librerı́a srf05.h.


void srf05();

void srf05()
{
if( input(iCaptureFlag))
{
iCaptureFlag = FALSE;
intval = timervalue*1.2;
}
}
58 APÉNDICE D. SOFTWARE
Apéndice E

Hardware

La Figura E.1 muestra el PCB utilizado para el núcleo principal de Air MIDI-Drum.

Figura E.1: Diseño de PCB del núcleo principal utilizando el software Eagle.

59
60 APÉNDICE E. HARDWARE

La Figura E.2 muestra el PCB utilizado para el núcleo secundario de Air MIDI-
Drum.

Figura E.2: Diseño de PCB del núcleo secundario utilizando el software Eagle.

Potrebbero piacerti anche