面白いマイクロプロセッサです。
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
いずれもうまく動くので感心しました。ちょっと怖い気もしますが。