📜  Arduino-键盘消息

📅  最后修改于: 2020-11-05 03:40:25             🧑  作者: Mango


在此示例中,当按下按钮时,文本字符串作为键盘输入发送到计算机。该字符串报告按钮被按下的次数。对Leonardo进行编程和连接后,打开您喜欢的文本编辑器以查看结果。

警告-当您使用Keyboard.print()命令时,Arduino会接管您计算机的键盘。为确保在使用此函数运行草图时不会失去对计算机的控制,请在调用Keyboard.print()之前设置可靠的控制系统。该草图包括一个用于切换键盘的按钮,因此仅在按下按钮后才能运行。

所需组件

您将需要以下组件-

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

程序

遵循电路图,并如下图所示将面包板上的组件连接起来。

键盘消息面包板

草图

打开计算机上的Arduino IDE软件。使用Arduino语言进行编码将控制您的电路。通过单击“新建”打开一个新的草图文件。

草图

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发送的文本。