Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import controlP5.*; // utilizar la libreria controlp5
- import processing.serial.*; // utilizar la liberia processing.serial
- ControlP5 cp5; // definir la variable cp5 del tipo ControlP5
- Toggle l1, l2, l3, l4, l5, l6, l7, l8; // definir la variable rojo,verde y azul del tipo Knob
- Textlabel texto1, texto2, texto3, texto4, texto5, texto6; // definir las variables texto del tipo Textlabel
- Serial serial; // definir la variable serial del tipo Serial
- // como deseamos controlar 8 LEDs, usamos un arreglo
- int[] led = new int[] {0, 0, 0, 0, 0, 0, 0, 0};
- // configuración inicial
- void setup()
- {
- serial = new Serial(this, Serial.list()[0], 9600); // inicializamos el puerto serial a 9600 baudios
- String puerto = Serial.list()[0]; //definimos la variable puerto de tipo cadena
- size(630, 400); // tamaño de la ventana
- cp5 = new ControlP5(this); // crear el objeto ControlP5
- // crear un botón para encender/apagar cada LED
- for (int i=0; i<led.length; i++)
- cp5.addToggle("LED"+i, 50+i*70, 220, 40, 40);
- // crear texto
- 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))
- ;
- // otra forma de crear texto
- 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); // color de fondo de la ventana
- texto4.draw(this); // introduce el texto en la ventana
- 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) // se activa cuando ocurra un evento con los botones
- {
- String nombre = evento.getController().getName(); // recoje el nombre del slider y lo convierte en cadena
- int valor = int(evento.getController().getValue()); // recoje el valor del slider y lo convierte en entero
- int resultado = 0;
- //serial.write(nombre + ":" + valor); // envia por el puerto serial el nombre y el valor
- //println(nombre + ":" + valor); // imprime por pantalla el nombre y el 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);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement