arduino leonardo

面白いマイクロプロセッサです。
Arduino Leonardoの最大の特徴は、マウスやキーボードなどのUSBデバイスを作成できることにあります。

説明しにくいのですが、PCに付いているキーボードを乗っ取ります(PCのキーボードも生きていると思いますが)。

次のプログラムは、パソコンに「aHellob」を繰り返し書きます。

/*—
void setup()
{
  Keyboard.begin();
}

void loop()
{
    Keyboard.write(97);//aを書く
    delay(1000);
    Keyboard.print(“Hello”);
    delay(1000);
    Keyboard.write(98);//bを書く   
    delay(1000);
 }
—*/

これができると、次の図のようにPC2がPC1の画面情報を元にPC1を操作できます。

要するに計算機を使う計算機が作れます。7、8年前「計算機を使う計算機」の卒研をやりましたが、leonardoに相当するハードウエアの完成度が低く、高度なデモができませんでした。もう少し早くleonardoに気づいていたら、今年「計算機を使う計算機」のリターンマッチをやりたかった。

今日中に、2台のPCを接続する実験までいきたかったのですが、leonardoが今までのarduinoと少し違って:
(a)ドライバーのインストールが必要だったり、
(b)arduinoの接続されているポートの確認も必要だったり、
(c)一度乗っ取ってしまうと、永遠にループを繰り返すので、終結がやっかいだったり、
で、上のプログラムで時間切れでした。

ネットには、excelを立ち上げて操作するプログラムや、
http://n.mtng.org/ele/arduino/excel-j.html
マウスがクルクル回るプログラムが出ていて、
http://trac.switch-science.com/wiki/tinker-with-Leonardo
いずれもうまく動くので感心しました。ちょっと怖い気もしますが。