Un computador no tiene una mente en el sentido que lo tiene un ser humano. Lo que se refiere como "mente" en un computador es realmente el microcontrolador, un chip de silicio que ejecuta instrucciones y procesa información. Aunque es capaz de leer y ejecutar instrucciones, no tiene la capacidad de pensar de manera autónoma ni tomar decisiones como lo hace un ser humano. Su función es seguir las instrucciones programadas y procesar la información de acuerdo a su diseño, sin conciencia ni pensamiento propio.


¡Excelente decisión! La placa Arduino es una excelente herramienta para empezar a trabajar con microcontroladores y programación. Antes de enviar instrucciones, asegúrate:


Pasos siguientes:


1.Descarga el software Arduino IDE aquí


2.Adquirir la placa Arduino Nano 


3. Materiales y conexiónes: 6 potenciometros 10 Kohms, 9 interruptores. Cables para conectar placa y componentes. 


4. Asegúrate que la placa esté conectada correctamente a tu computador y a los componentes que desees controlar. Luego conecta la laca arduino nano mediante puerto usb al computador.


5. Abrir Arduino IDE, configurar selección de placa arduino "Nano"  Copia y pega  este código fuente.

Presiona el botón de "Compilar y ejecutar" en la Arduino IDE para ejecutar el código en la placa.


6. Ya terminado este proceso, debes activar en tu computadora el puerto Midi. 


- En Mac debes activar el puerto midi en configuración audio/midi y descargar Hairless

MIDI <->Serial Bridge es la forma más fácil de conectar dispositivos serie (como Arduinos) para enviar y recibir señales MIDI. Software 100% Libre. Para Mac OS X, Windows y Linux.


- Windows, debes crear el puerto midi mediante Loop Midi ver aquí y Hairless.


Ahora ya puedes disfrutar tu interfaz midi mediante puerto usb, puedes mapear estos controles con programas de audiovisual y DAW. Solo debes elegir el puerto midi creado. 



Mobirise

Conexiones de componentes y placa arduino nano.

Crea tu midi con Arduino Nano


Existen varios tipos de tarjetas programables arduino, por temas de diseño compacto, hemos seleccionado esta placa  popular y versátil que cuenta con  entradas y salidas analógicas y digitales. A continuación, te presento la información sobre las entradas y salidas disponibles a usar en el Arduino Nano:

- Entradas Digitales

14 pines digitales (D2-D13) con capacidad de leer señales digitales (0 o 1). Solo usaremos 6 Entradas digitales (D2-D3-D4-D5-D6-D7) ya que en ellas va conectado los interruptores. La salida del interruptor en común al terminal +5V.

- Entradas Analógicas

6 entradas analógicas (A0-A7) con capacidad de leer señales analógicas (0-5V). Usaremos las misma 6 entradas analógicas para los 6 potenciometros (A0-A1-A2-A3-A4-A5). Solo el Pin común del potenciometro va conectado, mientras que ambos restantes a positivo y negativo respectivamente.

Nota: Puedes aumentar la cantidad de botones digitales fisicos y reprogramar la cantidad de interruptores desde el código fuente en el software arduino.

Mobirise Website Builder

Image Description

Ya conectados y montados los componentes (potenciometros e interruptores) 

Con la ayuda de la impresion 3D, se diseño esta superficie de control MIDI de cretubeat. Una forma facil de distribuir los espacios de estos componentes de control.

Gracias a la impresión 3D puedes crear la superficie de control. Botones y perillas. Si lo puedes imaginar, lo puedes crear.
Puedes leer acerca de diseños 3D aquí.

Código fuente, aquí sucede la mágia


Este código funciona para configurar cualquier número de botones y potenciómetros
los botones se conectan a partir del pin 2 digital, (2,3,4,5...)
los potenciómetros se conectan a partir de A0,A1....
Para usar el código sólo hay que modificar nBotones, notas[] y nPots */

A continuación,  código fuente a copiar y pegar en Arduino IDE:

const int nBotones = 17; //este es el número de botones
const int calibracion=80; //este valor funciona como una especie de delay
boolean notaioff[nBotones];
int contador[nBotones];
//el array notas[] debe tener un mismo número de elementos
//que el número de botones, pues cada nota corresponde a un botón
//byte notas[] = {34,36,39,43}; //estás son las notas que se dispararán los botones
byte notas[] = {35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50}; //estás son las notas que se dispararán los botones


const int nPots=16; //número de potenciómetros, Arduino Mega te da la posibilidad, otros modelos son limtados. Diseña de acuerdo a tus controles midi necesarios para tu Map Daw o instrumento virtual.
int lecturas[nPots];
int lecturasAnteriores[nPots];
void setup() {

Serial.begin(9600);
for (int i=0;i {
pinMode(i+2, INPUT_PULLUP);
}
}

void loop() {
for (int i=0; i {
if (digitalRead(i+2) == LOW) //botón presionado
{
if (contador[i]==0)//cuenta regresiva terminada ?
{
if (notaioff[i]== 1) //¿la nota esta apagada?
{
contador[i]=calibracion; //valor de cuenta regresiva
midi(144,notas[i],100); //se envía la nota
notaioff[i] = 0; //la nota no esta apagada (esta encendida)
}
}

}
else //botón sin presionar (posible envio de Note Off)
{
if (contador[i]==0) //cuenta regresiva terminada ?
{
if (notaioff[i] ==0) //¿La nota esta esta activada?
{
contador[i]=calibracion; //valor de cuenta regresiva
midi(128,notas[i],0); //envio de note off
notaioff[i] = 1; //la nota ya no está encendida
}
}
}
}
for (int i=0; i//cuentas regresivas
{
if (contador[i]>0) contador[i]--;
}

for (int k=0; k {
lecturas[k] = map(analogRead(k),0,1023,0,255); //mapeamos al rango al doble del CC
}

for (int k=0; k{ //vemos si hubo un cambio en el valor de los potenciometros
if (lecturas[k] > (lecturasAnteriores[k]+1) || lecturas[k] < (lecturasAnteriores[k]-1) )
{
midi(176,k+30,lecturas[k]/2); //mándamos a partir del CC 30
lecturasAnteriores[k] = lecturas[k];
}
}

}

void midi(unsigned char command, unsigned char note,unsigned char vel)
{
Serial.write(command);
Serial.write(note);
Serial.write(vel);
}

Mobirise

Un controlador Midi de 16 Snobs & 16 Botones

Recicla equipos en desuso. 

Aqui un claro ejemplo de una viejo mezclador de audio. Se utilizo el gabinete y se integro la placa arduino Mega. Ya que en ella posee una cantidad inmensa de entradas y salidas para botones (switch originales del case y arcade) y potenciometros (perillas/snobs). 

Best AI Website Maker