Processing + Arduino SECONDARY WINDOW

I am creating a user interface for a lighting control system and I am needing to add a secondary window. I am also trying to display the sensor readings from the serial port of the arduino app.

PROCESSING CODE:
import controlP5.*; //import ControlPS library

ControlP5 cp5; //create ControlPS object
PFont font;

void setup(){
size(400,500); //window size, (width, height)

//adding buttons

cp5 = new ControlP5(this);
font = createFont(“calibri light”, 12); //fonts for buttons and title

cp5.addButton(“Room 1”)
.setPosition(60, 50) //x and y coordinates of upper left corner of button
.setSize(125, 100) //(width, height)
.setFont (font)
;
cp5.addButton(“Room 2”)
.setPosition(225, 50)
.setSize(125, 100)
.setFont (font)
;
cp5.addButton(“Room 3”)
.setPosition(60, 160)
.setSize(125, 100)
.setFont (font)
;
cp5.addButton(“All Rooms”)
.setPosition(225, 160)
.setSize(125, 100)
.setFont (font)
;
cp5.addButton(“Errors”)
.setPosition(60, 270)
.setSize(125, 100)
.setFont (font)
;
cp5.addButton(“Alarms”)
.setPosition(225, 270)
.setSize(125, 100)
.setFont (font)
;
cp5.addButton("—")
.setPosition(60, 380)
.setSize(125, 100)
.setFont (font)
;
}
void draw(){
background(0, 0, 0); //background color of window

//text
fill(0, 255, 0); // (r, g, b) or (0 to 255)
text(“CONTROL CENTER”, 150, 30);

}

This is my control center which displays the buttons for each room. I am wanting to click on room 1, 2, and 3 separately and show a secondary window that will consist of a manual on/off button as well as the sensor readings from my arduino serial port. Please let me know if I am able to add secondary windows in the processing app, or how would I adjust my code to display the secondary window?

ARDUINO SENSOR CODE:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include “Adafruit_TSL2591.h”

Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591);

//Configures the gain and integration time for the TSL2591
void configureSensor(void)
{
tsl.setGain(TSL2591_GAIN_MED);
tsl.setTiming(TSL2591_INTEGRATIONTIME_300MS);

Serial.println(F("------------------------------------"));
Serial.print (F(“Gain: “));
tsl2591Gain_t gain = tsl.getGain();
switch(gain)
{
case TSL2591_GAIN_LOW:
Serial.println(F(“1x (Low)”));
break;
case TSL2591_GAIN_MED:
Serial.println(F(“25x (Medium)”));
break;
case TSL2591_GAIN_HIGH:
Serial.println(F(“428x (High)”));
break;
case TSL2591_GAIN_MAX:
Serial.println(F(“9876x (Max)”));
break;
}
Serial.print (F(“Timing: “));
Serial.print((tsl.getTiming() + 1) * 100, DEC);
Serial.println(F(” ms”));
Serial.println(F(”------------------------------------”));
}
void setup(void)
{
Serial.begin(9600);
Serial.println(F(“Starting Adafruit TSL2591…”));

if (tsl.begin())
{
Serial.println(F(“Found a TSL2591 sensor”));
}
else
{
Serial.println(F(“No sensor found …”));
while (1);
}
configureSensor();
}
// The first “flag” for checking the Lux levels. If the Lux level is less than 500 then luxCheck will be 0.
// This is the yellow light
int luxCheck;

// Reads IR and full spectrum then converts to Lux and checks for less than 500 Lux value
void advancedRead(void)
{
sensors_event_t event;
tsl.getEvent(&event);
uint32_t lum = tsl.getFullLuminosity();
uint16_t ir, full;
ir = lum >> 16;
full = lum & 0xFFFF;
if ((event.light < 500))
{
luxCheck = 0;
Serial.println(F(“WARNING: LUX NOT WITHIN DESIRED RANGE!”));
Serial.print(F(“Lux: “)); Serial.println(tsl.calculateLux(full, ir), 2);
Serial.println(F(”------------------------------------”));
}
else
{
luxCheck = 1;
Serial.print(F(“Lux: “)); Serial.println(tsl.calculateLux(full, ir), 2);
Serial.println(F(”------------------------------------”));
}
}
// Arduino loop function
void loop(void)
{
advancedRead();
delay(2000);
}

(deleted)