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