turt2live

Untitled

Jun 16th, 2012
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.62 KB | None | 0 0
  1. import processing.serial.*;
  2. Serial port;
  3. char buzzer = '1';
  4. char led = '0';
  5. color defaultButton = color(255, 255, 255);
  6. color hoverButton = color(150, 150, 150);
  7. color defaultText = color(0, 102, 153);
  8. color hoverText = color(0, 0, 0);
  9.  
  10. int ledAlarmTicks = 10;
  11. int ledTicks = 0;
  12. boolean ledOn = false;
  13. boolean aLedOn = false;
  14.  
  15. int ledBlinkX = 10;
  16. int ledBlinkY = 10;
  17. int ledBlinkW = 180;
  18. int ledBlinkH = 50;
  19. color ledBlinkTextColor = defaultText;
  20. color ledBlinkButtonColor = defaultButton;
  21.  
  22. int ledToggleX = 200;
  23. int ledToggleY = 10;
  24. int ledToggleW = 230;
  25. int ledToggleH = 50;
  26. color ledToggleTextColor = defaultText;
  27. color ledToggleButtonColor = defaultButton;
  28.  
  29. void setup(){
  30.   size(500, 500);
  31.   port = new Serial(this, "COM3", 9600);
  32.   port.bufferUntil('\n');
  33. }
  34.  
  35. void draw(){
  36.    PFont font = createFont(PFont.list()[0], 32);
  37.    background(0, 0, 0);
  38.    stroke(256);
  39.    fill(ledBlinkButtonColor);
  40.    rect(ledBlinkX, ledBlinkY, ledBlinkW, ledBlinkH);
  41.    textFont(font);
  42.    fill(ledBlinkTextColor);
  43.    text("BLINK LED", 20, 45);
  44.    
  45.    fill(ledToggleButtonColor);
  46.    rect(ledToggleX, ledToggleY, ledToggleW, ledToggleH);
  47.    textFont(font);
  48.    fill(ledToggleTextColor);
  49.    text("TOGGLE LED", 220, 45);
  50.    
  51.    // Handle loops
  52.    if(ledOn){
  53.      if(ledTicks>=ledAlarmTicks){
  54.        ledTicks = 0;
  55.        port.write(led);
  56.      }
  57.      ledTicks++;
  58.    }else{
  59.     ledTicks = 0;
  60.    }
  61.    
  62.    // Handle hover
  63.    if(overRect(ledBlinkX, ledBlinkY, ledBlinkW, ledBlinkH)){
  64.      resetButtons();
  65.      ledBlinkTextColor = hoverText;
  66.      ledBlinkButtonColor = hoverButton;
  67.    }else if(overRect(ledToggleX, ledToggleY, ledToggleW, ledToggleH)){
  68.      resetButtons();
  69.      ledToggleTextColor = hoverText;
  70.      ledToggleButtonColor = hoverButton;
  71.    }else{
  72.       resetButtons();
  73.    }
  74. }
  75.  
  76. void mousePressed(){
  77.    if(overRect(ledBlinkX, ledBlinkY, ledBlinkW, ledBlinkH)){
  78.      ledOn = !ledOn;
  79.      if(!ledOn && aLedOn){
  80.          port.write(led);
  81.      }
  82.    }else if(overRect(ledToggleX, ledToggleY, ledToggleW, ledToggleH)){
  83.      port.write(led);
  84.    }  
  85. }
  86.  
  87. void serialEvent(Serial port){
  88.    float in = float(port.readStringUntil('\n'));
  89.    if(in == 1){
  90.       aLedOn = true;
  91.    }else if(in == 0){
  92.       aLedOn = false;
  93.    }
  94. }
  95.  
  96. void resetButtons(){
  97.      ledBlinkTextColor = defaultText;
  98.      ledBlinkButtonColor = defaultButton;
  99.      ledToggleTextColor = defaultText;
  100.      ledToggleButtonColor = defaultButton;
  101. }
  102.  
  103. boolean overRect(int x, int y, int width, int height){
  104.   if (mouseX >= x && mouseX <= x+width && mouseY >= y && mouseY <= y+height){
  105.     return true;
  106.   }else{
  107.     return false;
  108.   }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment