Difference between revisions of "Big Dome Box"

From air
Jump to navigation Jump to search
Line 37: Line 37:
 
if (flag && digitalRead(domeButton) == LOW) {
 
if (flag && digitalRead(domeButton) == LOW) {
 
digitalWrite(domeLed, LOW);
 
digitalWrite(domeLed, LOW);
  +
delay(100);
  +
Keyboard.releaseAll();
  +
flag=false;
  +
}
  +
}
  +
</source>
  +
  +
===for [[Reveal.js]]===
  +
<source lang="cpp">
  +
  +
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 demta = 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);
 
delay(100);
 
Keyboard.releaseAll();
 
Keyboard.releaseAll();

Revision as of 05:05, 8 October 2014

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 demta = 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;
  }
}