2.21.2012

Comunicación con Protocolo "MIDI" 2

   Hemos trabajado en nuestro protocolo de comunicación y ya se encuentra en un estado avanzado, podemos recibir datos del micro-controlador y procesarlo en Labview, para luego comenzar el manejo de sonidos (sintetizador).

   Nuestro código manda 5 bytes (Incio Trama / Status / Data 1 / Data2 / Fin Trama) el cual es recibido por LabView que no comenzará la recepción hasta no encontrarse con el byte "Inicio Trama". Los caracteres enviados serán responsables de especificar la acción a ejecutar, el instrumento,  la nota a exponer, en conjunto con algún efecto, bien sea volumen o en el caso de la guitarra el efecto producido por el "whammy bar".

   A continuación les mostramos un video de como será la comunicación serial con LabView utilizando el protocolo de comunicación descrito anteriormente.


Comunicación con Protocolo "MIDI"

   Esta semana estuvimos trabajando con lo que será el protocolo de comunicación, en especial el nuestro estará basado en el protocolo MIDI para dispositivos de audio, acercándonos a éste pero con nuestras propias especificaciones.

   Logramos comunicarnos a través de "serial" con el labview y mostrar a través de éste, los valores ubicados en el ADC de nuestro micro-controlador. Dicha operación nos permite evidenciar la nota que queremos implementar en el momento por parte de la guitarra, que finalmente reproducirá el sonido ayudada por la interrupción de los láser antes mencionados.

   Estuvimos trabajando además en el diseño e implementación de lo que será el detector de proximidad (parte esencial del arpa que construiremos), y además en lo que será el medidor de resistencia en el cable de nicromo como les mostramos a continuación:

   Cada cable resistivo hecho de nicromo será representación de una cuerda de la guitarra, e irá conectado con un regulador LM317, siendo R1 el cable nicromo en la figura abajo, de manera que las variaciones de voltaje den la posibilidad de diferenciar las notas a medida que la resistividad cambia. Luego se pasa por una etapa de ganancia 3, tanto para aumentar el voltaje aproximadamente a 3V, como para aislar corrientes no deseadas a la entrada del micro-controlador.













2.13.2012

Adquisición vía serial utilizando el puerto ADC del Micro

   Gracias a algunas indicaciones logramos instalar Codewarrior v10.1 en nuestras computadoras y comunicarnos por serial/USB ya que es una interfaz que trabaja con OS de 64-bit, por otro lado el lenguaje a utilizar en la parte del sintetizador será LabView, con lo cual tuvimos problemas al momento de leer serial ya que no teníamos los drivers necesarios del VISA (puerto de comunicación de LabView).

   Para comunicar el microcontrolador con la interfaz de LabView es necesario realizar un puerto virtual, esto se logró gracias a un Toolkit open source llamado com0com, el cual permite relacionar un par de puertos virtuales, lo que implica una buena comunicación entre el micro e interfaces como realterm, hyperlink, LabView, entre otras. Ademas de ello, es necesario una aplicación de P&E Microcomputers Systems que básicamente conecta la tarjeta DEMOQE128 al puerto virtual.

   Luego de ésto podemos decir que después de tener problemas con la instalación de casi TODOS los programas, logramos una excelente comunicación entre el micro y LabView, visualizando además el comportamiento del mismo por medio de Realterm.

   A continuación les dejamos un video donde representamos la comunicación serial entre el Micro y la PC por medio de Realterm.







2.08.2012

Detector Láser Analógico y Microcontrolador

   La idea de una guitarra láser surge básicamente de la presentación que nos dieron los profesores en el prelab, y  el hecho de que es bastante pro lograr que una guitarra suene por medio de lásers visibles si se pudiese, al igual que el arpa, pero... Cómo lograr que un láser sea el elemento clave a la hora del punteo o arpegio en tales instrumentos?, la respuesta está en las fotoresistencias (Con una circuitería asociada) ya que son dispositivos que actúan incluso con luz visible como la de los lásers rojos o verdes y poseen un precio bajo comparado con casi cualquier receptor óptico. 




   Sin embargo, a pesar de tener en mente la forma de implementar lásers en éstos instrumentos, estuvimos trabajando con el microcontrolador que nos ayudará a procesar todas las señales provenientes de nuestros sensores, dicho micro será el MC9S08QE128 (El cuadrado verde que ven en la imagen), que es un dispositivo desarrollado por la compañía Freescale de 8-bit y 64 pines, acompañado por una tarjeta DEMOQE128 (tarjeta de mayor tamaño negra en imagen a la izquierda), que servirá de mediador entre el micro y las señales necesarias para comunicarse con su entorno.


   El lenguaje de programación utilizado será C, que es bastante familiar para nosotros, sin embargo se inició con una rutina sencilla de prendido y apagado de un led, para comenzar a entender la forma de trabajo del nuevo microcontrolador. Veremos que se trata de un sistema embebido que trabaja por interrupciones, y que nos permitirá ver su correcto funcionamiento paso a paso a medida que se realiza el "debugging" directamente en el micro.

   La conexión se realizará mediante un puerto USB, y gracias a que nuestras computadoras poseen OS de 64-bit, cosa que las hace incompatibles con la plataforma codewarrior v6.3 utilizada para la programación del micro,  la primera corrida del led encendido/apagado se realizó en las computadoras del laboratorio de nuestra universidad. 

   Disfruten escuchando Voodoo Child de Jimmy Hendrix mientras leen el blog, nos vemos en otra...