スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Arduino Leonardoを購入した(マウスとキーボードのエミュレーション)

Arduino Leonardoを購入して遊んでいます。
今回は、マウスとキーボードのエミュレーションなど。


Arduino Leonardoはマウス・キーボードライブラリが組み込まれていて、PCを操作することができます。
>Arduinoリファレンス-Leonardo特有(GarretLab)



キーボード操作でtwitterログイン


まずはキーボードから。
//キーボード操作でtwitterログイン(Windows Only)
void setup(){
pinMode(12, INPUT_PULLUP);
Keyboard.begin();
}

void loop(){
while(digitalRead(12)) {delay(100);}

Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
delay(100);
Keyboard.releaseAll();
Keyboard.println("chrome https'//twitter.com/login/");
delay(5000);
Keyboard.print("USERNAME");
Keyboard.print(KEY_TAB);
Keyboard.print("PASSWORD");
Keyboard.end();
}

12番ピンとGNDの間にスイッチを挿入して、ショートさせると作動します。
(スイッチがなければ、導線を差しこんでも可)
Windows+Rで、ファイル名を指定して実行から、Chromeでtwitterをopen。
その後、パスワードを入力するというスケッチです。

2013年1月現在のArduino Leonardoと開発環境1.0.3だと、url指定の":"(コロン)が"+"に文字化けしてしまいます。(バグ?)
そのため、"https'//"と、アポストロフィに変更してあります。


マウス操作


次はマウス操作です。
武蔵野電波のプロトタイパーズの"リサージュ図形"描画プログラムを参考に、一部改変しました。

//PIN12-GNDにスイッチで、リサージュ図形
int x, y,xm,ym;
void setup() {
pinMode(12, INPUT_PULLUP);
Mouse.begin();
}

void loop(){
while(digitalRead(12)) {delay(100);}

xm=random(1,10);
ym=random(1,10);
Serial.println("x=" + String(xm) + " " + "y=" + String(ym));

Mouse.press();
for (double r=0; r<=3.1415*2; r+=0.01){
x = sin(xm* r) * 6.0;
y = cos(ym* r) * 6.0;
Mouse.move(x, y, 0); // X, Y, Wheel
}
Mouse.release();
}

ペイントなどの描画ソフトを起動した状態で、12番ピンをGNDに接続するとリサージュ図を描画します。
起動の度にパラメータはランダムで、統合環境のシリアルモニタ(Ctrl+Shift+M)で報告します。




外部からマウスとキーボードが自在に扱えれるとなれば、夢は広がります。
・Arduinoに各種ログインIDとパスワードを覚えさせて自動ログインするとか・・・
・定期的に自動で上司にメールを書いて、仕事をしているふりをするとか・・・
・同僚のPCのマウスを勝手に操作してイタズラするとか・・・

ユニークな作例として、お絵かきマウスが有名です。
>自動お絵かきUSBマウス for Arduino Leonardo (makebooth)

ハンダ付けなしで、買ってきたままのボードでここまで遊べるとは・・・
Arduino Leonardo、恐るべしと、思うfocuslightsでした。





Arduino Leonardo 編(全3回)
>Arduino Leonardoを購入した(動作確認まで) (2013-01-20)
>Arduino Leonardoを購入した(マウスとキーボードのエミュレーション) (2013-01-21)
>Arduino Leonardoを購入した(LCD液晶ディスプレイの接続) (2013-01-22)

コメント

Secret

No title

Leonardo持ってますが、電子工作ばっかりでキーボードエミュレートなんてしてませんでした。
もっとパソコンのアクセサリとして遊んでみようっと。
プロフィール

focuslights

Author:focuslights

since 2007.4.29
誤りのご指摘は大歓迎ですが、考え方に対する抗議は一切お受けいたしません。
リンク確認等は不要です。

すべての文章は、法律並びに医学に対する資格を有さない、一個人の心情を吐露したものであり、法務もしくは治療法に関する情報提供を目的としたものではありません。

本ブログにはいわゆる見通情報(forward-looking statements)を含み、実質的にこれら見込みとは異なった現実的な結果に至ることがあり得ます。
本ブログはそれらを参照したことによって引き起こされる一切の結果に対して責任を負いません。
また、見通し情報に更新もしくは改正が望ましい場合であってもその義務を負いません。

批判的な文章を掲載する際には解決法の提示が望ましいと考えていますが、問題点を抽出整理して、広く知らしめることで、集合知により解決を図ることも重要と考えているため、対案の提示は必須とは考えていません。

オーストラリアのカンガルー虐殺反対活動を推進しています。

テンプレート「RotundityBlue」と「cfdn_12」を利用させていただいています
Ne me blâmez pas.

批判的なコメントを入力される時には、なるべく対象を明記してください(ブログ主への批判なのか、以前のコメントに対する批判なのか。など)

最近の記事
最近のコメント
リンク
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
ブログ検索
ブロとも申請フォーム

この人とブロともになる

RSSフィード
By FC2ブログ

Powered By FC2ブログ
ブログやるならFC2ブログ

FC2カウンタ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。