8: import controlP5.*;
9: import processing.serial.*;
10:
11: // creamos las variables para controlP5, el Slider y el puerto serial
12:
13: ControlP5 cp5;
14: Knob KnobA;
15: Knob KnobB;
16: Knob KnobC;
17: Serial serial;
18: int valR = 128;
19: int valG = 128;
20: int valB = 128;
21:
22: // Solo se ejecuta una vez, al iniciar el Sketch//
23:
24: void setup() {
25:
26: // Tamaño de la Ventana //
27:
28: size(800, 450);
29: noStroke();
30:
31: // Creamos el objeto de ControlP5//
32:
33: cp5 = new ControlP5(this);
34:
35: // Creamos el objeto de Slider//
36:
37: KnobA = cp5.addKnob("R", 0, 255, 128, 40, 40, 200);
38: KnobA.setColor( new CColor(
39: 0xFFAA0000, 0xFF550000, 0xFFFF0000,
40: 0xFFFFFFFF, 0xFFFFFFFF));
41:
42: KnobB = cp5.addKnob("G", 0, 255, 128, 240+10, 40, 200);
43: KnobB.setColor( new CColor(
44: 0xFF00AA00, 0xFF005500, 0xFF00FF00,
45: 0xFFFFFFFF, 0xFFFFFFFF));
46:
47: KnobC = cp5.addKnob("B", 0, 255, 128, 440+20, 40, 200);
48: KnobC.setColor( new CColor(
49: 0xFF0000AA, 0xFF000055, 0xFF0000FF,
50: 0xFFFFFFFF, 0xFFFFFFFF));
51:
52: // Creamos el objeto del serial//
53:
54: serial = new Serial(this, Serial.list()[1], 9600);
55: }
56:
57:
58: void draw() {
59: background(0xFF444444); //*color gris en el fondo *//
60:
61:
62: /*definir el color de relleno combinando los valores
63: de los colores de los 3 Knobs
64: */
65:
66: fill(valR, valG, valB);
67:
68: // dibujar el rectángulo con ese color//
69:
70: rect(20, 300, 750, 120);
71: }
72:
73: // Cuando ocurra un evento, aquí lo procesamos//
74:
75: void controlEvent(ControlEvent evento) {
76:
77: // Obtenemos el nombre y el valor del evento//
78:
79: String nombre = evento.getController().getName();
80: int valor = int(evento.getController().getValue());
81: println(nombre + valor);
82: serial.write(nombre+valor);
83:
84: // guardar el valor en la variable para cada color
85:
86: if (nombre == "R") {
87: valR = valor;
88: }
89: if (nombre == "G") {
90: valB = valor;
91: }
92: if (nombre == "B") {
93: valG = valor;
94: }
95:
96: }