import controlP5.*;
import processing.serial.*;
ControlP5 cp5;
Toggle l1, l2, l3, l4, l5, l6, l7, l8;
Textlabel texto1, texto2, texto3, texto4, texto5, texto6;
Serial serial;
int[] led = new int[] {0, 0, 0, 0, 0, 0, 0, 0};
void setup()
{
serial = new Serial(this, Serial.list()[0], 9600);
String puerto = Serial.list()[0];
size(600, 400);
cp5 = new ControlP5(this);
for (int i=0; i<led.length; i++)
cp5.addToggle("LED"+i, 50+i*70, 220, 40, 40);
texto1 = cp5.addTextlabel("label")
.setText("CONTROL DE LEDS")
.setPosition(20, 20)
.setColorValue(0xffffffFF)
.setFont(createFont("Broadway", 60))
;
texto2 = cp5.addTextlabel("label1")
.setText("Control de encendido y apagado de un led por individual")
.setPosition(45, 100)
.setColorValue(0xffffffFF)
.setFont(createFont("Comic Sans MS", 20))
;
texto4 = new Textlabel(cp5, "Estudiante: Andres Felipe Sinisterra", 40, 295, 600, 200);
texto4.setFont(createFont("MV Boli", 15));
texto5 = new Textlabel(cp5, "Ingenieria Electronica", 40, 310, 600, 200);
texto5.setFont(createFont("MV Boli", 15));
texto6 = new Textlabel(cp5, "Decimo semestre", 40, 325, 600, 200);
texto6.setFont(createFont("MV Boli", 15));
}
void draw()
{
background(20, 20, 150);
texto4.draw(this);
texto5.draw(this);
texto6.draw(this);
for (int i=0; i<led.length; i++) {
// definir el color de relleno, 0=apagado, 1=encendido
fill(led[i] == 0 ? 0xFF222222 : 0xFFFFFFFF);
// dibujar un circulo con ese color
ellipse(70+i*70, 180, 50, 50);
}
}
void controlEvent (ControlEvent evento)
{
String nombre = evento.getController().getName();
int valor = int(evento.getController().getValue());
int resultado = 0;
//serial.write(nombre + ":" + valor);
//println(nombre + ":" + valor);
for (int i=0; i<led.length; i++) {
if (nombre.equals("LED"+i)) {
led[i] = valor;
// println("led[" + i + "]: " + nombre + " = "+valor);
}
resultado |= (led[i] << i);
}
serial.write(resultado);
println(resultado);
}