Arduino在开关情况下循环,直到再次按下按钮。
创始人
2024-09-12 23:01:07
0

以下是一个使用Arduino的代码示例,实现在开关情况下循环,直到再次按下按钮:

const int buttonPin = 2; // 按钮连接到数字引脚2
const int ledPin = 13; // LED连接到数字引脚13

int buttonState = HIGH; // 按钮状态,默认为高电平
int lastButtonState = HIGH; // 上一次按钮状态,默认为高电平

void setup() {
  pinMode(buttonPin, INPUT_PULLUP); // 设置按钮引脚为上拉输入模式
  pinMode(ledPin, OUTPUT); // 设置LED引脚为输出模式
}

void loop() {
  buttonState = digitalRead(buttonPin); // 读取按钮引脚的状态

  // 检测按钮状态是否由高电平变为低电平
  if (buttonState == LOW && lastButtonState == HIGH) {
    digitalWrite(ledPin, !digitalRead(ledPin)); // 切换LED状态
  }

  lastButtonState = buttonState; // 更新上一次按钮状态

  delay(50); // 延迟一段时间,避免过快重复检测按钮状态
}

这个示例中,我们首先设置了两个常量,buttonPin表示按钮连接的数字引脚,ledPin表示LED连接的数字引脚。然后,在setup()函数里,我们将按钮引脚设置为上拉输入模式,将LED引脚设置为输出模式。

loop()函数里,我们通过digitalRead()函数读取按钮引脚的状态,并将其存储在buttonState变量中。然后,我们检测按钮状态是否由高电平变为低电平,如果是,则切换LED的状态,即通过digitalRead()函数读取LED引脚的状态,并使用!运算符取反,再通过digitalWrite()函数将新的状态写入LED引脚。

最后,我们更新lastButtonState变量为当前按钮状态,并通过delay()函数延迟一段时间,避免过快重复检测按钮状态。这样,当按钮按下后,LED的状态会切换一次,然后会在再次按下按钮之前一直保持不变。

相关内容

热门资讯

透视实锤!wpk透视辅助方法,... 透视实锤!wpk透视辅助方法,智星菠萝可以辅助吗,教你攻略(果然有挂),支持语音通讯、好友开房及战队...
透视美元局!aapoker可以... 透视美元局!aapoker可以开挂吗,pokerworld破解版下载,AI教程(一贯真的是有挂);致...
透视存在!aapoker辅助是... 透视存在!aapoker辅助是真的吗,哈糖大菠萝攻略,微扑克教程(一向有挂);免费aapoker辅助...
透视脚本!wepoker透视版... 透视脚本!wepoker透视版下载,wepoker辅助是真的假的,2025新版技巧(固有是有挂) 科...
透视规律!aapoker透视脚... 透视规律!aapoker透视脚本安装包,wepoker开辅助能查到吗,安装教程(最初真的有挂);(需...
辅助透视!德普之星辅助器,拱趴... 辅助透视!德普之星辅助器,拱趴大菠萝万能辅助器,详细教程(好像存在有挂);亲,其实确实真的有挂(需添...
透视最新!wpk辅助器安装,拱... 透视最新!wpk辅助器安装,拱趴大菠萝万能辅助器,新版2025教程(原生是有挂);wpk辅助器安装黑...
透视教学!aapoker透视脚... 透视教学!aapoker透视脚本下载,wpk私人辅助,详细教程(原来存在有挂);亲真的是有正版授权,...
透视软件!wpk有没有脚本,w... 透视软件!wpk有没有脚本,wpk软件是正规的吗,攻略教程(原本真的有挂),支持语音通讯、好友开房及...
透视ai!wpk透视辅助方法,... 您好,wpk透视辅助方法这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...