注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ ここ]をクリックして今すぐ参加しましょう!
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\05-hid_mouse にある 05-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\05-hid_keyboard にある 05-hid_keyboard.ino ファイルを開くか、以下のコードをArduino IDEに貼り付けてください。
注意事項とヒント
マウスとキーボードライブラリに関する注意: マウスまたはキーボードライブラリのいずれかが連続して実行されている場合、ボードのプログラムに干渉する可能性があります。
Mouse.move()やKeyboard.print()などの機能は、接続されたコンピュータを制御するとみなされ、それらを管理する準備ができているときにのみ呼び出すべきです。この機能をトグルするための物理スイッチや特定の入力コントロールなどのコントロールシステムを使用することをお勧めします。コードのアップロードに関する問題: UNO R4 WiFiボードのマルチプロセッサアーキテクチャのため、HID機能を使用するコードをアップロードする際に
「No device found on...」のエラーが発生する場合があります。このような状況でアップロードするには、以下の手順に従ってください:
ボード上の「RESET」ボタンを2回速く押してリリースします。「L」 と表示されているLEDが点滅し始めるはずです。
Arduino IDEメニューから、ボードのポートを選択します。リセット後、ポートが変更されることがあるため、正しく選択されていることを確認してください。
参考