USB HID¶
Arduino Uno R4 WiFiは、強力な開発ボードだけでなく、Human Interface Devices(HID)の内蔵サポートも備えています。これにより、このボードをマウスやキーボードなどのデバイスのエミュレーションに使用し、プロジェクトに新たな対話性を追加することができます。
HID、またはHuman Interface Devicesは、通常は入力目的で設計された、人間と直接対話するためのコンピュータデバイスのカテゴリです。このカテゴリにはキーボード、マウス、ゲームコントローラなどのデバイスが含まれます。Arduino Uno R4 WiFiを使用すると、これらのデバイスをエミュレートでき、DIYプロジェクトの可能性が広がります。
マウスコントロール¶
Arduino Uno R4 WiFiを使用してマウスを制御するのは簡単です。 Mouse.move(x, y)
コマンドを使用すると、マウスの移動を簡単に制御できます。カーソル位置を更新する場合、常にカーソルの前回の位置を基準にします。
ここに、ボタンを使用してマウスカーソルを制御する単純な例があります。
回路図
コードのアップロード
elite-explorer-kit-main\r4_new_feature\06-hid_mouse
にある 06-hid_mouse.ino
ファイルを開くか、以下のコードをArduino IDEに貼り付けてください。
警告
Mouse.move()
コマンドを使用すると、Arduinoがコンピュータのマウスを制御します!この機能を使用してスケッチを実行する際に、コンピュータの制御を失わないように、 Mouse.move()
を呼び出す前に信頼性のあるコントロールシステムを設定してください。このスケッチには、マウスを切り替えるためのプッシュボタンが含まれており、ボタンを押すとスケッチが実行されるようになります。
警告
UNO R4 WiFiボードのマルチプロセッサアーキテクチャのため、HID機能を使用するコードをアップロードする際には、 「No device found on...」 のエラーが発生する場合があります。
このような状況でアップロードするには、以下の手順に従ってください:
ボード上の「RESET」ボタンを2回速く押してリリースします。 「L」 と表示されているLEDが点滅し始めるはずです。
Arduino IDEメニューから、ボードのポートを選択します。リセット後、ポートが変更されることがあるため、正しく選択されていることを確認してください。
マウスの移動を制御するだけでなく、マウスのクリックも扱うことができます。詳細については、 Arduino Reference - Mouse を参照してください。
キーボード制御¶
Arduino Uno R4 WiFiは、キーボードエミュレーションの機能も提供しています。これにより、個々のキー入力だけでなく、複雑なキーコンビネーションも送信できます。
警告
Keyboard.print()
コマンドを使用すると、Arduinoがコンピュータのキーボードを制御します!この機能を使用してスケッチを実行する際に、コンピュータの制御を失わないように、 Keyboard.print()
を呼び出す前に信頼性のあるコントロールシステムを設定してください。このスケッチには、キーボードを切り替えるためのプッシュボタンが含まれており、ボタンを押すとスケッチが実行されるようになります。
ショートカットキーを送信するためのサンプルコード¶
この場合、Arduino Uno R4 WiFiは、よく使用される2つのキーボードショートカットをエミュレートするように構成されています。「Ctrl+C」はコピー、「Ctrl+V」は貼り付けです。 Arduinoに接続された2つの物理ボタンがトリガーとして機能します。ピン7に接続されたボタンはコピー操作を開始し、ピン8に接続されたものは貼り付けをトリガーします。
ボタンを押すと、Arduinoは Keyboard.press()
および Keyboard.releaseAll()
関数を使用して、それぞれのキーボードショートカットを模倣します。この例は、特定のタスク用の専用ハードウェアインターフェースを設計する方法を示しており、キーボードを介さずに繰り返しのアクションを実行し、キーボード操作が不要な場面で特に有利です。これは、データの迅速な操作が必要な職場や、簡略化されたコントロールが有益なアクセシビリティの設定で特に有益です。
回路図
コードのアップロード
elite-explorer-kit-main\r4_new_feature\06-hid_keyboard
にある 06-hid_keyboard.ino
ファイルを開くか、以下のコードをArduino IDEに貼り付けてください。
注意事項とヒント¶
マウスとキーボードライブラリに関する注意: マウスまたはキーボードライブラリのいずれかが連続して実行されている場合、ボードのプログラムに干渉する可能性があります。
Mouse.move()
やKeyboard.print()
などの機能は、接続されたコンピュータを制御するとみなされ、それらを管理する準備ができているときにのみ呼び出すべきです。この機能をトグルするための物理スイッチや特定の入力コントロールなどのコントロールシステムを使用することをお勧めします。コードのアップロードに関する問題: UNO R4 WiFiボードのマルチプロセッサアーキテクチャのため、HID機能を使用するコードをアップロードする際に
「No device found on...」
のエラーが発生する場合があります。このような状況でアップロードするには、以下の手順に従ってください:
ボード上の「RESET」ボタンを2回速く押してリリースします。「L」 と表示されているLEDが点滅し始めるはずです。
Arduino IDEメニューから、ボードのポートを選択します。リセット後、ポートが変更されることがあるため、正しく選択されていることを確認してください。
参考