Arduino で PC のマウスを自在に動かす学習プロジェクト
※本プロジェクトは教育・学習目的のみです。
ゲームや商用アプリのチート・不正利用は絶対に行わないでください。
- Arduino Leonardo / Pro Micro を USB HID デバイス(仮想マウス)として認識させ、PC のカーソルをプログラムから操作できます。
- PC 側のシリアルターミナル(例:
Serial Monitor、PuTTY、screenなど)からmv,x,y形式のコマンドを送るだけで、相対座標でマウスを移動させられます。
| 項目 | 内容 |
|---|---|
| シリアル通信 | Arduino と PC の双方向通信の基礎 |
| HID プロトコル | USB マウス/キーボードとしてのデバイス実装 |
| 組み込み C++ | Arduino IDE での開発フローとコード構造 |
| ハードウェア/OS 連携 | マイコンと OS の入力デバイスを橋渡しする実装 |
- ハードウェア: Arduino Leonardo / Pro Micro(ATmega32U4)
- 開発環境: Arduino IDE(最新版)
- 言語: C / C++(Arduino 標準ライブラリ)
- 通信手段: USB 経由のシリアル(UART → USB HID)
ArduinoMouseMoving.inoを Arduino IDE で開く- ボードは Arduino Leonardo か Pro Micro を選択
- 書き込み → PC に接続してスケッチをアップロード
シリアルターミナルを起動し、以下の形式でコマンドを送ります。
mv,100,-50
mv……「move(移動)」の略100……X 軸方向の移動量(正=右、負=左)-50……Y 軸方向の移動量(正=下、負=上)
例:
mv,100,-50→ カーソルを右へ 100px、上へ 50px 移動
- 自動スクロール: 連続で
mvを送るだけでスムーズにスクロールできます。 - マウスクリック: 必要に応じてコードにクリック処理を追加すれば、クリック操作も自動化可能です。
本リポジトリは MIT License の下で公開しています。
LICENSE ファイルをご確認ください。
- yusukedao
- GitHub: https://github.com/Yusukedao-0610
- Email: yusuke20080610@gmail.com
このプロジェクトは、ハードウェアとソフトウェアの両方を俯瞰できるエンジニアとしての基礎力を示すものです。
- 低レベルの USB HID 実装に挑戦し、実際に PC に認識させた経験
- シリアル通信を通したリアルタイム制御ロジックの設計・実装
- Arduino の制約下で 可読性・保守性 を意識したコードを書いた実績
ぜひ、ポートフォリオの一部としてご覧いただき、技術的な深さと学習意欲をご評価いただければ幸いです。
Happy coding! 🚀