Arduino ADKeyboard 库





5.00/5 (2投票s)
一个用于5键模拟键盘的库
引言
我最近从 cooking-hacks 购买了一个5键键盘。我喜欢它,因为它对于简单的任务很有用,并且只需要Arduino上的一个模拟引脚。使用方法也很简单。你从模拟引脚读取不同的值来对应每个按钮,因此可以理解哪个按钮被按下。这里是键盘,以及它的示例代码。我所做的就是将它们打包成一个库。
Using the Code
当你将库文件(AdKeyboard.cpp, AdKeyboard.h)放在Arduino IDE的libraries文件夹中时,你就可以在你的项目中使用了。
// include the header file
#include <AdKeyboard.h>
// instantiate it on Analog0 of the arduino board
AdKeyboard adKeyboard(0);
你可以通过在setup中向键盘对象提供回调函数来将代码附加到事件上。我已经实现了3个事件。
- 点击事件:简单的按下和释放事件。
- 按下事件:按下并保持事件。当你按住一个键一段时间(默认值为2秒)时,如果提供了回调函数,则会执行它。
- 双键按下事件:类似于按下事件,但你需要同时按住两个键才能触发此事件。这里有一个技巧。你应该先按下索引较高的键,因为硬件实现的原因,索引较低的键会屏蔽较高的键。
让我们将回调函数附加到adKeyboard
对象。
void setup() {
Serial.begin(9600);
adKeyboard.setClickCallback(clickHandler);
adKeyboard.setPressCallback(pressHandler);
adKeyboard.setTwoPressCallback(twoPressHandler);
}
以及回调函数
void clickHandler(int key) {
Serial.print("clickHandler: ");
Serial.println(key);
}
void pressHandler(int key) {
Serial.print("pressHandler: ");
Serial.println(key);
}
void twoPressHandler(int k1, int k2) {
Serial.print("twoPressHandler: ");
Serial.print(k1);
Serial.print(" ");
Serial.println(k2);
}
还有一个要点。你必须在主循环中监控键盘。
void loop() {
adKeyboard.update();
}
就是这样。现在你有了5键键盘用于你的项目。尽情享受吧!
你可以从本文提示顶部的链接下载源代码。