• No se han encontrado resultados

DISENO Y CONSTRUCCION DE UNA BATERIA MIDI

N/A
N/A
Protected

Academic year: 2017

Share "DISENO Y CONSTRUCCION DE UNA BATERIA MIDI"

Copied!
79
0
0

Texto completo

(1)

INSTITUTO POLIT ´

ECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIER´

IA MEC ´

ANICA Y EL ´

ECTRICA

DISE ˜

NO Y CONSTRUCCI ´

ON

DE UNA BATER´

IA MIDI

Tesis que presenta

Gerardo Mor´

ales Ram´

on

Jos´

e Alberto Mart´ınez Guti´

errez

Que para Obtener el T´ıtulo de

Ingeniero en Comunicaciones y Electr´

onica

En la Especialidad de

Ac´

ustica

Director de la Tesis: Dr. Maximino Pe˜na Guerrero. Codirector: Ing. Jos´e de Jes´us Negrete Redondo.

(2)
(3)
(4)
(5)

v

RESUMEN

A trav´es del tiempo, los instrumentos musicales han evolucionado hacia la creaci´on mu-sical, gracias a los avances t´ecnicos propios de cada ´epoca. 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´usica, esto tambi´en se refleja hacia los instrumentos musicales. Un instrumento musical ac´ustico regularmente deber´a estar constituido por los mejores materiales y acompa˜narse 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´usica 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´on, las dimensiones, la expresividad y son planteadas en su totalidad por el dise˜nador del instrumento. Se pretende dise˜nar y cons-truir una bater´ıa el´ectrica 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˜no y construcci´on 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´onico y un par de pedales encargados del Bombo y de los platillos de contratiempo respectivamente. El sensor ultras´onico es la interfaz gestual encargada de captar los movimientos del ejecutante, los elementos que captar´a 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´on del sensor.

(6)
(7)

vii

Agradecimientos

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

llegada a este mundo a trav´es de mis padres.

A mi familia por el apoyo siempre incondicional,

principal-mente a mis padres que con su esfuerzo, dedicaci´on, 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´as en la escuela tambi´en

en la vida.

A mis amigos por el tiempo que pasamos estudiando,

ju-gando, llorando y riendo, por compartir preocupaciones,

an-helos y sue˜

nos, pero sobre todo gracias por compartir sus vidas

conmigo.

A las escuelas que me formaron.

A mis profesores que por su dedicaci´on, su empe˜

no 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´omica para

mi formaci´on como ser humano y profesional, a todos mil

gracias, los largos a˜

nos de estudio, las incontables desveladas

y el esfuerzo realizado no fueron en vano y hoy tienen un gran

significado.

(8)
(9)

ix

Agradecimientos

En esta p´agina 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´as

encontrar´e la forma de agradecer su constante apoyo y

con-fianza, solo espero que comprendan que mis ideales, esfuerzos

y logros han sido tambi´en suyos e inspirados en ustedes.

Con agradecimiento y respeto

A mis profesores: Por guiarme a trav´es de mi formaci´on

como profesionista y de mostrarme que el trabajo duro

siem-pre asiem-premia.

Con cari˜

no y agradecimiento

A mis amigos: Por estar incondicionalmente a mi lado

ante la adversidad, impulsarme y apoyarme en la elaboraci´on

de este trabajo.

Al lector: Por tomarse el tiempo en leer las p´aginas de este

documento, son una peque˜

na muestra de que la creatividad es

una de las mejores herramientas que tiene un ingeniero y que

el limite lo define uno mismo.

(10)
(11)

xi

El futuro tiene muchos nombres. Para los d´ebiles 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´as acallen tu propia voz interior. Y, lo que es m´as importante, ten el coraje para hacer lo que te di-cen tu coraz´on y tu intuici´on.

(12)
(13)

´Indice general

Introducci´on 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´on SRF05 . . . 8

1.4. Sintetizador . . . 10

2. Dise˜no de Software 11 2.1. Adquisici´on de datos . . . 12

2.2. Control . . . 13

2.2.1. Interrupci´on por el sensor ultras´onico . . . 14

2.2.2. Interrupci´on por los Pedales . . . 14

2.3. Transmisi´on de datos . . . 15

2.4. Sintetizador . . . 16

3. Dise˜no de Hardware 19 3.1. El soporte . . . 19

3.2. PCB del n´ucleo principal . . . 20

3.3. PCB de conexiones . . . 22

3.3.1. Puerto de alimentaci´on . . . 22

3.3.2. Puerto de transmisi´on de datos . . . 23

3.3.3. Puerto de comunicaciones . . . 24

(14)

xiv ´INDICE GENERAL

3.4. Pedales . . . 25

3.4.1. M´odulo de control del n´ucleo secundario. . . 27

3.5. Tapete de instrumentos gu´ıa . . . 30

3.6. Conectores . . . 31

3.7. Caracter´ısticas t´ecnicas deAir MIDI-Drum . . . 31

4. Pruebas y resultados 33 4.1. Prueba deAMDOS . . . 33

4.2. Prueba de Hardware . . . 35

Conclusiones 39 Bibliograf´ıa 41 A. Caracter´ısticas t´ecnicas 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´on de las notas del banco de percusiones MIDI 51 D. Software 53 D.1. Diagramas de flujo . . . 53

D.2. C´odigo de programaci´on . . . 55

(15)

´Indice de figuras

1.1. Partes que componen a una bater´ıa ac´ustica. . . 6

1.2. Partes que componen a una bater´ıa electr´onica. . . 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 deAir MIDI-Drum. . . 11

2.2. Interfase MIDI-USB. . . 16

2.3. Aplicaci´onGarage 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 delM´odulo de control del n´ucleo 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´on para los Puertos. . . 25

3.10. Interconexionado de Air MIDI-Drum. . . 25

3.11. Pedales Bombo y Hi-Hat deAir MIDI-Drum. . . 26

