Arduino在开关情况下循环,直到再次按下按钮。
创始人
2024-09-12 23:02:21
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的状态会切换一次,然后会在再次按下按钮之前一直保持不变。

相关内容

热门资讯

安卓系统怎么连不上carlif... 安卓系统无法连接CarLife的原因及解决方法随着智能手机的普及,CarLife这一车载互联功能为驾...
iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
oppo手机安卓系统换成苹果系... OPPO手机安卓系统换成苹果系统:现实吗?如何操作?随着智能手机市场的不断发展,用户对于手机系统的需...
安卓平板改windows 系统... 你有没有想过,你的安卓平板电脑是不是也能变身成Windows系统的超级英雄呢?想象在同一个设备上,你...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...
安卓系统上滑按键,便捷生活与高... 你有没有发现,现在手机屏幕越来越大,操作起来却越来越方便了呢?这都得归功于安卓系统上的那些神奇的上滑...
安卓系统连接耳机模式,蓝牙、有... 亲爱的手机控们,你们有没有遇到过这种情况:手机突然变成了“耳机模式”,明明耳机没插,声音却只从耳机孔...
希沃系统怎么装安卓系统,解锁更... 亲爱的读者们,你是否也像我一样,对希沃一体机上的安卓系统充满了好奇呢?想象在教室里,你的希沃一体机不...
安装了Anaconda之后找不... 在安装Anaconda后,如果找不到Jupyter Notebook,可以尝试以下解决方法:检查环境...
安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...