Paso 5: Configurar los programas de
Enchufe el Arduino en el ordenador (una conexión incluso puedo manejar!) y subir el código a continuación con la etiqueta "ARDUINO". Procesamiento de Abra y ejecute el código siguiente con la etiqueta "Procesamiento".CÓDIGO DE ARDUINO:
=====================
www.plusea.at
Lee la entrada analógica de las cinco entradas de su placa de arduino
y envía vía serie
variables de entrada de clavijas y
int analogInput0 = 0;
int analogInput1 = 1;
int analogInput2 = 2;
int analogInput3 = 3;
int analogInput4 = 4;
int analogInput5 = 5;
variable para almacenar el valor
value0 int = 0;
int valor1 = 0;
int valor2 = 0;
int valor3 = 0;
value4 int = 0;
int value5 = 0;
void setup() {}
Declaración de los modos de pin
pinMode (analogInput0, entrada);
pinMode (analogInput1, entrada);
pinMode (analogInput2, entrada);
pinMode (analogInput3, entrada);
pinMode (analogInput4, entrada);
pinMode (analogInput5, entrada);
comenzar a enviar por puerto serie
Serial.Begin(9600);
} / / fin de programa de instalación
void loop() {}
leer el valor de entrada analógica
value0 = analogRead(analogInput0);
valor1 = analogRead(analogInput1);
valor2 = analogRead(analogInput2);
valor3 = analogRead(analogInput3);
value4 = analogRead(analogInput4);
value5 = analogRead(analogInput5);
Imprimir valor sobre el puerto serial
Serial.Print (1, BYTE); Prefijo de número
Serial.Print(value0);
Serial.Print (10, BYTE); señal de fin
Serial.Print (2, BYTE);
Serial.Print(value1);
Serial.Print (10, BYTE);
Serial.Print (3, BYTE);
Serial.Print(value2);
Serial.Print (10, BYTE);
Serial.Print (4, BYTE);
Serial.Print(value3);
Serial.Print (10, BYTE);
Serial.Print (5, BYTE);
Serial.Print(value4);
Serial.Print (10, BYTE);
Serial.Print (6, BYTE);
Serial.Print(value5);
Serial.Print (10, BYTE);
Espere un poco para no sobrecargar el puerto
Delay(100);
} / / fin de bucle
CÓDIGO DE PROCESAMIENTO:
=====================
/*
* Basado en el código por Hannah Perner-Wilson, www.plusea.at
* Modificado por Sam Kronick www.newuntitledpage.com
*/
Import processing.serial.*;
definición de tamaño de la ventana
Usted puede cambiar el tamaño de la ventana como
el thresholdGraph se escalarán para adaptarse a
el tamaño óptimo para la thresholdGraph es 1000 x 400
xWidth int = 800;
int yHeight = 600;
Valores actuales
int [] valores = {0,0,0,0,0,0};
Valores promedio de tiempo
int [] avgCounter = {0,0,0,0,0,0};
int [] GVA = {0,0,0,0,0,0};
Static final int intervalo = 5;
Cero valores, cambiados en la barra espaciadora prensa de la fuerza
int [] ceros = {0,0,0,0,0,0};
variables para la conexión en serie. portname y baudrate están usuario específico
Serie port1;
Configurar su puerto serie aquí (mirar lista impresa cuando se ejecuta la aplicación una vez)
Cadena V3 = Serial.list() [0];
String portname1 = V3;
int baudrate = 9600;
Prefijo de número de int = 1;
Boolean myCatch = true;
int serialIN = 0;
int serialINPUT = 0;
Búfer de cadena = "";
int valor = 0;
void setup() {}
determinado tamaño y velocidad de fotogramas
tamaño (xWidth, yHeight);
frameRate(25);
Background(255);
strokeWeight(5);
Stroke(0);
Smooth();
colorMode(HSB);
establecer conexión de puerto serie
PORT1 = serie nueva (este, portname1, velocidad de transmisión);
println(serial.List()); Imprimir lista de serie
} //end configuración
{} void keyPressed()
Si (clave == ' ') {}
para (int i = 0; i ceros [i] = GVA [i];
}
}
}
sorteo escucha al puerto serie, dibujar
void draw() {}
Background(255);
escuchar serie evento serial port y gatillo
while(PORT1.Available() > 0) {}
serialIN = port1.read();
serialEvent(serialIN);
}
para (int i = 0; i < 4; i ++) {}
Si (frameCount % intervalo > 0) {}
avgCounter [i] += valores [i];
}
Else {}
GVA [i] = avgCounter [i] / intervalo;
avgCounter [i] = 0;
}
Si (GVA [i] - ceros [i] < 0)
relleno (0, 20 *-(GVA [i] - zeros[i]), 250);
otra cosa
relleno (100, 20 * (GVA [i] - zeros[i]), 250);
Rect (ancho/2, altura/4 * i, 10*(avgs[i]-zeros[i]), altura/4);
}
}
void serialEvent (int serialINPUT) {}
if(myCatch == true) {}
Si (serialINPUT! = 10) {}
Añadir evento a tampón
búfer += char(serialINPUT);
println(serialINPUT);
}
Else {}
Si serial es salto de línea ajuste valor de búfer y borrar búfer
valor = int(buffer);
Values[(prefix-1)] = valor;
myCatch = false;
buffer = "";
}
}
myCatch es la beginging de cada número el sended utilizado para definir el puerto
myCatch es verdadero si el serial es menos de 10 ya que es 1-9
Si (! myCatch & & serialINPUT < 10) {}
myCatch = true;
Prefijo = int(serialINPUT);
}
}