3.12. Sensor CNY70 y puerto mini USB. . . 26

3.13. Vista frontal y trasera del m´odulo secundario. . . 27

(16)

xvi ´INDICE DE FIGURAS

3.14. Diagrama delM´odulo de control del n´ucleo secundario. . . 28

3.15. Tapete gu´ıa deAir MIDI-Drum. . . 30

3.16. Patr´on de radiaci´on del sensor ultras´onico deAir MIDI-Drum. . . 32

4.1. Pruebas de AMDOS. . . 34

4.2. Pruebas de hardware. . . 36

4.3. Imagen del m´usico tocando la bater´ıa ac´ustica. . . 37

4.4. Imagen del m´usico tocando Air MIDI-Drum. . . 38

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

A.2. Terminales de conexi´on 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˜no de PCB del n´ucleo principal utilizando elsoftware Eagle. . . 59

(17)

´Indice 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´ıaAir MIDI-Drum. . . 32

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

A.2. Caracter´ısticas t´ecnicas del sensor SRF05. . . 45

A.3. Descripci´on de las terminales del sensor SRF05 . . . 46

B.1. Cuadro sin´optico de los mensajes MIDI. . . 48

(18)
(19)

Introducci´

on

De forma universal en todas las culturas y pr´acticamente a lo largo de diversas ´epocas, la interpretaci´on de un instrumento musical ha estado ligada a la forma en como el int´erprete ejecuta el instrumento. En los ´ultimos a˜nos con el desarrollo de la tecnolog´ıa, se han creado instrumentos musicales que no necesitan de la ejecuci´on del int´erprete para producir el sonido, sin embargo siguen manteniendo una estrecha relaci´on con el movimiento del ejecutante.

A diferencia de la m´usica creada con instrumentos ac´usticos tradicionales, la m´usica digital no requiere de movimientos productores de sonido por parte del int´erprete. El sonido est´a previamente almacenado o es sintetizado en tiempo real y los movimientos que el int´erprete realiza sirven para activar el sonido pero no para producirlo f´ısica-mente. La uni´on tan estrecha que a lo largo de la historia de la m´usica ha acompa˜nado al movimiento y sonido, ha cambiado dr´asticamente en la era digital. A pesar de que los movimientos productores de sonido como tal, desaparecen del lenguaje t´ecnico del ins-trumento digital, se necesitan otras acciones que proporcionen al int´erprete 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´on sonora y un mapeado1 o relaci´on entre ambos, es decir, la interfaz que vincula al int´erprete 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´on entre acci´on y producci´on sonora

1

(20)

2 INTRODUCCI ´ON

se realiza de manera indirecta. Las posibilidades de relaci´on movimiento-sonido ofrecen muchas variantes. A la hora de dise˜nar un instrumento digital, cualquier movimiento puede traducirse en cualquier sonido, sin embargo, a pesar de esta libertad aparente-mente infinita, los dise˜nadores siguen manteniendo algunas relaciones tradicionales entre movimiento y sonido. A la fecha las bater´ıas ac´usticas est´an conformadas con tambores y platillos, los cu´ales generan el sonido al ser percutidos. Debido a los avances en la tec-nolog´ıa ahora se tienen bater´ıas electr´onicas capaces de simular el sonido de una bater´ıa ac´ustica, pero a´un necesitan del golpe para generar el sonido.

En esta tesis se presenta la implementaci´on de una bater´ıa el´ectrica llamada Air MIDI-Drum, que a diferencia de una bater´ıa ac´ustica o de una el´ectrica, 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´on obtenida por los movimientos del int´erprete y tres sensores; el de mayor importancia es un sensor ultras´onico, est´e se controla para determinar la posici´on lineal de los movimientos pro-ducidos por el interprete, que de acuerdo a la distancia en donde sense dicho movimiento ser´a el sonido producido, o mejor dicho, el mensaje MIDI enviado al sintetizador por el sistema operativo, los sensores secundarios son sensores ´opticos que se encuentran uno en cada pedal, estos solo necesitan de la alimentaci´on para comenzar a funcionar, pero requieren de un arreglo electr´onico para poder trabajar con su se˜nal de respuesta, al presionar cualquier pedal se producir´a un mensaje MIDI. Air MIDI-Drum posee un mapeado caracter´ıstico, el cual vincula un movimiento con un sonido, que corresponde a la asignaci´on de mensajes MIDI a la informaci´on proporcionada por los sensores. Los mensajes producidos por el sensor ultras´onico 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 ´opticos 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

(21)

INTRODUCCI ´ON 3

Los resultados que se obtuvieron son un sistema operativo llamado AMDOS, que permiti´o la sincronizaci´on 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´onico y los sensores ´opticos, o ambos sensores ´opticos, ya que la programaci´on y el procesamiento siempre es del tipo secuencial en los microcontroladores. Por otro lado, se logr´o interactuar con el sensor ultras´onico y el pedal del Hi-Hat, para que este pedal al ser presionado modificara el mensaje MIDI enviado por el sensor ultras´onico 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.

(22)
(23)

Cap´ıtulo 1

Aspectos generales

En este cap´ıtulo se revisa someramente la informaci´on y las diferentes herramientas que se utilizaron para llevar a cabo el dise˜no y construcci´on de Air MIDI-Drum.

1.1.

Los antecedentes de la bater´ıa

En el a˜no de 1890 se da el or´ıgen de la bater´ıa con la uni´on de unos cuantos instrumentos: los tambores y el timbal, que proceden de Africa y China, los platos, que derivan de Turqu´ıa y tambi´en de China, el bombo, de Europa. Por entonces, se comenz´o a popularizar en algunas ciudades de Estados Unidos.

