如果要将按钮或开关用作微控制器(MCU)上的输入,则可以使用“上拉电阻”,以便在((常开))开关或按钮闭合时,该输入被视为逻辑高电平。上拉电阻连接到Vcc或输入为逻辑高电平,因此将引脚上的值“上拉”为高电平。当开关闭合时,相应的程序或软件将需要将常开(N.O.)开关的状态匹配为高。“Normally open”就是这样它的自然状态是打开的,直到您关闭开关。
对于某些MCU,MCU本身可能以与用于输入的电源电压(例如3.3v)不同的电源电压(例如Vcc = 5v)运行,因此请确保您知道引脚可以处理的电压。您可以在Arduino UNO上连接上拉电阻,如下所示:

如果没有上拉电阻,则您的输入仍将读取状态,但是尚不清楚其状态为高电平还是低电平,因为实际上没有分配任何状态。如果您的MCU具有内部上拉电阻,则例外。当没有任何东西与引脚相连时,通常将其称为“浮动引脚”,因为它没有分配的高/低状态,并且如果引脚保持悬空状态,则噪声会随机影响引脚上的电压电平。
在图1中,如果您按下按钮,则该引脚将接地,并且它不短路至5v电源的唯一原因是由于上拉电阻。当按钮在正常状态下打开时,您的输入将看到5v附近(上拉电阻的压降可忽略不计)。
您使用什么值的上拉电阻?这取决于MCU。通常,您将使用一个数量级的上拉电阻 降低 比在MCU数据表中声明的输入阻抗(对于UNO板,这就是ATmega328P数据表。)对于上面的Arduino UNO的示例,一个 建议上拉10kΩ。
下拉电阻具有相同的阻抗值,但与上拉电阻相反。电阻接地,输入拉低。相应的软件将需要反映差异,并且开关的操作(如常开或常闭)也将影响整个设置的逻辑。
发表评论