weixin_50962443 2021-05-12 17:57 采纳率: 0%
浏览 33

arduino关于input函数

如题,我想使用input函数做到一个效果:在input引脚检测到高电平时,另外一个引脚可以输出高电平,因为涉及到后续的程序,所以采用if的结构。源代码如下

void setup() {
  // put your setup code here, to run once:
pinMode(0,INPUT);
pinMode(7,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
if(digitalRead(0)==HIGH){
  
  digitalWrite(7,HIGH);
  
  
  }
  delay(1000);
  digitalWrite(7,LOW);
  
}

现在的问题是只要一通电,7号引脚就会输出高电平,使led灯亮,无论0号引脚是否连接都是一样的,求问如何解决?谢谢!

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-02 14:10
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    你可以使用一个变量来记录input引脚的状态,只有当input引脚检测到高电平时,才会改变output引脚的状态。可以按照以下步骤来解决这个问题:
    1. 在setup函数中,定义一个变量(例如isHigh),将其初始值设置为LOW,用于记录input引脚的状态。
    2. 在loop函数中,使用digitalRead函数读取input引脚的电平,并将其赋值给isHigh变量。
    3. 在if语句中判断isHigh是否为HIGH,如果是则将output引脚的状态设置为HIGH,否则设置为LOW。 这样,只有当input引脚检测到高电平时,output引脚才会输出高电平。 下面是修改后的代码示例:
    void setup() {
      pinMode(0, INPUT);
      pinMode(7, OUTPUT);
    }
    void loop() {
      int isHigh = digitalRead(0);
      if (isHigh == HIGH) {
        digitalWrite(7, HIGH);
      } else {
        digitalWrite(7, LOW);
      }
      delay(1000);
    }
    

    在这个示例中,当input引脚检测到高电平时,output引脚会输出高电平,当input引脚检测到低电平时,output引脚会输出低电平。

    评论

报告相同问题?