Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import processing.serial.*;
- Serial port;
- char buzzer = '1';
- char led = '0';
- color defaultButton = color(255, 255, 255);
- color hoverButton = color(150, 150, 150);
- color defaultText = color(0, 102, 153);
- color hoverText = color(0, 0, 0);
- int ledAlarmTicks = 10;
- int ledTicks = 0;
- boolean ledOn = false;
- boolean aLedOn = false;
- int ledBlinkX = 10;
- int ledBlinkY = 10;
- int ledBlinkW = 180;
- int ledBlinkH = 50;
- color ledBlinkTextColor = defaultText;
- color ledBlinkButtonColor = defaultButton;
- int ledToggleX = 200;
- int ledToggleY = 10;
- int ledToggleW = 230;
- int ledToggleH = 50;
- color ledToggleTextColor = defaultText;
- color ledToggleButtonColor = defaultButton;
- void setup(){
- size(500, 500);
- port = new Serial(this, "COM3", 9600);
- port.bufferUntil('\n');
- }
- void draw(){
- PFont font = createFont(PFont.list()[0], 32);
- background(0, 0, 0);
- stroke(256);
- fill(ledBlinkButtonColor);
- rect(ledBlinkX, ledBlinkY, ledBlinkW, ledBlinkH);
- textFont(font);
- fill(ledBlinkTextColor);
- text("BLINK LED", 20, 45);
- fill(ledToggleButtonColor);
- rect(ledToggleX, ledToggleY, ledToggleW, ledToggleH);
- textFont(font);
- fill(ledToggleTextColor);
- text("TOGGLE LED", 220, 45);
- // Handle loops
- if(ledOn){
- if(ledTicks>=ledAlarmTicks){
- ledTicks = 0;
- port.write(led);
- }
- ledTicks++;
- }else{
- ledTicks = 0;
- }
- // Handle hover
- if(overRect(ledBlinkX, ledBlinkY, ledBlinkW, ledBlinkH)){
- resetButtons();
- ledBlinkTextColor = hoverText;
- ledBlinkButtonColor = hoverButton;
- }else if(overRect(ledToggleX, ledToggleY, ledToggleW, ledToggleH)){
- resetButtons();
- ledToggleTextColor = hoverText;
- ledToggleButtonColor = hoverButton;
- }else{
- resetButtons();
- }
- }
- void mousePressed(){
- if(overRect(ledBlinkX, ledBlinkY, ledBlinkW, ledBlinkH)){
- ledOn = !ledOn;
- if(!ledOn && aLedOn){
- port.write(led);
- }
- }else if(overRect(ledToggleX, ledToggleY, ledToggleW, ledToggleH)){
- port.write(led);
- }
- }
- void serialEvent(Serial port){
- float in = float(port.readStringUntil('\n'));
- if(in == 1){
- aLedOn = true;
- }else if(in == 0){
- aLedOn = false;
- }
- }
- void resetButtons(){
- ledBlinkTextColor = defaultText;
- ledBlinkButtonColor = defaultButton;
- ledToggleTextColor = defaultText;
- ledToggleButtonColor = defaultButton;
- }
- boolean overRect(int x, int y, int width, int height){
- if (mouseX >= x && mouseX <= x+width && mouseY >= y && mouseY <= y+height){
- return true;
- }else{
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment