//*----------------------
// Laboratorio #6
//
// Version 1.0
// ANDRES SATIZABAL
// Septiembre/2014
//*----------------------
import controlP5.*;
import processing.serial.*;
// se definen los objetos usados
ControlP5 cp5;
Serial serial;
// variables
int myColor = color(255);
int c1, c2;
String letra;
int [] Clr = {
255, 255, 255
};
float n, n1;
// Solo se ejecuta una vez, al iniciar el Sketch
void setup() {
size(200, 350); // tamaño de la ventana
noStroke(); // no dibujar el border de los rectángulos
// crear el objeto ControlP5 y cada boton
cp5 = new ControlP5(this);
cp5.addButton("MovA")
.setValue(0)
.setPosition(50, 50)
.setSize(100, 25)
;
cp5.addButton("MovB")
.setValue(100)
.setPosition(50, 80)
.setSize(100, 25)
;
cp5.addButton("MovC")
.setValue(0)
.setPosition(50, 110)
.setSize(100, 25)
;
cp5.addButton("MovD")
.setValue(0)
.setPosition(50, 140)
.setSize(100, 25)
;
cp5.addButton("MovE")
.setValue(0)
.setPosition(50, 170)
.setSize(100, 25)
;
cp5.addButton("MovF")
.setValue(0)
.setPosition(50, 200)
.setSize(100, 25)
;
cp5.addButton("MovG")
.setValue(0)
.setPosition(50, 230)
.setSize(100, 25)
;
cp5.addButton("MovH")
.setValue(0)
.setPosition(50, 260)
.setSize(100, 25)
;
// Creamos el objeto del puerto Serial
serial = new Serial(this, Serial.list()[0], 9600);
}
void draw() {
// se dibuja el color de fondo de acuerdo
// al boton pulsado
background(myColor);
myColor = lerpColor(c1, c2, n);
n += (1-n)* 0.05;
}
public void controlEvent(ControlEvent evento) {
// guardar el nombre y valor del evento
n = 0;
String nombre = evento.getController().getName();
// dependiendo del nombre del evento se carga una letra a
// la variable del mismo nombre y se guarda un color para cada uno
if (nombre == "MovA") {
letra = "A";
Clr[0] = 200;
Clr[1] = 250;
Clr[2] = 255;
}
if (nombre == "MovB") {
letra = "B";
Clr[0] = 21;
Clr[1] = 156;
Clr[2] = 255;
}
if (nombre == "MovC") {
letra = "C";
Clr[0] = 236;
Clr[1] = 0;
Clr[2] = 21;
}
if (nombre == "MovD") {
letra = "D";
Clr[0] = 1;
Clr[1] = 56;
Clr[2] = 100;
}
if (nombre == "MovE") {
letra = "E";
Clr[0] = 100;
Clr[1] = 50;
Clr[2] = 200;
}
if (nombre == "MovF") {
letra = "F";
Clr[0] = 25;
Clr[1] = 225;
Clr[2] = 150;
}
if (nombre == "MovG") {
letra = "G";
Clr[0] = 230;
Clr[1] = 200;
Clr[2] = 200;
}
if (nombre == "MovH") {
letra = "H";
Clr[0] = 100;
Clr[1] = 100;
Clr[2] = 100;
}
c1 = c2;
c2 = color(Clr[0], Clr[1], Clr[2]);
println(letra);
serial.write(letra);
}