import processing.serial.*;
import controlP5.*;
ControlP5 cp5;
Serial puerto;
int valorR = 128;
int valorG = 128;
int valorB = 128;
int colorBackgroun = 0xFF1144FF;
void setup()
{
//tamaƱo de la ventana
size(260, 500);
//se crea el objeto controlP5
cp5 = new ControlP5(this);
// crear el Slider para el color Rojo
Slider slideR =
cp5.addSlider("R", 0, 255, 128, 15, 180, 50, 300);
slideR.setColor( new CColor(
0xFFAA0000, 0xFF550000, 0xFFFF0000,
0xFFFFFFFF, 0xFFFFFFFF));
// crear el Slider para el color Verde
Slider slideG =
cp5.addSlider("G", 0, 255, 128, 95, 180, 50, 300);
slideG.setColor( new CColor(
0xFF00AA00, 0xFF005500, 0xFF00FF00,
0xFFFFFFFF, 0xFFFFFFFF));
// crear el Slider para el color Azul
Slider slideB =
cp5.addSlider("B", 0, 255, 128, 175, 180, 50, 300);
slideB.setColor( new CColor(
0xFF0000AA, 0xFF000055, 0xFF0000FF,
0xFFFFFFFF, 0xFFFFFFFF));
String COM = Serial.list()[0];
puerto = new Serial(this, COM, 9600); //comunicacion serial a 9600bps
}
void draw()
{
//se pinda la pantalla
background(colorBackgroun);
//se pinda los Slider
fill(valorR, valorG, valorB);
//dibuja el rectangulo que contendra
//la combinacion de colores RGB
rect(15, 15, 210, 150);
}
public void controlEvent(ControlEvent theEvent)
{
//se obtiene el nombre y valor del Slider
String nombre = theEvent.getController().getName();
int valor = int(theEvent.getController().getValue());
if (nombre == "R")
{
valorR = valor;
//se envia el carecter R en ascii, 82
puerto.write(82);
//valor de iluminacion del led rojo
puerto.write(valorR);
}
else if (nombre == "G")
{
valorG = valor;
//se envia el carecter G en ascii, 71
puerto.write(71);
//valor de iluminacion del led verde
puerto.write(valorG);
}
else if (nombre == "B")
{
valorB = valor;
//se envia el carecter B en ascii, 66
puerto.write(66);
//valor de iluminacion del led azul
puerto.write(valorB);
}
}