Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // utilizar la libreria ControlP5
  2. import controlP5.*;
  3. import processing.serial.*;
  4.  
  5. // definir la variable cp5 del tipo ControlP5
  6. ControlP5 cp5;
  7. Serial puerto;
  8.  
  9. // como deseamos controlar los colores RGB
  10. // necesitamos 3 variables
  11. int valR = 128;  
  12. int valG = 128;  
  13. int valB = 128;  
  14.  
  15. // configuración inicial
  16. void setup() {
  17.  String COM = Serial.list()[1];
  18.   puerto = new Serial(this, COM, 9600);
  19.  
  20.   size(240, 500); // tamaño de la ventana
  21.   noStroke();     // no dibujar el border del rectángulo
  22.  
  23.   // crear el objeto ControlP5
  24.   cp5 = new ControlP5(this);
  25.  
  26.   // crear el Slider para el color Rojo
  27.   Slider slideR =
  28.     cp5.addSlider("R", 0, 255, 0, 15, 180, 50, 300);
  29.   slideR.setColor( new CColor(
  30.     0xFFAA0000, 0xFF550000, 0xFFFF0000,
  31.     0xFFFFFFFF, 0xFFFFFFFF));
  32.   // crear el Slider para el color Verde
  33.   Slider slideG =
  34.     cp5.addSlider("G", 0, 255, 0, 95, 180, 50, 300);
  35.   slideG.setColor( new CColor(
  36.     0xFF00AA00, 0xFF005500, 0xFF00FF00,
  37.     0xFFFFFFFF, 0xFFFFFFFF));
  38.   // crear el Slider para el color Azul
  39.   Slider slideB =
  40.     cp5.addSlider("B", 0, 255, 0, 175, 180, 50, 300);
  41.   slideB.setColor( new CColor(
  42.     0xFF0000AA, 0xFF000055, 0xFF0000FF,
  43.     0xFFFFFFFF, 0xFFFFFFFF));
  44. }
  45.  
  46. // dibujar cada frame
  47. void draw()  
  48. {
  49.   background(0xFF444444);  // color gris del fondo
  50.   // definir el color de relleno combinando los valores
  51.   // de los colores de los 3 Sliders
  52.   fill(valR, valG, valB);  
  53.   // dibujar el rectángulo con ese color
  54.   rect(15, 15, 210, 150);
  55. }  
  56.  
  57. // actuar cuando ocurra un evento con los Sliders
  58. public void controlEvent(ControlEvent theEvent) {
  59.   // guardar el nombre y valor del evento
  60.   String nombre = theEvent.getController().getName();
  61.   int valor = int(theEvent.getController().getValue());
  62.  
  63.   // guardar el valor en la variable para cada color
  64.   if (nombre == "R")
  65.   {
  66.     puerto.write('r');    
  67.   }else if (nombre == "G")
  68.   {
  69.     puerto.write('g');
  70.   }else if (nombre == "B")
  71.   {
  72.     puerto.write('b');
  73.   }
  74.   puerto.write(valor);
  75.   println(valor+"  "+nombre);
  76.  
  77. }