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