Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. import controlP5.*;        
  2. import processing.serial.*;  
  3. ControlP5 cp5;                
  4. Toggle l1, l2, l3, l4, l5, l6, l7, l8;        
  5. Textlabel texto1, texto2, texto3, texto4, texto5, texto6;
  6. Serial serial;              
  7.  
  8.  
  9. int[] led = new int[] {0, 0, 0, 0, 0, 0, 0, 0};  
  10.  
  11. void setup()
  12. {
  13.   serial = new Serial(this, Serial.list()[0], 9600);  
  14.   String puerto = Serial.list()[0];                  
  15.   size(600, 400);                      
  16.   cp5 = new ControlP5(this);          
  17.  
  18.  
  19.   for (int i=0; i<led.length; i++)
  20.     cp5.addToggle("LED"+i, 50+i*70, 220, 40, 40);
  21.    
  22.  
  23.   texto1 = cp5.addTextlabel("label")
  24.     .setText("CONTROL DE LEDS")
  25.       .setPosition(20, 20)
  26.         .setColorValue(0xffffffFF)
  27.           .setFont(createFont("Broadway", 60))
  28.             ;
  29.  
  30.   texto2 = cp5.addTextlabel("label1")
  31.     .setText("Control de encendido y apagado de un led por individual")
  32.       .setPosition(45, 100)
  33.         .setColorValue(0xffffffFF)
  34.           .setFont(createFont("Comic Sans MS", 20))
  35.             ;      
  36.  
  37.  
  38.   texto4 = new Textlabel(cp5, "Estudiante: Andres Felipe Sinisterra", 40, 295, 600, 200);  
  39.   texto4.setFont(createFont("MV Boli", 15));
  40.   texto5 = new Textlabel(cp5, "Ingenieria Electronica", 40, 310, 600, 200);  
  41.   texto5.setFont(createFont("MV Boli", 15));
  42.   texto6 = new Textlabel(cp5, "Decimo semestre", 40, 325, 600, 200);  
  43.   texto6.setFont(createFont("MV Boli", 15));
  44. }
  45.  
  46. void draw()
  47. {
  48.   background(20, 20, 150);  
  49.   texto4.draw(this);  
  50.   texto5.draw(this);
  51.   texto6.draw(this);
  52.  
  53.   for (int i=0; i<led.length; i++) {
  54.     // definir el color de relleno, 0=apagado, 1=encendido
  55.     fill(led[i] == 0 ? 0xFF222222 : 0xFFFFFFFF);
  56.     // dibujar un circulo con ese color
  57.     ellipse(70+i*70, 180, 50, 50);
  58.   }
  59.  
  60. }
  61.  
  62. void controlEvent (ControlEvent evento)  
  63. {
  64.   String nombre = evento.getController().getName();  
  65.   int valor = int(evento.getController().getValue());  
  66.   int resultado = 0;
  67.   //serial.write(nombre + ":" + valor);  
  68.   //println(nombre + ":" + valor);    
  69.  
  70.   for (int i=0; i<led.length; i++) {
  71.     if (nombre.equals("LED"+i)) {
  72.       led[i] = valor;
  73.       // println("led[" + i + "]: " + nombre + " = "+valor);
  74.     }    
  75.     resultado |= (led[i] << i);
  76.   }
  77.   serial.write(resultado);
  78.   println(resultado);
  79. }