arduino,cursos,guias,manuales,tutoriales,ejemplos,ejercicios,codigos,electronica,circuitos,montajes,placas,componentes,noticias,actualidad,libros,descargas,pruebas,courses, guides,manuals,tutorials,examples,exercises,code,electronic,circuits,assemblies,boards,components,news, books,downloads,tests.

No puedo continuar con este proyecto

Supongo que muchos ya os habréis dado cuenta de que este blog está desactualizado desde hace unos años. No puedo seguir con el por muchos motivos, entre ellos, que ha pasado tanto tiempo que no toco arduino y la electronica que los pocos conocimientos que tenía los he ido olvidando. El trabajo y los estudios me tienen demasiado ocupado como para ponerme a montar circuitos y dedicar horas a diseñar lo que tenía en mente. No digo que lo deje para siempre, porque en el fondo me gustaría mucho terminar este proyecto, pero por el momento va a ser imposible. Dejo el blog en linea para aquellos que estáis empezando con arduino, pues creo que las pocas explicaciones que pude poner hace 2 años pueden servir de guía para empezar con esta maravillosa placa. Si algún día puedo retomar este proyecto, tener por seguro que lo pondré en este blog.

Saludos a todos/as.

Edito y agrego:

Gracias a la web de Taringa, un portal de compartir, se me han terminado de quitar las ganas que tenía de continuar con este proyecto. Si al poco tiempo que tengo le sumamos que un portal que no me merece respeto ninguno, se dedica a copiar el trabajo de los demás y si le pides que los borres te mandan a contactar con una empresa para que presentes pruebas de derechos de copyright, comprenderéis que a uno se le bajen los ánimos. Un visitante copió todas las páginas del blog y las subió al portal mencionado anteriormente. Ahora sale en Google la página de Taringa que contiene el contenido de mi blog en primera posición pasando el blog original a los últimos resultados de la primera página o a la segunda página. Una cosa es compartir y otra cosa es robar contenidos. Puedo comprender y comprendo que hay mucha gente que necesita software o libros para poder formarse, para avanzar en este mundo de la informática y pagar todas las licencias es difícil, por lo que puedo comprender que algunos usuarios pirateen. No es mi caso, pues siempre he comprado lo que he necesitado, aunque algunas veces haya descargado algún libro de internet, pero después he ido a la tienda y he comprado el libro cuanto que he tenido dinero. Ahora tengo una buena colección de libros y todo el software de mi ordenador legal, pues gracias al software libre no tengo necesidad de usar programas de pago y como el sistema operativo viene incluido en el ordenador puedo usar Windows. Volviendo al tema de lo que ha sucedido, me parece vergonzoso que un usuario se dedique a copiar una información de un lugar de libre acceso y la copie en Taringa con el descaro de decir en los comentarios que estaba cansado de hacer tutoriales de arduino toda la tarde, como diciendo que los había escrito el. Desde aquí un saludo al usuario, a Taringa y a todos los familiares de los mismos.

Ahora si puedo afirmar que no voy a continuar con el proyecto. Disculpar las molestias.

A LA IZQUIERDA DE LA PAGINA ESTAN TODOS LOS ENLACES QUE FORMAN ESTE BLOG PARA FACILITAR LA NAVEGACION


Buscar en este blog

sábado, 25 de julio de 2009

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.