首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARDUINO引脚不断地从高到低变化?

ARDUINO引脚不断地从高到低变化?
EN

Stack Overflow用户
提问于 2019-03-13 03:44:20
回答 2查看 1.4K关注 0票数 0

我使用此代码来检查Arduino引脚8的状态。以查看引脚是高还是低,但我的输出不断从高到低变化。

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

代码语言:javascript
复制
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);
  }

}

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

代码语言:javascript
复制
HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW

不知道该怎么办??

EN

回答 2

Stack Overflow用户

发布于 2019-03-13 17:02:02

这是正确的行为。

因为你没有连接引脚,所以读取应该是未定义的(意味着它不稳定)。请查看"floating" state了解更多信息。

如果你想使它稳定,考虑使用内部上拉电阻。更改线路

pinMode(引脚,输入);

pinMode(Pin,INPUT_PULLUP);

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

The official Arduino documentation提供了关于每种GPIO状态的更详细的描述。

票数 6
EN

Stack Overflow用户

发布于 2019-03-14 18:20:25

由于内部上拉很弱,有时会添加

代码语言:javascript
复制
pinMode(Pin, INPUT_PULLUP);

不会解决这个问题,所以你需要在引脚和地/电源之间添加10K或更高值的电阻,以便最初使引脚向上或向下拉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55129550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档