Arduino LeonardはUSB キーボードとマウスの動作をエミュレートすることが出来ます。 そこでArduino LeonardからPC (Windows 7)を操作して、Microsoft Ecxelを起動し、時刻とアナログ入力の値をセルに入力させてみました。
やっていることは簡単で、Windowsキー→excelを検索して起動してから、 数値(時刻)を入力→タブ→数値(アナログ入力)を入力→エンターを繰り返しています。 実用性はありません。
ほかのスケッチを書くときに、Leonardがキーボードを操作するのが邪魔な場合は、リセットスイッチを押したままUSBケーブルをつないでUploadボタンをクリックしてから、リセットスイッチを離します。
int delayCounts = 0; void setup() { Keyboard.begin(); Mouse.begin(); } void loop() { if (delayCounts <10) { delay(1000); delayCounts ++; return; } Keyboard.press(KEY_LEFT_GUI); // windows key (left) Keyboard.releaseAll(); Keyboard_write("excel\n"); Mouse.move(0, -100, 0); delay(1000*10); for (;;) { char buf[100]; snprintf(buf, sizeof(buf)-1, "%d", millis()/1000); Keyboard_write(buf); Keyboard.write(KEY_TAB); snprintf(buf, sizeof(buf)-1, "%d", analogRead(0)); Keyboard_write(buf); Keyboard.write(KEY_RETURN); delay(1000); } while(1){} } void Keyboard_write(const char *p) { while (*p>0) { if (*p == '\n') Keyboard.write(KEY_RETURN); else Keyboard.write(*p); p ++; } }