Herramientas de usuario

Herramientas del sitio


proyectos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
proyectos [2016/10/23 22:03] kzproyectos [2016/10/23 22:24] (actual) – borrado brolin
Línea 1: Línea 1:
-====== Hiduino - Proceso para convertir un Arduino en un instrumento musical Midi ====== 
- 
-[[https://github.com/ddiakopoulos/hiduino|Repo oficial]] 
- 
-El proceso creativo para desarrollar este ejercicio se lleva a cabo en varios momentos, primero se diseña y se realiza la parte de Hardware, luego de software y por ultimo las respectivas programaciones y composiciones musicales o para lo que se este desarrollando.  
- 
-En este caso automatizaremos un xilofono para que actue como un instrumento musical esclavo. 
- 
-  - Elaboracion y diseno del instrumento Robotico. 
-  - Programacion y composicion en el Tracker de la Gameboy 
-  - Programacion y composicion en el Tracker de la Gameboy. 
-  - Sincronizacion midi Gameboy como MidiOut y controlador USB (Hiduino) como esclavo. 
-  - Programacion y composicion en el computador con la musica construida en la Gameboy. 
-  - Composicion de la musica final anadiendo las partes y melodias del instrumento robotico. 
- 
-=====  Elaboracion y diseno del instrumento robotico ===== 
- 
- El desarrollo del instrumento robotico se lleva a cabo en diferentes partes, tanto hardware como 
- software: 
- 
-** Construccion del instrumento** 
- 
-El instrumento musical es un rediseño de un viejo xilofono, adaptado para ejecutar un golpe con un voltaje definido y realizado por los solenoides y que ademas no distorsione el sonido del instrumento.  
- 
-{{:ensamblando1.jpg?600}} 
- 
-{{:ensamblando2.jpg?600}} 
- 
-{{:ensamblando3.jpg?600}} 
- 
-{{:diseno2.jpg?600}} 
- 
-Para llevar a cabo este proceso se experimenta con varios modelos, alturas y voltajes que llegan a los actuadores hasta encontrar la posicion ideal. Posteriormente se construye un circuito electronico que permite accionar cada percutor y este a su vez; es controlado electricamente por un microcontrolador(Arduino). 
- 
-{{ :diseno1.jpg?600 |}} 
- 
-{{ ::disenofinal.jpg?600 |}} 
- 
-{{ ::captura_de_pantalla_2016-10-23_a_las_16.20.53.png?600 |}} 
- 
-Este microcontrolador es el encargado de convertir notas musicales (datos digitales) en voltaje o datos analogos, que seran los respectivos percutores de cada nota del xilofono. 
- 
-{{youtube>KClJHeLr2g0?large}} 
- 
-** Elaboracion del circuito electronico** 
- 
-Para que el instrumento pueda funcionar es necesario realizar un circuito para controlar y alimentar los actuadores y estos a su vez, puedan golpear las laminas del xilofono como vimos en el anterior video. 
- 
-{{ :ensamble1.jpg?600 |}} 
-{{ :preparaciondepercutores.jpg?600 |}} 
- 
-El circuito esta compuesto de varios transistores TIP122, ademas de un adaptador de 9v y algunos diodos para que no hayan cortos en el proceso de alimentacion de los actuadores. 
-Los transistores seran nuestro puente entre la comunicación del Arduino y el circuito. 
- 
-{{ :ensamble2.jpg?600 |}} 
- 
-** Cambio de firmware en el chip original del Arduino ** 
- 
-La placa Arduino que usamos en este proyecto cuenta con un microcontrolador ATmega16U2, que cumple la funcion de traducir una informacion a otra, es decir; es un conversor USB-serial. Para que este chip pueda llevar a cabo el proceso de transduccion, este es previamente programado a un lenguaje de programacion de bajo nivel, y este tipo de programas se llaman Firmware. 
- 
-{{ ::captura_de_pantalla_2016-10-23_a_las_16.24.48.png?600 |}} 
- 
-Hiduino es un firmware del chip Atmega16U2 que permite que la placa Arduino sea reconocida por computadores como dispositivos HID, es decir; teclados, mouses y perifericos conectados al computador. (human interface device) 
- 
-Para flashear el Arduino se pueden tomar diferentes caminos, en este caso usamos Ubuntu 14.04 LTS.25 
- 
-En general se siguen los siguientes pasos: 
- 
-  - Primero se abre una terminal, luego se escriben los siguientes comandos: [lubusb-1.0-0 libusb-1.0-0-dev libusb-dev] 
-  - Luego instalamos el dfu-programmer escribiendo: [sudo apt-get install dfu-programmer] 
-  - Conectamos el Arduino por usb y lo ponemos en modo dfu, que consiste en conectar dos pines entre si de  la interfaz ISP. 
- 
-{{ ::modo-dfu-arduino.jpeg?600 |}} 
- 
-  - Borramos el firmware: [sudo dfu-programmer atmega16u2 erase] 
-  - Cargamos el nuevo firmware: [sudo dfu-programmer atmega16u2 flash MYFIRMWARE.hex]  
-  - Reiniciamos el chip: [sudo dfu-programmer atmega16u2 reset] 
- 
-{{ ::captura_de_pantalla_2016-10-23_a_las_16.34.00.png?600 |}} 
- 
-Despues de hacer este proceso, es conveniente programar el chip Atmega que controla los pines por medio de un programador AVR usando las entradas ISP del Arduino. 
- 
-{{ ::captura_de_pantalla_2016-10-23_a_las_16.35.58.png?600 |}} 
- 
-El programador ISP es necesario porque una vez el arduino es flasheado, ** no pueden subirse programas por el puerto USB **. Ahora el paso a seguir es programar los Pines del Arduino usando una librería Midi, para que la placa reconozca los mensajes Midi provenientes del DAW. 
- 
- 
-** 
-Programacion de la placa Arduino para que funcione como Input-MIDI debido a las condiciones motoras del Instrumento.** 
- 
-Luego de que el chip ATmega esta flasheado, procedemos a programar las salidas digitales de la placa segun nuestras necesidades. Este proceso se lleva a cabo mediante el Ide proporcionado por Arduino para programar la placa. 
- 
-{{ ::captura_de_pantalla_2016-10-23_a_las_16.40.29.png?600 |}} 
- 
-En este caso necesitamos reconocer notas midi que seran programadas en el software Ableton Live. 
-La programacion del codigo se basa en escribir funciones que reconozcan velocity, channel y pitch, que son variables del protocolo Midi para reconocer que nota es, que dinámica tiene esa nota, y un canal que le dice al computador cual es ese instrumento Midi. 
- 
-{{ :captura_de_pantalla_2016-10-23_a_las_16.40.47.png?600 |}} 
- 
-Cuando este código en software esta listo, procedemos a conectar el programador ISP y luego abrimos la interfaz de Arduino, es muy importante elegir el programador a usar, porque ya no estamos usando la interfaz USB.Para sellecionar el programardor adecuado, por favor mire la imagen de arriba. 
- 
-Con los pasos descritos anteriormente hemos finalizado la construcción del instrumento robotico, pasamos entonces a la composición en el software LSDJ. 
- 
-Aqui un video del flasheo del arduino. 
- 
-{{ :programando_isp.mp4 |}} 
- 
-===== Programación y composición de la Música en el Tracker de la Gameboy ===== 
- 
- 
- 
- 
- 
- 
  
proyectos.1477260180.txt.gz · Última modificación: por kz