Button Arduino微型键盘

Button Arduino微型键盘,button,arduino,keyboard,Button,Arduino,Keyboard,我想用我的Arduino Micro做一个键盘。电路是好的,但我有一些问题的代码,希望你能在这里帮我一把。现在,我只是在尝试使用第8针中的一个键,当您按下按钮时,该键将在web浏览器中打开一个新选项卡。现在只需一个键,看看它是否有效 我有以下代码: #包括 无效设置(){ //将安装代码放在此处,以便运行一次: pinMode(8,输入); Keyboard.begin();//设置键盘 } void循环(){ //检查按钮 如果(读取按钮(8)){ 作用(8); } } 布尔读取按钮(int引

我想用我的Arduino Micro做一个键盘。电路是好的,但我有一些问题的代码,希望你能在这里帮我一把。现在,我只是在尝试使用第8针中的一个键,当您按下按钮时,该键将在web浏览器中打开一个新选项卡。现在只需一个键,看看它是否有效

我有以下代码:

#包括
无效设置(){
//将安装代码放在此处,以便运行一次:
pinMode(8,输入);
Keyboard.begin();//设置键盘
}
void循环(){
//检查按钮
如果(读取按钮(8)){
作用(8);
}
}
布尔读取按钮(int引脚){
//检查和去盎司按钮
if(数字读取(引脚)=高){
延迟(10 000);
if(数字读取(引脚)=高){
返回true;
}
}
返回false;
}
无效doAction(内部引脚){
//执行任务
开关(引脚){
案例8:
//CMD+T(新标签,镀铬)
键盘。按(左键);
键盘。按('t');
延迟(10 000);
键盘。释放全部();
打破
}
}

但一旦我上传代码,它会自动打开新标签10秒钟,然后再停止10秒钟,然后再次启动。无需按下按钮,所有这些都会自动完成。你知道我错了什么吗?

你正在使用
键盘。按()
,根据文档所示

调用时,
Keyboard.press()
的功能就好像在键盘上按住一个键一样

也就是说,您按住了键。因此Arduino会不断向您的电脑发送按键序列
CMD+T(新标签,Chrome)
,因此Chrome会不断打开新标签

在给予足够的延迟后,您需要
释放
,以便只向应用程序发送一次按键

要结束按键,请使用
Keyboard.release()
Keyboard.releaseAll()


从您使用的
延迟(10000)
可以明显看出10秒

可能是Hi clmno的副本,非常感谢您的留言。我理解你所说的,但是主要的问题是arduino没有按下(或释放)任何按钮就完成了动作。只要上传到电路板上,它就会自动运行程序。@tanaan你拔出引脚了吗?是的,有一个10k电阻。这就是你的意思吗?@tanaan当你按下按钮时会发生什么?销是否向下拉(0V)或向上拉?你写了一个检测上拉的代码,我问的是电压而不是代码。使用万用表了解连接情况。如果连接正常,并且程序在未看到按钮按下事件的情况下运行,则最有可能的情况是,您已将其连接到默认情况下被拉起,从而导致程序认为这是一个
事件,并运行其余代码。