Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //*----------------------
  2. // Laboratorio #6
  3. //
  4. // Version 1.0
  5. // ANDRES SATIZABAL
  6. // Septiembre/2014
  7. //*----------------------
  8.  
  9. import controlP5.*;
  10. import processing.serial.*;
  11.  
  12. // se definen los objetos usados
  13. ControlP5 cp5;
  14. Serial serial;
  15.  
  16. // variables
  17. int myColor = color(255);
  18. int c1, c2;
  19. String letra;
  20. int [] Clr = {
  21. 255, 255, 255
  22. };
  23. float n, n1;
  24.  
  25. // Solo se ejecuta una vez, al iniciar el Sketch
  26. void setup() {
  27.  
  28. size(200, 350); // tamaño de la ventana
  29. noStroke(); // no dibujar el border de los rectángulos
  30.  
  31. // crear el objeto ControlP5 y cada boton
  32. cp5 = new ControlP5(this);
  33.  
  34. cp5.addButton("MovA")
  35. .setValue(0)
  36. .setPosition(50, 50)
  37. .setSize(100, 25)
  38. ;
  39.  
  40. cp5.addButton("MovB")
  41. .setValue(100)
  42. .setPosition(50, 80)
  43. .setSize(100, 25)
  44. ;
  45.  
  46. cp5.addButton("MovC")
  47. .setValue(0)
  48. .setPosition(50, 110)
  49. .setSize(100, 25)
  50. ;
  51.  
  52. cp5.addButton("MovD")
  53. .setValue(0)
  54. .setPosition(50, 140)
  55. .setSize(100, 25)
  56. ;
  57.  
  58. cp5.addButton("MovE")
  59. .setValue(0)
  60. .setPosition(50, 170)
  61. .setSize(100, 25)
  62. ;
  63.  
  64. cp5.addButton("MovF")
  65. .setValue(0)
  66. .setPosition(50, 200)
  67. .setSize(100, 25)
  68. ;
  69.  
  70. cp5.addButton("MovG")
  71. .setValue(0)
  72. .setPosition(50, 230)
  73. .setSize(100, 25)
  74. ;
  75.  
  76. cp5.addButton("MovH")
  77. .setValue(0)
  78. .setPosition(50, 260)
  79. .setSize(100, 25)
  80. ;
  81.  
  82. // Creamos el objeto del puerto Serial
  83. serial = new Serial(this, Serial.list()[0], 9600);
  84. }
  85.  
  86. void draw() {
  87.  
  88. // se dibuja el color de fondo de acuerdo
  89. // al boton pulsado
  90. background(myColor);
  91. myColor = lerpColor(c1, c2, n);
  92. n += (1-n)* 0.05;
  93. }
  94.  
  95. public void controlEvent(ControlEvent evento) {
  96.  
  97. // guardar el nombre y valor del evento
  98. n = 0;
  99. String nombre = evento.getController().getName();
  100.  
  101. // dependiendo del nombre del evento se carga una letra a
  102. // la variable del mismo nombre y se guarda un color para cada uno
  103.  
  104. if (nombre == "MovA") {
  105. letra = "A";
  106. Clr[0] = 200;
  107. Clr[1] = 250;
  108. Clr[2] = 255;
  109. }
  110.  
  111. if (nombre == "MovB") {
  112. letra = "B";
  113. Clr[0] = 21;
  114. Clr[1] = 156;
  115. Clr[2] = 255;
  116. }
  117.  
  118. if (nombre == "MovC") {
  119. letra = "C";
  120. Clr[0] = 236;
  121. Clr[1] = 0;
  122. Clr[2] = 21;
  123. }
  124.  
  125. if (nombre == "MovD") {
  126. letra = "D";
  127. Clr[0] = 1;
  128. Clr[1] = 56;
  129. Clr[2] = 100;
  130. }
  131.  
  132. if (nombre == "MovE") {
  133. letra = "E";
  134. Clr[0] = 100;
  135. Clr[1] = 50;
  136. Clr[2] = 200;
  137. }
  138.  
  139. if (nombre == "MovF") {
  140. letra = "F";
  141. Clr[0] = 25;
  142. Clr[1] = 225;
  143. Clr[2] = 150;
  144. }
  145.  
  146. if (nombre == "MovG") {
  147. letra = "G";
  148. Clr[0] = 230;
  149. Clr[1] = 200;
  150. Clr[2] = 200;
  151. }
  152.  
  153. if (nombre == "MovH") {
  154. letra = "H";
  155. Clr[0] = 100;
  156. Clr[1] = 100;
  157. Clr[2] = 100;
  158. }
  159.  
  160. c1 = c2;
  161. c2 = color(Clr[0], Clr[1], Clr[2]);
  162.  
  163. println(letra);
  164. serial.write(letra);
  165. }