Arduino UNO R4 WiFi USB HID

UNO R4 WiFiをマウス/キーボードとして使う方法を学びます。


AUTHOR: Karl Söderby


このチュートリアルでは、Arduino UNO R4 WiFiボードで、keyboardmouseAPIを使い、マウス/キーボードをエミュレートする方法を学びます。

目的

この記事では、以下を学びます。

  • キーボードをエミュレートする方法(キープレス)
  • マウスをエミュレートする方法(X/Y座標)

必要なハードウェアとソフトウェア

Human Interface Device(HID)

Human Interface Device(HID)は、人間が利用するデバイス(キーボード、マウス、ゲームコントローラーなど)で、USBを通じてデータを送信することがよくあります。キーボードのキーを押すと、データをPCに送信します。PCはそのデータを読み、関連するキーをアクティベートします。

UNO R4 WiFiはHIDサポートを内蔵してます。この機能は、最近のほとんどの開発ボードには搭載されていますが、以前のリビジョンのUNOには搭載されていません。

ボードをHIDにするには、コアに実装されているキーボード/マウスAPIを利用します。言語リファレンスにAPIのドキュメントがあります。

スケッチをアップロードするインターフェイス

UNO R4 WiFiボードのマルチプロセッサ設計の結果、ボードがHID機能を実行しているときは、アップロードが「No device found on …」となり、失敗します。

このため、このような場合には、以下の手順に従う必要があります。

  1. ボード上のリセットボタンを2度素早く押して離す。
  2. Arduino IDEのメニューからボードのポートを選択する。ポートは以前の設定とは異なっている可能性があるので、正しいポートが選択されていることを確認する。
  3. 通常通りスケッチをアップロードする。

キーボード

キーボード機能を利用するには、スケッチの先頭でライブラリをインクルードする必要があります。Keyboardクラスはキーボードをエミュレートするために有用な機能を実装しています。

1
2
3
#include <Keyboard.h>

Keyboard.method()

キーボードの例

キーボードをエミュレートするには、press()releaseAll()メソッドを使います。これは、キーの押下とリリースをエミュレートします。以下の例は、毎秒「w」を表示します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include <Keyboard.h>

void setup() {
  Keyboard.begin();
  delay(1000);
}

void loop() {
  Keyboard.press('w');
  delay(100);
  Keyboard.releaseAll();
  delay(1000); 
}

以下のリンクに他の例を示します。

マウス

マウス機能を利用するには、スケッチの先頭でライブラリをインクルードする必要があります。Mouseクラスはマウスをエミュレートするために有用な機能を実装しています。

1
2
3
#include <Mouse.h>

Mouse.method();

マウスの例

以下の例では、マウスのX軸とY軸を少し(10ポイント)、行ったり来たりさせます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include <Mouse.h>

void setup() {
  Mouse.begin();
  delay(1000);
}

void loop() {
  Mouse.move(10,10);
  delay(1000);
  Mouse.move(-10,-10);
  delay(1000); 
}

以下のリンクに他の例を示します。

まとめ

このチュートリアルでは、UNO R4 WiFiのいくつかの基本的なHIDの使用方法を紹介しました。全てのAPIを参照するには、以下のリンクを参照してください。

上記には、詳細なリファレンスと、HID機能を開始するのに有用ないいスケッチ例があります。

オリジナルのページ

https://docs.arduino.cc/tutorials/uno-r4-wifi/usb-hid

最終更新日

November 12, 2023

inserted by FC2 system