Arduino - 键盘消息



在这个例子中,当按下按钮时,一个文本字符串将作为键盘输入发送到电脑。字符串报告按钮被按下的次数。一旦你将程序写入Leonardo并连接好电路,打开你喜欢的文本编辑器查看结果。

警告 − 当你使用 Keyboard.print() 命令时,Arduino 将接管你的电脑键盘。为了确保在运行包含此函数的程序时不会失去对电脑的控制,请在调用 Keyboard.print() 之前设置可靠的控制系统。此程序包含一个按钮来切换键盘,以便它仅在按下按钮后运行。

所需组件

你需要以下组件:

  • 1 个 面包板
  • 1 个 Arduino Leonardo、Micro 或 Due 开发板
  • 1 个 瞬时按钮
  • 1 个 10k 欧姆电阻

步骤

按照电路图,将组件连接到面包板,如下图所示。

Keyboard Message Breadboard

程序

在你的电脑上打开 Arduino IDE 软件。使用 Arduino 语言进行编程来控制你的电路。点击“新建”打开一个新的程序文件。

Sketch

Arduino 代码

/*
   Keyboard Message test For the Arduino Leonardo and Micro,
      Sends a text string when a button is pressed.
   The circuit:
   * pushbutton attached from pin 4 to +5V
   * 10-kilohm resistor attached from pin 4 to ground
*/

#include "Keyboard.h"
const int buttonPin = 4; // input pin for pushbutton
int previousButtonState = HIGH; // for checking the state of a pushButton
int counter = 0; // button push counter

void setup() {
   pinMode(buttonPin, INPUT); // make the pushButton pin an input:
   Keyboard.begin(); // initialize control over the keyboard:
}

void loop() {
   int buttonState = digitalRead(buttonPin); // read the pushbutton:
   if ((buttonState != previousButtonState)&& (buttonState == HIGH)) // and it's currently pressed: {
      // increment the button counter
      counter++;
      // type out a message
      Keyboard.print("You pressed the button ");
      Keyboard.print(counter);
      Keyboard.println(" times.");
   }
   // save the current button state for comparison next time:
   previousButtonState = buttonState;
}

代码说明

将按钮的一个端子连接到 Arduino 的 4 号引脚,另一个端子连接到 5V。使用电阻作为下拉电阻,提供接地参考,将其从 4 号引脚连接到地。

程序写入开发板后,拔掉 USB 数据线,打开一个文本编辑器并将文本光标放在输入区域。再次通过 USB 将开发板连接到电脑,然后按下按钮在文档中写入内容。

结果

使用任何文本编辑器,它将显示通过 Arduino 发送的文本。

广告