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