Arduino - 鍵盤串列埠

此示例偵聽來自串列埠的位元組。收到後,電路板會將擊鍵傳送回計算機。傳送的按鍵比接收的按鍵高一個,因此如果從序列監視器傳送 a,你將從連線到計算機的板上收到 b1 將返回 2,依此類推。

警告 - 使用 Keyboard.print() 命令時,Leonardo,Micro 或 Due 板接管計算機的鍵盤。為確保在使用此功能執行草圖時不會失去對計算機的控制,請在呼叫 Keyboard.print() 之前設定可靠的控制系統。此草圖設計為僅在電路板通過串列埠接收到位元組後傳送鍵盤命令。

需要的元件

你將需要以下元件 -

  • 1×Arduino Leonardo,Micro 或 Due board

程式

只需使用 USB 線將電路板連線到電腦即可。

鍵盤串列埠麵包板

草圖

在你的計算機上開啟 Arduino IDE 軟體。用 Arduino 語言編碼將控制你的電路。單擊“新建”開啟新的草圖檔案。

草圖

- 你必須在 Arduino 庫檔案中包含鍵盤庫。將鍵盤庫檔案複製並貼上到檔案中,並以黃色突出顯示名稱 libraries

Arduino 庫檔案

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);
   }
}

程式碼注意

程式設計後,開啟序列監視器併傳送一個位元組。Arduino 板將通過擊鍵回覆,這是一個更高的數字。

結果

當你傳送一個位元組時,電路板將在 Arduino IDE 序列監視器上以一個更高的鍵擊響應。