mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-13 23:48:46 +01:00
93 lines
2.1 KiB
C++
93 lines
2.1 KiB
C++
/*
|
|
Arduino Programs Blink
|
|
|
|
This sketch demonstrates the Keyboard library.
|
|
|
|
When you connect pin 2 to ground, it creates a new
|
|
window with a key combination (CTRL-N),
|
|
then types in the Blink sketch, then auto-formats the text
|
|
using another key combination (CTRL-T), then
|
|
uploads the sketch to the currently selected Arduino using
|
|
a final key combination (CTRL-U).
|
|
|
|
Circuit:
|
|
* Arduino Leonardo
|
|
* wire to connect D2 to ground.
|
|
|
|
created 5 Mar 2012
|
|
modified 27 Mar 2012
|
|
by Tom Igoe
|
|
|
|
This example is in the public domain
|
|
|
|
http://www.arduino.cc/en/Tutorial/KeyboardReprogram
|
|
*/
|
|
|
|
// use this option for OSX:
|
|
char ctrlKey = KEY_LEFT_GUI;
|
|
// use this option for Windows and Linux:
|
|
// char ctrlKey = KEY_KEFT_CTRL;
|
|
|
|
|
|
void setup() {
|
|
// make pin 2 an input and turn on the
|
|
// pullup resistor so it goes high unless
|
|
// connected to ground:
|
|
pinMode(2, INPUT_PULLUP);
|
|
// initialize control over the keyboard:
|
|
Keyboard.begin();
|
|
}
|
|
|
|
void loop() {
|
|
while (digitalRead(2) == HIGH) {
|
|
// do nothing until pin 2 goes low
|
|
delay(500);
|
|
}
|
|
delay(1000);
|
|
// new document:
|
|
Keyboard.press(ctrlKey);
|
|
Keyboard.press('n');
|
|
delay(100);
|
|
Keyboard.releaseAll();
|
|
// wait for new window to open:
|
|
delay(1000);
|
|
|
|
// Type out "blink":
|
|
Keyboard.println("void setup() {");
|
|
Keyboard.println("pinMode(13, OUTPUT);");
|
|
Keyboard.println("}");
|
|
Keyboard.println();
|
|
Keyboard.println("void loop() {");
|
|
Keyboard.println("digitalWrite(13, HIGH);");
|
|
Keyboard.print("delay(3000);");
|
|
// 3000 ms is too long. Delete it:
|
|
for (int keystrokes=0; keystrokes < 6; keystrokes++) {
|
|
Keyboard.type(KEY_BACKSPACE);
|
|
}
|
|
// make it 1000 instead:
|
|
Keyboard.println("1000);");
|
|
Keyboard.println("digitalWrite(13, LOW);");
|
|
Keyboard.println("delay(1000);");
|
|
Keyboard.println("}");
|
|
// tidy up:
|
|
Keyboard.press(ctrlKey);
|
|
Keyboard.press('t');
|
|
delay(100);
|
|
Keyboard.releaseAll();
|
|
delay(3000);
|
|
// upload code:
|
|
Keyboard.press(ctrlKey);
|
|
Keyboard.press('u');
|
|
delay(100);
|
|
Keyboard.releaseAll();
|
|
|
|
// wait for the sweet oblivion of reprogramming:
|
|
while(true);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|