Big Dome Box

From air
Jump to: navigation, search
Big Dome Box

Matériel

Design

Logiciel

Emergency Logout

http://www.arduino.cc/en/Tutorial/KeyboardLogout

Spacebar for presentation, movie pause&resume, ...

const int domeButton = 12;
const int domeLed = 13;
boolean flag=false;
                                                                                             
void setup() {
  pinMode(domeLed, OUTPUT);
  pinMode(domeButton, INPUT_PULLUP);
  Keyboard.begin();
}

void loop() {
  
  if (!flag && digitalRead(domeButton) == HIGH) {
    digitalWrite(domeLed, HIGH);
    Keyboard.print(" ");
    delay(100);
    Keyboard.releaseAll();
    flag=true;
  }
  if (flag && digitalRead(domeButton) == LOW) {
    digitalWrite(domeLed, LOW);
    delay(100);
    Keyboard.releaseAll();
    flag=false;
  }
}

for Reveal.js


const int domeButton = 12;
const int domeLed = 13;
boolean flag=false;
unsigned long time;

void setup() {
  pinMode(domeLed, OUTPUT);
  pinMode(domeButton, INPUT_PULLUP);
  Keyboard.begin();
}

void loop() {
  
  if (!flag && digitalRead(domeButton) == HIGH) {
    digitalWrite(domeLed, HIGH);
    time = millis();
    delay(100);
    Keyboard.releaseAll();
    flag=true;
  }
  if (flag && digitalRead(domeButton) == LOW) {
    digitalWrite(domeLed, LOW);
    unsigned long delta = millis()-time;
    if(delta<500) {
      Keyboard.press(0x20); // SPACE
    } else if(delta<1500) {
      Keyboard.press(KEY_LEFT_ARROW); // or  KEY_BACKSPACE 
    } else {
      Keyboard.press(KEY_ESC); // for bird view with Reveal.js
    }
    delay(100);
    Keyboard.releaseAll();
    flag=false;
  }
}