Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //lAB 5
  2. //Crhistian David Lucumi
  3. //Usc
  4. //Version 1.0
  5. import controlP5.*;
  6. import processing.serial.*;
  7. ControlP5 cp5;
  8. Knob KnobA;
  9. Knob KnobB;
  10. Knob KnobC;
  11. Serial serial;
  12. int valR = 128;
  13. int valG = 128;
  14. int valB = 128;
  15. // Solo se ejecuta una vez, al iniciar el Sketch
  16. void setup() {
  17. // Tamaño de la Ventana
  18. size(800, 450);
  19. noStroke();
  20. // Creamos el objeto de ControlP5
  21. cp5 = new ControlP5(this);
  22. // Creamos el objeto Slider
  23. KnobA = cp5.addKnob("R", 0, 255, 128, 40, 40, 200);
  24. KnobA.setColor( new CColor(
  25. 0xFFAA0000, 0xFF550000, 0xFFFF0000,
  26. 0xFFFFFFFF, 0xFFFFFFFF));
  27.  
  28. KnobB = cp5.addKnob("G", 0, 255, 128, 240+10, 40, 200);
  29. KnobB.setColor( new CColor(
  30. 0xFF00AA00, 0xFF005500, 0xFF00FF00,
  31. 0xFFFFFFFF, 0xFFFFFFFF));
  32.  
  33. KnobC = cp5.addKnob("B", 0, 255, 128, 440+20, 40, 200);
  34. KnobC.setColor( new CColor(
  35. 0xFF0000AA, 0xFF000055, 0xFF0000FF,
  36. 0xFFFFFFFF, 0xFFFFFFFF));
  37.  
  38. // Creamos el objeto del puerto Serial
  39. serial = new Serial(this, Serial.list()[0], 9600);
  40. }
  41.  
  42. // Se ejecuta N frames por segundo
  43. void draw() {
  44. background(0xFF444444); // color gris del fondo
  45. // definir el color de relleno combinando los valores
  46. // de los colores de los 3 Knobs
  47. fill(valR, valG, valB);
  48. // dibujar el rectángulo con ese color
  49. rect(20, 300, 750, 120);
  50. }
  51.  
  52. // Cuando ocurra un evento, aquí lo procesamos
  53. void controlEvent(ControlEvent evento) {
  54. // Obtenemos el nombre y el valor del evento
  55. String nombre = evento.getController().getName();
  56.  
  57. int valor = int(evento.getController().getValue());
  58. // Envíamos el valor al Arduino a través del Serial
  59. if (nombre.equals("R")){serial.write("R"+valor); valR=valor;}
  60. else if (nombre.equals("G")){ serial.write("G"+valor); valG=valor;}
  61. else if (nombre.equals("B")){ serial.write("B"+valor); valB=valor;}
  62.  
  63.  
  64.  
  65.  
  66. // Imprimimos en la consola, para ver que todo va Ok
  67. println(nombre + ":" + valor);
  68. }