import controlP5.*; // utilizar la libreria controlp5
import processing.serial.*; // utilizar la liberia processing.serial
ControlP5 cp5; // definir la variable cp5 del tipo ControlP5
Knob rojo, verde, azul; // definir la variable rojo,verde y azul del tipo Knob
Textlabel texto1, texto2, texto3, texto4, texto5, texto6; // definir las variables texto del tipo Textlabel
Serial serial; // definir la variable serial del tipo Serial
// configuraciĆ³n inicial
void setup()
{
serial = new Serial(this, Serial.list()[0],9600); // inicializamos el puerto serial a 9600 baudios
String puerto = Serial.list()[0]; //definimos la variable puerto de tipo cadena
size(620,400); // tamaƱo de la ventana
cp5 = new ControlP5(this); // crear el objeto ControlP5
// crear el knob para la intensidad de color rojo
rojo = cp5.addKnob("R",0,255,0,70,120,100);
rojo.setColor(new CColor(0xFFff0000,0xFF9f9f00,0xFF5f0000,0xFFFFFFFF,0xFFFFFFFF));
// crear el knob para la intensidad de color verde
verde = cp5.addKnob("G",0,255,0,260,120,100);
verde.setColor(new CColor(0xFF00FF00,0xFF9f9f00,0xFF005F00,0xFFFFFFFF,0xFFFFFFFF));
// crear el knob para la intensidad de color azul
azul = cp5.addKnob("B",0,255,0,450,120,100);
azul.setColor(new CColor(0xFF0000ff,0xFF9f9f00,0xFF00005f,0xFFFFFFFF,0xFFFFFFFF));
// crear texto
texto1 = cp5.addTextlabel("label")
.setText("CONTROL DE LED RGB")
.setPosition(30,50)
.setColorValue(0xffffffFF)
.setFont(createFont("Ravie",40))
;
texto2 = cp5.addTextlabel("label1")
.setText("ROJO")
.setPosition(95,235)
.setColorValue(0xffffffFF)
.setFont(createFont("Comic Sans MS",15))
;
texto3 = cp5.addTextlabel("label2")
.setText("VERDE")
.setPosition(280,235)
.setColorValue(0xffffffFF)
.setFont(createFont("Comic Sans MS",15))
;
texto4 = cp5.addTextlabel("label3")
.setText("AZUL")
.setPosition(475,235)
.setColorValue(0xffffffFF)
.setFont(createFont("Comic Sans MS",15))
;
// otra forma de crear texto
texto4 = new Textlabel(cp5,"Estudiante: Andres Felipe Sinisterra",40,280,600,200);
texto4.setFont(createFont("MV Boli",15));
texto5 = new Textlabel(cp5,"Ingenieria Electronica",40,295,600,200);
texto5.setFont(createFont("MV Boli",15));
texto6 = new Textlabel(cp5,"Decimo semestre",40,310,600,200);
texto6.setFont(createFont("MV Boli",15));
}
void draw()
{
background(200,70,20); // color de fondo de la ventana
texto4.draw(this); // introduce el texto en la ventana
texto5.draw(this);
texto6.draw(this);
}
void controlEvent (ControlEvent evento) // se activa cuando ocurra un evento con los botones
{
String nombre = evento.getController().getName(); // recoje el nombre del slider y lo convierte en cadena
int valor = int(evento.getController().getValue()); // recoje el valor del slider y lo convierte en entero
serial.write(nombre + ":" + valor); // envia por el puerto serial el nombre y el valor
println(nombre + ":" + valor); // imprime por pantalla el nombre y el valor
}