ARDUINO引脚不断地从高电平变为低电平?

0 electronics arduino arduino-ide arduino-uno

我使用此代码检查了Arduino引脚8的状态。查看该引脚是高电平还是低电平,但是我的输出从高电平连续变为低电平。

运行此代码时,我没有将任何东西连接到引脚8。

const int Pin = 8; 
int Reading=0;

void setup() {
  Serial.begin(9600);
  delay(2000);
  pinMode(Pin, INPUT); 
}

void loop() {
  Reading = digitalRead(Pin); 
  if(Reading == HIGH)
  {
    Serial.println("HIGH");
    delay(2000);
  }

  if(Reading == LOW)
  {
    Serial.println("LOW");
    delay(2000);
  }

}
Run Code Online (Sandbox Code Playgroud)

但是我的输出是这样的:输出:

HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW
Run Code Online (Sandbox Code Playgroud)

不知道该怎么办??

Bum*_*Kim 5

这是正确的行为。

由于您没有连接引脚,因此读取值应该不确定(这意味着不稳定)。选中“浮动”状态以了解更多信息。

如果要使其稳定,请考虑使用内部上拉电阻。换线

pinMode(引脚,输入);

pinMode(Pin,INPUT_PULLUP);

使其在断开连接时始终为高电平。在这种情况下,实际尝试连接引脚时,应考虑内部上拉电阻。

官方的Arduino文档提供了有关每个GPIO状态的更详细的描述。