Se comenzaron a utilizar en el siglo XIX grupos de percusi´on cada vez m´as grandes por los m´usicos rom´anticos, que fueron utilizados a principios del siglo XX, en el cake-walk1 y otros estilos estadounidenses precursores del jazz. Antes de que todos los instru-mentos fueran concentrados y mientras su uni´on 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´on del pedal o pie de bombo (primero de madera y despu´es 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˜nos sesenta es muy usada en el rock alcanzando una gran difusi´on con la gran proliferaci´on de

conjun-1

ElCakewalk naci´o 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´usico, dise˜nador de diversos pedales y otros accesorios para bater´ıa y cofundador de la compa˜n´ıa Ludwig & Ludwig, falleci´o el 22 de marzo de 2008, a la edad de 91 a˜nos.

(24)

6 CAP´ITULO 1. ASPECTOS GENERALES

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

1.1.1.

Tipos de bater´ıas

[image:24.612.131.445.321.556.2]

Existen dos tipos de bater´ıas: ac´usticas y electr´onicas. Una bater´ıa ac´ustica genera el sonido al hacer vibrar el parche, que es una membrana de pl´astico, la cual se coloca sobre tambores generalmente de madera. Los tambores son de forma cil´ındrica y en las bater´ıas de m´as calidad est´an hechos con varias capas de madera finas, lo que en con-junto de su di´ametro 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´ustica.

Por otro lado, una bater´ıa electr´onica consta generalmente de pads electr´onicos3, similares a los de pr´actica (de material poco vibrante), que producen un sonido deter-minado y programable. Hay algunos modelos que permiten tocar encima de la m´usica o de otros ritmos ya registrados anteriormente o, ya incluidos en la caja de sonidos

insta-3

(25)

1.2. PICMICRO 18F4520 7

lada en la bater´ıa electr´onica. Muchas bater´ıas ya llevan incluidos varios sonidos para programar en los pads electr´onicos y no tener que incluir ning´un instrumento m´as.

[image:25.612.150.449.144.374.2]

Se puede ver en la Figura 1.2 una bater´ıa electr´onica com´un.

Figura 1.2: Partes que componen a una bater´ıa electr´onica.

1.2.

PICmicro 18F4520

Debido a las caracter´ısticas que debe de tener la bater´ıa electr´onica, se opt´o por la utilizaci´on de un sistema vers´atil y econ´omico que permitiera el control y el proce-samiento de las se˜nales digitales y anal´ogicas as´ı como la transmisi´on de datos de manera serial, es por ello que se utiliz´o 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´o es el 18F4520 [9] de 40 terminales, que de acuerdo a la informaci´on proporcionada por el fabricante este microcontrolador introduce las siguientes mejoras en el dise˜no: tecnolog´ıa nanoWatt4, m´ultiples opciones de oscilador, la memoria de programa puede ser borrada y grabada 100000 veces, la memoria de

4

(26)

8 CAP´ITULO 1. ASPECTOS GENERALES

[image:26.612.37.552.201.263.2]

programa tiene una retenci´on de aproximadamente 100 a˜nos, m´odulo 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.

[c

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

(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´

on SRF05

Una de las caracter´ısticas de dise˜no m´as 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´o un sensor ultras´onico, ya que la aplicaci´on principal de este tipo de sensores es el medir distancias mediante pulsos ultras´onicos a 40 KHz. de manera lineal, se adapt´o para proporcionar el tiempo que tarda el pulso ultras´onico en incidir sobre los movimientos del instrumentista y as´ı obtener la posici´on.

El sensor que se ocup´o es el SRF05 el cual es un medidor ultras´onico [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.

(27)
[image:27.612.227.370.74.194.2]

1.3. SENSOR DE POSICI ´ON SRF05 9

Figura 1.3: Sensor SRF05.

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

Figura 1.4: Diagrama de tiempos del sensor SRF05.

Para que el m´odulo se estabilice, se debe dejar un lapso de tiempo de unos 20 mS. m´ınimo entre el momento en que la se˜nal de ECO pasa a “0” l´ogico 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.

[image:27.612.116.486.373.538.2]
(28)

10 CAP´ITULO 1. ASPECTOS GENERALES

del sonido es de 29.15µScm que, como realiza un recorrido de ida y vuelta queda establecida en 58.30µScm. El rango m´ınimo en distancia que se puede medir es de 1.7 cm y el m´aximo de 431 cm.

Para la bater´ıa electr´onica la distancia m´ınima queda establecida en 3 cm y la m´axima en 146 cm.

1.4.

Sintetizador

Este dispositivo sintetiza el sonido, es decir, lo genera a partir de la combinaci´on de elementos simples (normalmente se˜nales peri´odicas y funciones matem´aticas).

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˜nales, capaces de realizar decenas de millones de instrucciones por segundo.

[image:28.612.95.483.489.628.2]

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´a m´as de un sistema a otro, dependiendo del sistema de s´ıntesis implementado.

(29)

Cap´ıtulo 2

Dise˜

no de Software

[image:29.612.187.415.335.601.2]

En este cap´ıtulo se muestra la informaci´on correspondiente al desarrollo del sistema operativo deAir MIDI-Drum llamadoAMDOS. 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´on se encarga de suministrar 5V. en corriente continua al microcontrolador, al sensor ultras´onico y los sensores de los pedales. El bloque de adquisici´on de datos es el segundo bloque de importancia, este se encarga de sensar los movimientos del ejecutante y enviar la informaci´on al microcontrolador. El bloque de

(30)

12 CAP´ITULO 2. DISE ˜NO DE SOFTWARE

control es el m´as importante, porque es donde se encuentra el software y hardware de control deAir MIDI-Drum, el cual procesa y ordena toda la informaci´on obtenida de los datos adquiridos por los sensores. El bloque de transmisi´on 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 ´este realiza el proceso de s´ıntesis de las notas correspondientes de una bater´ıa.

2.1.

Adquisici´

on 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´onico (SRF05) o los sensor de los pedales (CNY70), estos enviar´an un ancho de pulso, el cual ser´a interpretado por el microcontro-lador. El sensor ultras´onico determinar´a la posici´on lineal donde interviene el ejecutante al tocar, esta posici´on 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´on progra-mada brinda al instrumentista un margen de ataque mayor para cada instrumento, la separaci´on disminuye el error producido por el empalme entre instrumentos adem´as de asegurar que se toque el instrumento deseado.

Air MIDI-Drum cuenta con un tapete gu´ıa, donde se muestra la posici´on 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´onico le

1

Dir´ıjase al Ap´endice B MIDI.

2

(31)

2.2. CONTROL 13

brinde, este ancho de pulso va en funci´on de la distancia en que interviene el ejecutante. Sin embargo, no es la ´unica 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. ´Estos poseen un sistema el´ectrico cap´az de sensar las pisadas generadas por el ejecutante, esta informaci´on es enviada al microcontrolador, el cual sabr´a que provienen de alguno de los pedales, y por ende cu´al 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 ´este tambi´en es llamado el n´ucleo principal3. Este sistema operativo es cap´az de administrar las funciones, los recursos y los perif´ericos interconectados al sistema.

El Diagrama de Flujo D.1 muestra el funcionamiento del sistema operativo de Air MIDI-Drum, y la explicaci´on de este ser´a detallada a continuaci´on4.

Debido a la estructura del programa, se explicar´a uno de los casos para cada tipo de interrupci´on, cuando el ejecutante se encuentra dentro de los l´ımites de sensado y para los pedales, ya que en los dem´as 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´on de hardware de acuerdo a los FUSES5 programados, posteriormente carga las librer´ıas necesarias para dar paso al programa principal. La siguiente instrucci´on configura el banco y el canal MIDI que se utiliza para las percusiones.

set_midi(0xA,0xA);

3

Para una mejor comprensi´on de esta secci´on, se recomienda revisar el Ap´endice D.2. C´odigo de programaci´on.

4

Cabe se˜nalar que el sistema operativo fue dise˜nado en una programaci´on modular.

5

(32)

14 CAP´ITULO 2. DISE ˜NO DE SOFTWARE

2.2.1.

Interrupci´

on por el sensor ultras´

onico

Para activar el sensor ultras´onico se manda un pulso con una duraci´on 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´on por el puerto, este tiempo se almacena en la variableintval. La comparaci´on de la variable intval la realiza la funci´on Compare6.

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´on.

2.2.2.

Interrupci´

on por los Pedales

Cuando el ejecutante presiona alguno de los pedales, el sensor genera una se˜nal pulsante, esta se˜nal es enviada a las siguientes terminales del microcontrolador RB4 y RB5 respectivamente, generando una interrupci´on que el sistema operativo atender´a 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´on.

6

Revisar el Ap´endice D.1. Diagramas de flujo.

7

(33)

2.3. TRANSMISI ´ON DE DATOS 15

2.3.

Transmisi´

on de datos

Se ha implementado un m´odulo de transmisi´on en el microcontrolador elEUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter)[9], dado queAir MIDI-Drum s´olo cuenta con el puerto MIDI-Out, el modo de transmisi´on ser´a de tipo Half-Duplex, ya que ´unicamente se enviar´an datos, y la transmisi´on de datos se re-alizar´a de manera as´ıncrona por la terminal C6. La velocidad de transmisi´on se con-figur´o 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´a de la transmisi´on 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´on, y que ya se han adquirido los par´ametros necesarios para construir el mensaje MIDI, se dar´a paso a la transmisi´on, 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´endice B.2.1. Estructura de un mensaje MIDI

9

Cabe destacar que para la transmisi´on de cualquiera de los mensajes MIDI definidos se realizar´a de la misma manera, cambiando ´unicamente las notas.

10

(34)

16 CAP´ITULO 2. DISE ˜NO 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

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

(35)
[image:35.612.86.515.265.505.2]

2.4. SINTETIZADOR 17

(36)
(37)

Cap´ıtulo 3

Dise˜

no de Hardware

En este cap´ıtulo se presenta la construcci´on de los elementos que conforman aAir MIDI-Drum, as´ı como la interacci´on entre cada uno de ellos para su funcionamiento.

3.1.

El soporte

El soporte escogido para contener los componentes deAir MIDI-Drumes una esfera met´alica de 10 cm de di´ametro, 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´on de datos MIDI, el puerto de comunicaci´on RJ-45 y para el puerto de alimentaci´on USB A hembra.

En la Figura 3.13 se muestra el acabado final del chasis deAir MIDI-Drum.

Figura 3.1: Vista frontal y trasera del Chasis Terminado.

(38)

20 CAP´ITULO 3. DISE ˜NO DE HARDWARE

3.2.

PCB del n´

ucleo principal

Comprobando el correcto funcionamiento del sistema operativo programado en el microcontrolador 18f4520 en una placa de pruebas, procedimos al dise˜no del impreso para el circuito. El circuito mostrado en la Figura 3.3, muestra el conexionado correspondiente de los perif´ericos, el puerto de comunicaciones, y la toma de alimentaci´on.

El dise˜no del PCB (Printed Circuit Board) cuenta con las dimensiones ´optimas para posicionar el sensor SRF05, los puertos de control, comunicaciones y alimentaci´on dentro del chasis. Sin embargo del dise˜no del PCB, Figura E.1, cuenta con terminales de conexi´on extras no utilizadas, para tener puertos auxiliares de comunicaci´on o control de otros sensores. Solo bastar´a con cargar un programa modificado al microcontrolador para poder utilizarlos 1.

Como se puede apreciar en la Figura 3.2, las terminales de conexi´on est´an colocadas ´

[image:38.612.189.387.400.550.2]

unicamente en los puertos utilizados por el Sistema Operativo.

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

1

(39)
[image:39.612.142.463.95.611.2]

3.2. PCB DEL N ´UCLEO PRINCIPAL 21

(40)

22 CAP´ITULO 3. DISE ˜NO DE HARDWARE

3.3.

PCB de conexiones

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

Puerto de alimentaci´on.

Puerto de transmisi´on de datos. Puerto de comunicaciones.

3.3.1.

Puerto de alimentaci´

on

Debido a la portabilidad y al dise˜no compacto de Air MIDI-Drum, se coloc´o un conector de alimentaci´on 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´andar USB A, para los voltajes de alimentaci´on del protocolo nos permiti´o acoplarnos con la alimentaci´on de nuestro circuito. Sin embargo, ´unicamente 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´on, en este caso se empleo un convertidor de corriente de pared a USB , el cu´al tiene la siguiente especificaci´on:

Entrada: 100 a 240V AC con una frecuencia de 50 a 60 Hz, y 0.1 A Salida: 5V±0.5V DC 500mA±50mA

´

Unicamente ocuparemos las terminales de alimentaci´on y tierra, 1 y 4 respectiva-mente.

2

(41)
[image:41.612.248.350.73.171.2]

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´on

1 VCC Rojo +5v

2 D- Blanco Data

-3 D+ Verde Data +

4 GND Negro Tierra

3.3.2.

Puerto de transmisi´

on de datos

Tomando en consideraci´on la especificaci´on del hardware MIDI se coloco un puerto de transmisi´on 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´on se encuentra incluida en el PCB de control, simplificando la interconexi´on entre la terminal de transmisi´on RC6 del microcontrolador y y la terminal Tx del conector a trav´es del circuito impreso.

[image:41.612.227.370.571.665.2]
(42)
[image:42.612.211.364.108.197.2]

24 CAP´ITULO 3. DISE ˜NO DE HARDWARE

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

Terminal Descripci´on

1 NC

2 GND

3 NC

4 VCC

5 TX

3.3.3.

Puerto de comunicaciones

El conector hembraRJ-45 de la Figura 3.7 est´a compuesto por 4 pares de terminales de transmisi´on, de los cu´ales se ocuparon 2, correspondientes a Vcc, Gnd, S1 y S2.

S1 y S2 son las terminales dedicadas a las se˜nales de estado emitidas por el m´odulo3, y a su vez generados por los pedales. La interconexi´on entre el M´odulo de control del n´ucleo secundario y el M´odulo de control del n´ucleo principal est´a dada por un patch cord4 en modalidad T568B.

Las terminales est´an interconectados al PCB por las terminales de conexi´on (headers macho), como se ha expuesto, conforman las terminales de expansi´on que se pueden aprovechar del circuito del control, e interconectar a las terminales restantes de la secci´on 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´on est´an soldados a un PCB dedicado, con el prop´osito de usar terminales macho para poder interconectar con cables de conectores del tipo

3

Revisar la secci´on 4.4.1. M´odulo de control del n´ucleo secundario.

4

[image:42.612.325.488.504.582.2] [image:42.612.136.233.508.584.2]
(43)

3.4. PEDALES 25

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

Figura 3.9: Placa de conexi´on para los Puertos.

[image:43.612.249.349.122.256.2]

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˜nados para poderse conectar o desconectar de manera sencilla. Se emple´o cable calibre 22 con los conectores del tipo molex slim de diferentes dimensiones. Esto es para optimizar el mantenimiento del sistema, sin da˜nar los PCB’s o alg´un dispositivo, realizando los cambios correspondientes.

Figura 3.10: Interconexionado de Air MIDI-Drum.

3.4.

Pedales

(44)

26 CAP´ITULO 3. DISE ˜NO DE HARDWARE

[image:44.612.211.365.530.670.2]

utilizarse con los pies de manera sencilla y de ser resistentes como lo ser´ıa un pedal convencional. Los pedales est´an 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 deAir MIDI-Drum.

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

(45)

3.4. PEDALES 27

3.4.1.

odulo de control del n´

ucleo secundario.

Se opt´o por construir un par de pedales que permitieran hacer una interfase gestual m´as c´omoda entre el instrumento y el ejecutante, brindando la impresi´on de que se est´a 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´un sonido. Se procedi´o ha dise˜nar un circuito que permitiera transformar la respuesta anal´ogica a una respuesta digital 0 o 1 l´ogico, apagado o encendido respectivamente, esto es por la respuesta anal´ogica de los sensores colocados en los pedales y con niveles de voltaje inferiores a los necesarios para alcanzar a comunicar alg´un estado l´ogico con nuestro n´ucleo principal.

Figura 3.13: Vista frontal y trasera del m´odulo secundario.

El circuito propuesto est´a conformado por un amplificador operacional LM358 de bajo consumo, implementado en su fase comparador simple. Esta configuraci´on nos ayuda a generar estados l´ogicos con niveles TTL (Transistor-Transistor Logic)5 a partir de un voltaje variable de una se˜nal anal´ogica; en su caso esta se˜nal proviene de los sensores CNY70, dichos niveles TTL son introducidos a un microcontrolador auxiliar (16F88) el cual se encargar´a de hacer un circuito anti-rebotes y enviar datos sobre el estado de los pedales al n´ucleo principal.

Una de las razones de no utilizar un sensor de presi´on es el desgaste por uso que est´e sufrir´ıa, el sistema mec´anico que lo conforma est´a propenso a fallar despu´es de unas sesiones de trabajo.

5

(46)
[image:46.612.98.478.95.605.2]

28 CAP´ITULO 3. DISE ˜NO DE HARDWARE

(47)

3.4. PEDALES 29

Funcionamiento

Tomando en cuenta que el sistema esta alimentado y listo para ser tocado, el sensor ´optico CNY70 estar´a funcionando y comenzar´a en el estado 0 l´ogico, 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´a el haz infrarojo reflejado, el cual lo polarizar´a y enviara un nivel de voltaje al amplificador operacional, para que este a su salida mande un pulso correspondiente al estado 1 l´ogico.

Los estados l´ogicos 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´odulo de control del n´ucleo 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´o este peque˜no 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´on solamente se enviar´a un pulso al n´ucleo principal y este a su vez enviar´a 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˜no 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 ´el, cuando se presiona el pedal los platillos encontrados chocan entre si generando un sonido denominado como pedal deHi-Hat, otro sucede cuando se hace la acci´on anterior pero a la vez se golpea con las baquetas el platillo superior, este sonido se conoce como Hi-Hat cerrado, el tercer y ´

(48)

30 CAP´ITULO 3. DISE ˜NO DE HARDWARE

Teniendo el conocimiento de este funcionamiento amoldamos nuestro prototipo, funciona de manera similar a una bater´ıa convencional, pero con la ´unica distinci´on de que no es necesario mantener el pedal presionado para abrir o cerrar el Hi-Hat y pasar la baqueta por el sensor ultras´onico para que este cambie el sonido deseado, por lo tanto hay que activar y desactivar la apertura o cierre del instrumento y por ´ultimo el sonido del pedal de Hi-Hat es producido cuando se presiona solamente el pedal. La intercomunicaci´on entre los pedales y el m´odulo de control es a trav´es de conectores y cables miniUSB-USB, a su vez la comunicaci´on de este m´odulo con el n´ucleo principal es a trav´es 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´on espacial que ofrece el sensor ultras´onico es distinta a como se organiza una bater´ıa ac´ustica tradicional.

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

(49)

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´actica con el instrumento.

3.6.

Conectores

Los conectores y cables que emplea AIR MIDI-Drum para la conexi´on 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´e para dar un respaldo a la durabilidad y sugesi´on de los m´odulos que conforman aAir MIDI-Drum, empleando cables y conectores dedicados a la transmisi´on de datos, sin embargo existen otros mo-tivos y uno de los m´as importantes es que todos los cables est´an blindados, esto aten´ua de manera considerable el ruido externo y la transmisi´on de se˜nales entre dispositivos es ´optima, asegurando el funcionamiento correcto de todo el sistema.

3.7.

Caracter´ısticas t´

ecnicas de

Air MIDI-Drum

(50)
[image:50.612.67.524.379.660.2]

32 CAP´ITULO 3. DISE ˜NO DE HARDWARE

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

Caracter´ısticas Air MIDI-Drum

Alimentaci´on 5 V DC

Frecuencia de operaci´on 40 MHz (PLL)

Fuentes de Interrupci´on TX, SRF05, CNY70

Comunicaci´on Serial USART Mejorado

Velocidad de transmici´on 31250 Bauds/s

RESETS Si

Puertos De transmisi´on MIDI

De comunicaci´on RJ-45 De alimentaci´on USB Hembra

(51)

Cap´ıtulo 4

Pruebas y resultados

Las pruebas se realizaron en el laboratorio de metrolog´ıa y en el estudio de grabaci´on de la academia de Ac´ustica de la Escuela Superior de Ingenier´ıa Mec´anica y El´ectrica del Instituto Polit´ecnico Nacional. Los m´usicos que participaron en la realizaci´on de las pruebas fueron Rub´en Javier Rodriguez Hern´andez y Alfredo Pacheco Loyola.

Dentro del Estudio de Grabaci´on se realizaron las primeras pruebas de Air MIDI-Drum, estas con el objetivo de revisar el funcionamiento del sistema operativo AMDOS y la detecci´on de fallos en el hardware cuando existe un instrumentista.

4.1.

Prueba de

AMDOS

La prueba de desempe˜no deAMDOS se realiz´o mientras el m´usico tocaba un ritmo b´asico, el objetivo fu´e la revisi´on de la administraci´on de los perif´ericos que posee AIR MIDI-Drum principalmente los sensores, en la rapidez de sensado del sensor ultras´onico y el ajuste de sensibilidad para los sensores ´opticos, adem´as el revisar la transmisi´on de los mensajes MIDI correspondientes a la parte tocada por el m´usico.

Con esta prueba se realizaron los siguientes cambios:

Sensado ´unico por parte del sensor ultras´onico por cada vez que se interfiera el pulso. Es decir que solamente se generar´a un sonido a partir de que se interfiera en el haz del sensor.

Se agreg´o un nuevo mensaje MIDI. Este por observaci´on del m´usico, mencion´o que faltaba el sonido cuando los Hi-Hat estaban cerrados y se le golpeaba con las

(52)

34 CAP´ITULO 4. PRUEBAS Y RESULTADOS

baquetas, por ello adem´as se realiz´o el cambio en el programa para que respondiera este mensaje cuando se presionaba el pedal del Hi-Hat y se interviniera el pulso ultras´onico en la distancia correspondiente del Hi-Hat.

[image:52.612.64.542.181.481.2]

Se ajust´o la sensibilidad de los sensores ´opticos para una mejor ejecuci´on.

(53)

4.2. PRUEBA DE HARDWARE 35

4.2.

Prueba de Hardware

La prueba en el Hardware se realiz´o mientras el m´usico tocaba libremente, el objeti-vo fu´e localizar posibles fallas principalmente en los pedales, ya que estos son presionados constantemente, tambi´en el colocar el sensor ultras´onico de manera ´optima para como-didad del m´usico.

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´onico se coloc´o de manera vertical para reducir el patr´on de ra-diaci´on hacia el m´usico.

Tambi´en se realizaron las siguientes pruebas: una prueba de resistencia, en el que todo el sistema deAir MIDI-Drum se dej´o encendido por 8 horas, y se revisaba cada 15 minutos que siguiera funcionando correctamente y la medici´on aproximada al patr´on de radiaci´on de la bater´ıa.

En el estudio de grabaci´on se realiz´o la prueba comparativa entreAir MIDI-Drum y una bater´ıa ac´ustica, en esta prueba intervino la manera de tocar cada instrumento y el sonido caracter´ıstico obtenido. Esta comparaci´on la realiz´o Rub´en Javier Hern´andez 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:

(54)
[image:54.612.121.457.72.327.2]

36 CAP´ITULO 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´as corta la distancia entre cada uno de los instrumentos, para alcanzar con facilidad todos los componentes, y le agregar´ıa m´as 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´andolo en el aire, adem´as de que como ya he mencionado, me gust´o mucho que fuera port´atil y del ahorro de espacio, si veo una de estas seguro la compro.”

Para una comparaci´on m´as profunda se grab´o el audio de ambas bater´ıas del mismo ritmo as´ı como la toma de capturas de video. Los resultados obtenidos son:

(55)

4.2. PRUEBA DE HARDWARE 37

[image:55.612.85.543.204.504.2]

Una de las ventajas que poseeAir MIDI-Drum es su tama˜no reducido, esto lo hace extremadamente portable, adem´as dependiendo del sintetizador ´o software utilizado se puede generar un realismo, esto brinda la posibilidad de cambiar el banco de sonido del instrumento dependiendo del g´enero que se toque; esto es que la misma bater´ıa funcione para jazz, rock, hip-hop, entre otros.

(56)
[image:56.612.80.533.230.530.2]

38 CAP´ITULO 4. PRUEBAS Y RESULTADOS

(57)

Conclusiones

Air MIDI-Drum no es un sustituto de una bater´ıa ac´ustica ni electr´onica, es una pro-puesta distinta para crear m´usica.

Durante el desarrollo de Air MIDI-Drum tuvimos que adaptarnos a los problemas presentados por hardware y software, los cu´ales abarcaban desde el dise˜no de un software que sincronizar´a el envi´o de datos MIDI del sensor ultras´onico y ambos pedales a la PC, adem´as de que realizara la administraci´on de las diversas tareas que controlan los recursos y los perif´ericos del sistema, esto di´o como resultado la creaci´on de AMDOS, para el dise˜no de hardware fue necesario encontrar soluciones sencillas que se adaptaran a las necesidades del dise˜no original, sin prescindir del presupuesto disponible para la adquisici´on de diversos materiales, como el tripie, el tapete y los pedales.

Se quer´ıa que la bater´ıa fuera totalmente aut´onoma y que se tocaran varios tam-bores y platillos al mismo tiempo, esto no se logr´o, 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´o y gracias a que el protocolo MIDI est´a estandarizado y que nuestro dispositivo cumple con ´el, 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´oviles como lossmartphones siempre y cuando cuenten con la interfaz necesaria.

Air MIDI-Drum es una alternativa de una bater´ıa electr´onica, 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´onico que utiliza, pero lleva consigo algunas desventajas, una de las m´as importantes es el patr´on de radiaci´on

(58)

40 CONCLUSIONES

que no es del todo directivo, el cual no logramos controlar, esto provoca confusi´on 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˜no atractivo, mismo que se alcanz´o al construirlo y se comprob´o al mostrarlo en p´ublico en el 18◦ Congreso Internacional Mexicano de Ac´ustica.

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´an el modo tradicional de ser ejecutados.

(59)

Bibliograf´ıa

[1] Ko*ciˇs ˇStefan; 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˜na, 2004. 623 pgs.

[3] Garc´ıa Breijo Eduardo. Compilador C CCS y simulador PROTEUS para Micro-controladores PIC, Alfaomega Grupo Editor, M´exico, 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˜na, 1992. 208 pgs

[6] Jord´a Puig Sergi. Audio digital y MIDI,Gu´ıas Monogr´aficas 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.

(60)
(61)

Ap´

endice A

Caracter´ısticas t´

ecnicas de los

dispositivos

A.1.

Microcontrolador 18F4520

Las caracter´ısticas t´ecnicas del microcontrolador est´an descritas en la Tabla A.1 y la Figura A.1 muestra la distribuci´on de las terminales del mismo [9].

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

(62)

44 AP ´ENDICE A. CARACTER´ISTICAS T ´ECNICAS DE LOS DISPOSITIVOS

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

Caracter´ısticas PIC18F4520

Frecuencia de operaci´on 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´on 20

Puertos I/0 Puertos A,B,C,D,E

Timers 4

M´odulos de Captura/Compara/PWM 1

M´odulos Mejorados de

Cap-tura/Compara/PWM

1

Comunicaci´on Serial MSSP, USART Mejorado

Comunicaci´on Paralela (PSP) Si

M´odulo Anal´ogico–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´on programable de Alto/Bajo-Voltaje Si

Programable Brown-out Reset Si

Set de instrucci´on 75 Instrucciones;

83 Instrucciones Extendidas

Terminales 40-Pin PDIP

(63)

A.2. SENSOR SRF05 45

A.2.

Sensor SRF05

[image:63.612.192.410.413.587.2]

Las caracter´ısticas t´ecnicas del sensor SRF05 son mostradas en la Tabla A.2.

Tabla A.2: Caracter´ısticas t´ecnicas del sensor SRF05.

Par´ametro Valor Unidad

Dimensiones del circuito 43 x 20 x 17 mm

Tensi´on de alimentaci´on 5 Vcc

Frecuencia de trabajo 40 KHz

Distancia M´axima de medici´on 4 m

Distancia M´ınima de medici´on 1.7 cm

Duraci´on m´ınima del pulso de disparo (nivel TTL)

10 µs

Duraci´on del pulso ECO de salida (nivel TTL) 100-25000 µs

Tiempo m´ınimo de espera entre una medida y el inicio de otra

20 ms

El m´odulo emplea tan s´olo 5 terminales de conexi´on 2 de alimentaci´on y 2 de comunicaci´on a nivel TTL, estas se muestran en la Figura A.2 y se describen en la Tabla A.3.

(64)

46 AP ´ENDICE A. CARACTER´ISTICAS T ´ECNICAS DE LOS DISPOSITIVOS

Tabla A.3: Descripci´on de las terminales del sensor SRF05

Terminal Descripci´on

+5Vcc Tensi´on positiva de alimentaci´on.

ECO Salida del pulso cuya anchura determina el tiempo del recorrido de la se˜nal ultras´onica.

Disparo Entrada de inicio de una nueva medida. Se aplica un pulso con una duraci´on m´ınima de 10µs. Modo (N.C) Sin conexi´on se selecciona el modo 1 de

compatibi-lidad con SRF04. Conectado a GND se selecciona el modo 2 de trabajo.

(65)

Ap´

endice B

MIDI

MIDI es el acr´onimo de Musical Instruments Digital Interface y es un protocolo de comunicaciones establecido en 1983 y esta dedicado a la comunicaci´on entre instrumentos musicales digitales [4]. Los datos son enviados de manera as´ıncrona a una sola direcci´on 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´es de diecis´eis canales diferentes. Estos canales no corresponden a conexiones f´ısicas separadas, ya que comparten un ´unico cable, sino m´as bien a direcciones l´ogicas.

B.2.

Mensajes MIDI

Todo mensaje MIDI se compone de un primerbite de status (que determina el tipo de mensaje) y uno o dos bytes de datos restantes (dependiendo del tipo de mensaje).

Aunque la comprensi´on exhaustiva de todo el c´odigo MIDI no es prioritaria para el m´usico, un cierto conocimiento de este c´odigo, facilita la configuraci´on de los equipos MIDI y favorece la ´optima utilizaci´on del sofisticado software actual.

B.2.1.

Estructura de un mensaje MIDI

Todo mensaje MIDI se compone de un primerbyte 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´as significativo est´a 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´eis (24) los canales MIDI posibles. En la Figura B.1 se puede apreciar la estructura binaria de un mensaje gen´erico.

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:

(66)

48 AP ´ENDICE B. MIDI

[image:66.612.146.434.75.128.2]

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

Tabla B.1: Cuadro sin´optico 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´on Control Change 1011 nnnn BN tipo de control intensidad Chan. Aftertouch 1100 nnnn DN presi´on

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´acter hexadecimal de este canal (0-F).

Todos los bytes de datos tienen una resoluci´on de siete bits, con valores decimales comprendidos entre 0 y 127.

Cuando en la tabla el segundo byte de datos est´a en blanco (Channel Aftertouch y Program Change), significa que el mensaje utiliza un ´unico byte de datos. En el mensaje Pitch Bend, los dos bytes de datos se combinan para formar un ´

unico valor con catorce bits de resoluci´on, comprendido entre –8192 y +8191. Los mensajes de sistema poseen una estructura diferente y no se aplican a ning´un 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´on todos los tipos de mensajes que act´uan sobre un ´unico 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

(67)

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´as grave y la 127 la m´as aguda. Teniendo en cuenta que existen doce notas por octava, el MIDI tiene pues una tesitura de m´as de diez octavas (un piano de cola s´olo tiene siete) que s´e corresponde aproximadamente con el n´umero 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´ametro se asocia normalmente con la intensidad sonora, aunque en algunos sintetizadores puede modificar tambi´en el timbre de la nota (como sucede con los instrumentos ac´usticos reales) haciendo que, por ejemplo, a mayor velocidad suene m´as brillante. La velocidad 0 tiene un car´acter 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´on.

La inmensa mayor´ıa de dispositivos no generan ni responden a la velocidad de liberaci´on, por lo que es un mensaje muy poco utilizado. En su lugar, cuando se libera una tecla, la mayor´ıa de teclados env´ıanNote On con velocidad 0, que todos los sintetizadores entienden. Cuando se utiliza, la velocidad de liberaci´on 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´erminos 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´as frecuente enviarlo desde el propio ordenador, edit´andolo en el secuenciador.

El ´unico byte utilizado define un n´umero de programa.

Algunos sintetizadores disponen de m´as 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´on, ya que el primer programa siempre corresponde al byte 0000 0000 y el ´ultimo, al byte 0111 1111.

B.2.4.

Bytes de status y bytes de datos

(68)

50 AP ´ENDICE B. MIDI

(69)

Ap´

endice C

Especificaci´

on 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).

(70)
(71)

Ap´

endice D

Software

[image:71.612.132.439.317.613.2]

D.1.

Diagramas de flujo

Figura D.1: Diagrama Principal.

(72)
[image:72.612.146.433.87.384.2]

54 AP ´ENDICE D. SOFTWARE

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

[image:72.612.259.318.470.680.2]
(73)

D.2. C ´ODIGO DE PROGRAMACI ´ON 55

D.2.

odigo de programaci´

on

C´odigo 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´odigo 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

(74)

56 AP ´ENDICE 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´odigo 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

(75)

D.2. C ´ODIGO DE PROGRAMACI ´ON 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´odigo de la librer´ıasrf05.h.

void srf05();

void srf05() {

if( input(iCaptureFlag)) {

iCaptureFlag = FALSE; intval = timervalue*1.2; }

(76)
(77)

Ap´

endice E

Hardware

[image:77.612.216.383.286.486.2]

La Figura E.1 muestra el PCB utilizado para el n´ucleo principal deAir MIDI-Drum.

Figura E.1: Dise˜no de PCB del n´ucleo principal utilizando elsoftware Eagle.

(78)

60 AP ´ENDICE E. HARDWARE

[image:78.612.200.376.125.285.2]

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

(79)

Figure

Figura 1.1: Partes que componen a una bater´ıa ac´ustica.
Figura 1.2: Partes que componen a una bater´ıa electr´onica.
Tabla 1.1: Caracter´ısticas del microcontrolador 18F4520.
Figura 1.3: Sensor SRF05.
+7

Referencias

Documento similar

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in