- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Arduino Micro 在我拥有的前端触发特定事件。然而,出于某种原因,一些关键组合只是随机触发。发生这种情况时,我什至没有接触 arduino。
我已经设置好了,当你按下一个按钮时,它只触发一次击键,而不是在按下按钮时重复它。
我错过了什么,或者搞砸了什么?
int escButton = 12, valEsc, valEsc2, stateEsc;
int volUp = 11, valVup, valVup2, stateVup;
int volDown = 10, valVdown, valVdown2, stateVdown;
int rebootButton = 9, valReboot, valReboot2, stateReboot;
char ctrlKey = KEY_LEFT_GUI;
char shiftKey = KEY_LEFT_SHIFT;
void pressKeyCombos(int combo){
switch(combo) {
case 1:
Keyboard.press(KEY_ESC);
delay(100);
Keyboard.releaseAll();
break;
case 2:
Keyboard.press(shiftKey);
Keyboard.press(KEY_F1);
delay(100);
Keyboard.releaseAll();
break;
case 3:
Keyboard.press(shiftKey);
Keyboard.press(KEY_F3);
delay(100);
Keyboard.releaseAll();
break;
case 4:
Keyboard.press(shiftKey);
Keyboard.press(KEY_F2);
delay(100);
Keyboard.releaseAll();
break;
}
}
void setup() {
pinMode(escButton, INPUT);
stateEsc = digitalRead(escButton);
Keyboard.begin();
}
void loop(){
valEsc = digitalRead(escButton);
delay(10);
valEsc2 = digitalRead(escButton);
valVup = digitalRead(volUp);
delay(10);
valVup2 = digitalRead(volUp);
valVdown = digitalRead(volDown);
delay(10);
valVdown2 = digitalRead(volDown);
valReboot = digitalRead(rebootButton);
delay(10);
valReboot2 = digitalRead(rebootButton);
if (valVup == valVup2) {
if (valVup != stateVup) {
if (valVup == LOW) {
pressKeyCombos(4);
}
}
stateVup = valVup;
}
if (valVdown == valVdown2) {
if (valVdown != stateVdown) {
if (valVdown == LOW) {
pressKeyCombos(3);
}
}
stateVdown = valVdown;
}
if (valReboot == valReboot2) {
if (valReboot != stateReboot) {
if (valReboot == LOW) {
pressKeyCombos(2);
}
}
stateReboot = valReboot;
}
if (valEsc == valEsc2) {
if (valEsc != stateEsc) {
if (valEsc == LOW) {
pressKeyCombos(1);
}
}
stateEsc = valEsc;
}
}
最佳答案
默认情况下,输入为高阻抗。根据您对行为的描述,我可以猜测您没有添加外部上拉/下拉电阻并且引脚连接到常开开关。随机输入将与预期的一样,并在 digitalRead() 的文档中注明:
Note
If the pin isn't connected to anything, digitalRead() can return
either HIGH or LOW (and this can change randomly).
There are also convenient 20K pullup resistors built into the Atmega chip that can be accessed from software. These built-in pullup resistors are accessed in the following manner.
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors
关于Arduino Micro 无接触触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14174162/
所以我在 Caliburn.Micro 上摆弄了一下,突然发现了一些有趣的东西。 我有一个名为 Maximum 的 ViewModel 属性,类型为 int,通过命名约定与 CM 自动绑定(bind)
如果我的 View 中有一个名为 Save 的按钮,那么我可以将 Save 属性添加到我的 ViewModel,Caliburn.Micro 会自动将它绑定(bind)到我的按钮的内容。例如: pub
我将 ViewModels 绑定(bind)到 ContentControls 并让 Caliburn 负责创建和绑定(bind) View 。但是,我想根据我绑定(bind)的 ContentCon
我一直在尝试将 Caliburn.Micro MVVM 框架集成到我处于中间位置的 C# WPF 项目中。 我目前只有三个 View 模型: ShellViewModel -(带有 ContentCo
Caliburn.Micro 是否有与 Catel's 类似的功能? [ExposeAttribute] ? 有没有其他方法可以减轻 Caliburn.Micro 中传递属性的工作? (即模型中的属性
我这样做: 问题是,这同时是主窗口上定义的主导体,我用它控制通过其他窗口的导航,所以我不能从 MetroWindow 继承,至少尝试更改 ViewModel 中的标题: public class S
我知道,没有办法直接在 Amazon 上从 t1.micro 迁移到 t2.micro。 那么,它会工作吗: 从当前 t1 中分离 EBS 卷 创建新的 t2.micro 实例 将 EBS vol 附
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我已在 MongoDb 配置文件中启用分析。 profile=2 slowms=5 mongodb 日志包含所有耗时超过 5 毫秒的查询(奇怪,我认为 profile=2 意味着记录所有查询)。 对于
我试图弄清楚如何成功地让 Caliburn Micro 在 Windows Phone 8.1 应用程序中从一个页面导航到另一个页面。 我的第一页加载得很好,正如我的 App 类中所指定的: prot
我尝试使用 Google 的 UI 在我的集群中启动一个新的 f1-micro 节点,但它默默地失败了。所以我决定使用 gcloud 运行它,看看它是否提供了更多细节 所以我运行了以下 gcloud
我正在使用 Arduino Micro 在我拥有的前端触发特定事件。然而,出于某种原因,一些关键组合只是随机触发。发生这种情况时,我什至没有接触 arduino。 我已经设置好了,当你按下一个按钮时,
我刚刚开始开发一个简单的 Restful 服务。我的文件夹结构如下: root - /api --/api/customers.php 例如,在浏览器中我打算调用http://domain/api/c
我有一些包含一定数量不同字符串的文件(大约 100.000 个取自产品)。需要找出处理该文件中每个字符串的函数的 99%、99.9%。 我尝试使用jmh来编写基准测试。但是,我只能找到批处理函数(处理
有没有办法在android中检测micro sd卡?我知道 Environment 类提供了外部存储的详细信息。但它只是提供了内置 SD 卡的详细信息。有办法解决吗? 最佳答案 您可以使用 isExt
问题是关于将 go-micro 包装器用作单独的服务 - 如果有人知道如何正确使用它,请告诉我。我的例子 - authWrapper,所以所有的 api 服务都应该能够使用它,它应该通过标准服务发现来
我有 Angular 6 微前端应用程序。它在主应用程序中有 4 个不同的应用程序。我如何在这些应用程序之间实现路由。我如何在主应用程序(我在主应用程序中有很多子路由)和子应用程序中实现路由。我正在使
我正在开发一个使用 Caliburn Micro 的 WPF 项目。我遇到了一个问题,即第二次打开 View 时, View 中的控件没有得到更新。第一次数据绑定(bind)工作正常。 当我第二次调用
在我的 WPF Caliburn.Micro 应用程序中,我有一个 TabControl。我希望能够根据需要关闭标签。我在这里找到了一种方法: http://devlicio.us/blogs/rob
我有一个使用WPF应用程序的场景,该应用程序托管一些带有其视图模型的视图(用户控件),这些视图模型是MEF在其插件文件夹中导出的部件。该应用程序将其数据与配置文件一起加载,该文件还指示应在可用零件中导
我是一名优秀的程序员,十分优秀!