/** Estudiante: Edwin Lobo Hernandez
* Profesor: Diego Marin
* Laboratorio 9
* Descripción del laboratorio: Crear una interfaz con proccessing que controle un modulo de 8 LED's RGB
*/
// Librería ControlP5
import controlP5.*;
import processing.serial.*;
// Se Definen las variables necesarias
ControlP5 cp5;
Serial serial;
// define las variables del texto, tipo Textlabel
Textlabel texto1, texto2;
Textlabel texto5, texto6;
//****** Objetos ********//
// Areglos para las variables de cada color: rojo, verde, azul.
int[] red = new int[] {0, 0, 0, 0, 0, 0, 0, 0};
int[] green= new int[] {0, 0, 0, 0, 0, 0, 0, 0};
int[] blue= new int[] {0, 0, 0, 0, 0, 0, 0, 0};
//**** variables*****//
int colorDeFondo = color (200,200,000);
//***********configuracion*********************//
// Solo se ejecuta una vez, al iniciar el Sketch//
void setup() {
size(800, 300); // tamaño de la ventana
// crear el objeto ControlP5
cp5 = new ControlP5(this);
// crear un botón para encender/apagar cada LED
// para el color rojo
for (int i=0; i<red.length; i++)
cp5.addToggle("r"+i, 80+i*80, 80, 70, 40);
// para el color verde
for (int j=0; j<green.length; j++)
cp5.addToggle("g"+j, 80+j*80, 150, 70, 40);
// para el color azul
for (int k=0; k<blue.length; k++)
cp5.addToggle("b"+k, 80+k*80, 220, 70, 40);
// Creamos el objeto del puerto Serial
serial = new Serial(this, Serial.list()[0], 9600);
// Se crea el texto principal
texto1 = cp5.addTextlabel("label")
.setText("INTERRUPTORES DE LED's RGB")
.setPosition(180,30)
.setColorValue(0xfffffFFF)
.setFont(createFont("Times new roman",20))
;
// crea texto indicativo
texto2 = cp5.addTextlabel("label1")
.setText("Pulsa los botones para encender o apagar")
.setPosition(200,50)
.setColorValue(0xffffffFF)
.setFont(createFont("Times new roman",15))
;
}
// se dibujar cada frame y se asigna el color de fondo
void draw()
{
{background(colorDeFondo);}
}
// actua cuando ocurra un evento con los botones
void controlEvent(ControlEvent theEvent)
{
// guardar el nombre y valor del evento
String nombre = theEvent.getController().getName();
int valor = int(theEvent.getController().getValue());
println("evento: " + nombre + " / valor: "+valor);
//serial.write(nombre+valor);
println(nombre+valor);
serial.write(nombre+valor);
}
// ****** Fin ***** //