Arduino内置教程-USB-键盘发消息
键盘发消息
在这个例子里,当按键按下,一个文本字符串就会像键盘输入那样发送到电脑。这个字符串报告了按键按下的次数。一旦你编译了Leonardo,且连好线,打开你的文本编译器来看结果。
注意:当你用 Keyboard.print() 命令时,Arduino会接管你的电脑键盘!为了确保你没有失去对电脑的控制同时运行这个函数,确定在你调用 Keyboard.print()前,启动一个可靠的控制系统。这个程序被设计成只有在一个引脚下拉到地才能发送键盘命令。
硬件要求
- Arduino Leonardo, Micro, or Due开发板
- 即时按键
- 10k ohm电阻
软件要求
- 任何文本编译器
电路
连接按键的一个引脚到开发板的pin4上。连接另一个引脚到5V电源。从pin4到地,增加一个下拉电阻。
一旦你编译好你的开发板,插上USB线,打开文本编译器,并且把文本光标移到打字区域。重新通过USB连接你开发板到电脑里,并按下按键来写入文件。
图由 Fritzing 软件绘制
样例代码
/*
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
created 24 Oct 2011
modified 27 Mar 2012
by Tom Igoe
modified 11 Nov 2013
by Scott Fitzgerald
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/KeyboardMessage
*/
#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() {
// make the pushButton pin an input:
pinMode(buttonPin, INPUT);
// initialize control over the keyboard:
Keyboard.begin();
}
void loop() {
// read the pushbutton:
int buttonState = digitalRead(buttonPin);
// if the button state has changed,
if ((buttonState != previousButtonState)
// and it's currently pressed:
&& (buttonState == HIGH)) {
// 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;
}
更多
- Keyboard.write()
- Keyboard.print()
- Keyboard.println()
- KeyboardLogout - 利用按键命令注销当前使用者
- KeyboardMessage - 当一个按键被按下,发送一个文本字符串。
- KeyboardReprogram - 在Arduino IDE上打开一个新窗口,用简单的跑马灯程序重新编译Leonardo
- KeyboardSerial - 从串口里读取一个字节,然后返回一个键值。
- KeyboardAndMouseControl - 在一个程序里示范鼠标和键盘命令
- ButtonMouseControl - 通过5个按键控制光标行动
- JoystickMouseControl - 当按键被按下时,通过一个操纵杆来控制电脑光标的行动