Webcervices. Con la tecnología de Blogger.
RSS

Unete a nuestro grupo de facebook

Unete a nuestro grupo de facebook
Hola que tal lectores de esta pagina tan maravillosa que es arduino Tec ...Los invito a que amplíen mas sus conocimientos en Arduino y Raspberry Pi Uniéndose a mi grupo Arduino Tec

2 - ENVIANDO SEÑALES MIDI VARIABLES CON UN POTENCÍOMETRO

MIDI - CAPÍTULO 2 - ENVIANDO SEÑALES MIDI VARIABLES CON UN POTENCÍOMETRO


Hoy avanzaremos un poco mas en el tema del midi, aunque aun no puedo explicaros como funciona el lenguaje, al menos, voy a poneros un ejemplo muy sencillo de cómo mover una resistencia variable, o mejor dicho, un potenciómetro y que al girarlo varie el volumen de una nota midi determinada. Por falta de tiempo no puedo poneros las imágenes de como funciona esto en un programa, pero podéis verlo en vuestra pantalla cuando ejecutéis S2Midi y variéis el potenciómetro.

Para poder seguir este sencillo tutorial es necesario tener instalado el entorno de programación de arduino, los drivers de la placa, entender el entorno y saber como subir un código a la placa y por ultimo, haber seguido el tutorial anterior a este con el que tendrás configurado tu ordenador para poder recibir mensajes midi por el puerto usb de arduino. Todo esto ha sido explicado ya, por lo que yo voy a continuar adelante. Si tienes dificultades para continuar mira los tutoriales anteriores, que los encontraras a la izquierda de este texto, en un menú de opciones que coloqué con todos los tutoriales, noticias, descargas y demás.

Bien, comenzamos por explicar el potenciómetro:

Un potenciómetro es un resistor al que se le puede variar su resistencia, es decir, permite controlar la intensidad de corriente que circula a través de ella. Tienen 3 patillas, dos que son las de los extremos y la central que se llama cursor.

La conexión de nuestro circuito es muy sencilla, conectaremos un extremo del potenciómetro de 1 Mega Ohmio (tiene que ser exactamente 1 MO, no conectes ninguno de otro valor) a 5V, el que está en la parte de los pines analógicos, la patilla central o cursor a 0 analógico y la otra patilla del extremo a GND (masa). Quedaría así:


En este primer ejemplo solo conectamos 1 potenciómetro de 1 Mega Ohmio, por lo que solo podremos mover una opción en resolume.

Bien, una vez que tenemos montado el circuito hay que cargar el código del programa en la placa arduino. Es el siguiente:

int midiChannel0 = 1;
int analogPin0 = 0;
int lastAnalog0 = 0;
int analogSmooth0 = 2;

void setup()
{
Serial.begin(31250);
}

void loop()
{
Potenciometro0();
}

void Potenciometro0()
{
int reading0 = 0;

reading0 = analogRead(analogPin0)/8;
if (abs(reading0-lastAnalog0) > analogSmooth0)
{
lastAnalog0 = reading0;
controlChange(midiChannel0,10,reading0);
}
}

void controlChange(byte channel, byte controller, byte value)
{
midiMsg(channel+0xB0, controller, value);
}

void midiMsg(byte cmd, byte data1, byte data2)
{
Serial.print(cmd, BYTE);
Serial.print(data1, BYTE);
Serial.print(data2, BYTE);
}

Básicamente en nuestro programa hemos declarado al principio el canal (1), el pin en el que leemos el valor para comprobar si cambia el potenciómetro (0), una variable que almacena el ultimo valor que tuvo el potenciómetro (lastAnalog0) y la ultima que es utilizada durante la comparación para comprobar que la diferencia entre el valor anterior y el actual sea mayor de 2 (analogSmooth).

Después configuramos la velocidad de envió a 31250 y mas adelante, en la función loop() llamamos a otra función que he creado yo llamada Potenciometro0().
Dentro de esta se comprueba si el valor del potenciómetro ha variado, si es así se llama a la función controlChange() y se le pasa los datos Canal (1), Nota (10) y valor (que depende del valor que indique el potenciómetro).

Bien, pero ¿como se que esto funciona?. Pues muy sencillo, conectas el montaje como he indicado, cargas el código desde el entorno de programación de arduino, sin desconectar el cable cierras el entorno, cargas el S2Midi y le indicas el puerto y la velocidad (si no está 31250 en la lista se lo puedes poner tu con tu teclado) y le das a Start. Cuando varíes el potenciómetro veras que a la izquierda te muestra la información de lo que va leyendo en el puerto.

En el programa que yo suelo utilizar, que es Resolume 2.3, ahora tendría que abrirlo e irme a la configuración, a la pestaña del mapeo midi y hacer doble clic en la lista para configurar por ejemplo el control de la opacidad de la capa 1. Al hacer doble clic en el y mover el potenciómetro ya lo tendría configurado y tras cerrar la configuración podría mover la capa con el potenciómetro en vez de con el ratón.

Saludos y perdonar que no pueda poner una imagen ahora mismo, pero tengo poquísimo tiempo últimamente.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentarios:

Publicar un comentario

Objetivo Y Reclamaciones

Este blog es un portal en el cual se publican contenidos de diferentes blogs.En los cuales se les anexa al pie de pagina un enlace a su pagina original aquí encontraran toda clase de proyectos de arduino y linux
Espero tengan una gran experiencia en este blog un Gran Saludo
de parte de la organización WebCervices..
objetivo
O del grupo ArduinoTec De arduino
Cualquier reclamación o petición comunicar al Administrador principal o hacer un comentario en la publicación que se sientan inconformes en los correos
electriarias@gmail.com
y para temas de suma importancia mi correo personal
pabioarias@hotmail.com

Siguenos en Twitter

Like

Unete a nuestro grupo de facebook

Hola que tal lectores de esta pagina tan maravillosa que es arduino Tec ...Los invito a que amplíen mas sus conocimientos en Arduino y Raspberry Pi Uniéndose a La mi grupo Arduino Tec

Unete Al Grupo De facebook

Unete Al Grupo De facebook
Amplia tus conocimientos debatiendo temas de Arduino y Raspberry pi