Arduino-キーボードシリアル

この例では、シリアルポートからのバイトをリッスンします。受信すると、ボードはキーストロークをコンピュータに送り返します。送信されたキーストロークは受信されたものより1つ高いため、シリアルモニターから「a」を送信すると、コンピューターに接続されたボードから「b」が受信されます。「1」は「2」を返します。

Warning −を使用する場合 Keyboard.print()コマンドを実行すると、Leonardo、Micro、またはDueボードがコンピューターのキーボードを引き継ぎます。この関数を使用してスケッチを実行しているときにコンピューターの制御を失わないようにするには、Keyboard.print()を呼び出す前に信頼性の高い制御システムをセットアップしてください。このスケッチは、ボードがシリアルポートを介してバイトを受信した後にのみキーボードコマンドを送信するように設計されています。

必要なコンポーネント

次のコンポーネントが必要になります-

  • 1×ArduinoLeonardo、Micro、またはDueボード

手順

USBケーブルを使用してボードをコンピュータに接続するだけです。

スケッチ

コンピューターでArduinoIDEソフトウェアを開きます。Arduino言語でコーディングすると、回路が制御されます。[新規]をクリックして、新しいスケッチファイルを開きます。

Notes−Arduinoライブラリファイルにキーパッドライブラリを含める必要があります。キーパッドライブラリファイルをコピーして、黄色で強調表示された「libraries」という名前のファイル内に貼り付けます。

Arduinoコード

/*
   Keyboard test
   For the Arduino Leonardo, Micro or Due Reads
      a byte from the serial port, sends a keystroke back. 
   The sent keystroke is one higher than what's received, e.g. if you send a, you get b, send
      A you get B, and so forth.
   The circuit:
   * none
*/

#include "Keyboard.h"

void setup() {
   // open the serial port:
   Serial.begin(9600);
   // initialize control over the keyboard:
   Keyboard.begin();
}

void loop() {
   // check for incoming serial data:
   if (Serial.available() > 0) {
      // read incoming serial data:
      char inChar = Serial.read();
      // Type the next ASCII value from what you received:
      Keyboard.write(inChar + 1);
   }
}

注意すべきコード

プログラムが完了したら、シリアルモニターを開き、バイトを送信します。ボードは、1つ上のキーストロークで応答します。

結果

ボードは、バイトを送信すると、ArduinoIDEシリアルモニターで1つ上のキーストロークで応答します。