• 文章目录上拉电阻 按钮 上拉电阻
文章目录引脚悬空上拉电阻下拉电阻内置上拉电阻

引脚悬空
先看一段代码
void setup() {
Serial.begin(9600);
pinMode(2,INPUT);
}

void loop() {
delay(500);
}

并简单连接电路

此时不触碰开关和7引脚，串口会打印高电平还是低电平呢？
可以看到输出结果是随机值，1高电平 0低电平，一直变化
这是因为pinMode设置为 INPUT 后电阻极大，外部微小的电流变化比如相邻引脚的电流都会影响读取的点平
我们希望不触碰时能稳定在某个电平，此时就需要 上拉下拉电阻 的介入
上拉电阻
顾名思义，上拉电阻将引脚上拉到高电平

10kΩ 的电阻称为上拉电阻，目的是保护电路
开关断开时 5V 直接与引脚相连，此时引脚读取到的是高电平
开关按下后，引脚被短路，5V直接接地，此时引脚读取到的是低电平
实物图：

下拉电阻

同理，将引脚接地
开关断开时为低电平
开关闭合时为高电平
实物图：

内置上拉电阻
Arduino自带内置上拉电阻，不用像上面那样自己搭建，直接在代码中开启即可
pinMode(pin,INPUT_PULLUP);

此时引脚读取的为高电平
若需要读取低电平，外置一个变量赋值digitalRead后逻辑取反 ! 即得到低电平


展开全文
• 1.如果不存在电阻，输入引脚就不连接任何东西（悬空），因此电压是浮动的，Why? 援引资料讲解: Fig 5.3 Our two alternative switch wiring possibilities For example, in these schematics we can connect ...
1.如果不存在电阻，输入引脚就不连接任何东西（悬空），因此电压是浮动的，Why?
援引资料讲解:
Fig 5.3 Our two alternative switch wiring possibilities
For example, in these schematics we can connect and disconnect pin 2 to 5V, or we can connect and disconnect pin 2 to ground. In both cases, as long as the button is held down, the pin is connected to a valid input voltage. When the button is released, though, pin 2 is not connected to anything. This is called a floating input voltage. Basically, it’s invalid input!

Try building up one of these schematics, and trying out the switch testing sketch above. When the button is held down you should definately get the right printout. When its released, it may keep the old value, or it may change, but its certainly not reliable!
Above correct reference the below pics: 
展开全文
• 上拉电阻和下拉电阻by Taron Foxworth 通过塔伦·福克斯沃思(Taron Foxworth) 硬件基础：下拉电阻和上拉电阻如何工作 (Hardware fundamentals: how pull-down and pull-up resistors work) If you’ve ever wired ...
上拉电阻和下拉电阻by Taron Foxworth 通过塔伦·福克斯沃思(Taron Foxworth)
硬件基础：下拉电阻和上拉电阻如何工作 (Hardware fundamentals: how pull-down and pull-up resistors work)
If you’ve ever wired up a button to an Arduino, you’ve come across this diagram: 如果您曾经将一个按钮连接到Arduino，那么您会遇到以下图表：
At first, this can be confusing. My first thoughts: “Why do I need a resistor? I just want to it to tell me whether the button is being pressed.” 首先，这可能会造成混淆。 我的第一个想法是：“为什么需要电阻？ 我只是想告诉我按钮是否被按下。”
After a lot of reading, there wasn’t a simple explanation. 经过大量阅读后，没有一个简单的解释。
这里发生了什么 (What’s going on here)
In that button — AKA a switch—the wires are shaped in the form of an “H”. But the middle isn’t connected — or the circuit isn’t connected — until we press the button. 在该按钮(也称为开关)中，电线的形状为“ H”形。 但是直到我们按下按钮，中间才被连接(或电路未被连接)。
In reality, we want to read from the Arduino a 0 when nothing is connected and a 1 when the button is pressed. 实际上，我们要在未连接任何东西时从Arduino读取0 ，并在按下按钮时读取1 。
On the Arduino, this is called General Purpose Input Output (GPIO). 在Arduino上，这称为通用输入输出( GPIO )。
So, we can do something like this: 因此，我们可以执行以下操作：
We connect positive (5v, 3.3V, or VCC) to the left side of the circuit. 我们将正极(5v，3.3V或VCC)连接到电路的左侧。
Now, when the button is pressed, the GPIO will read a 1, and all is good. 现在，当按下按钮时，GPIO将读取1 ，一切正常。
Well, no. Let’s take a look at Diagram 2 again: 好吧，不。 让我们再次看一下图2：
We wanted a 0 when nothing is connected, but how can you guarantee this? Currently, there is no way to guarantee the GPIO to be 0. 当没有任何连接时，我们希望为0 ，但是如何保证呢？ 当前，无法保证GPIO为0 。
There is also electromagnetic frequencies in the air that could draw your GPIO to 0 or 1. It could even fluctuate between the two! This way, we can’t be positive it’s a 0 (I’m so bad at puns). This is also known as a logical 0. 空气中也存在电磁频率，可能会使GPIO变为0或1 。 两者之间甚至可能波动！ 这样，我们不能肯定它是0 (我双关语很不好)。 也称为逻辑0 。
One way to get a logical 0 is to tie the pin to Ground: 获得逻辑0一种方法是将引脚接地。
Yay! So, now it’s a guaranteed logical zero. While pushing the button, it’s going to be 1 now. Right? 好极了！ 因此，现在保证是逻辑零。 按下按钮时，现在将为1 。 对？
Well, No. 好吧，不
You just created a short circuit. ? 您刚刚造成了短路 。 ？
This is where the resistor comes in. To avoid a short circuit, we need to add resistance to our circuit. The resistor keeps things under control. 这是电阻器进入的地方。为避免短路，我们需要在电路中增加电阻。 电阻使事物处于受控状态。
Electricity will take the path of least resistance. Your GPIO will now register a 1 when the button is pressed. Like so: 电力将沿着阻力最小的道路前进。 现在，按下按钮后，您的GPIO将注册为1 。 像这样：
Woo Hoo! Now we’re working with something. 呜呼！ 现在，我们正在处理某些东西。
Now let’s look at the opposite: pull-up resistors. It’s the same thing but in reverse. While the button is not pressed, the GPIO will register a 1. When you pressed the button, the GPIO will be 0. 现在让我们看看相反的情况：上拉电阻。 这是同一件事，但相反。 当未按下按钮时，GPIO将注册1 。 当您按下按钮时，GPIO将为0 。
While not pressed, we have the GPIO connected to positive ( VCC ). So, any current that is there will be pulled-up so that the GPIO registers a logical 1. 未被按下时，我们将GPIO连接到正极(VCC)。 因此，存在的任何电流都会被上拉，以使GPIO注册为逻辑1 。
It’s important to note here that, electricity always wants to go to Ground. So, when we press the button, the current that’s flowing will flow to Ground. Thus, any current that would have been going to the GPIO goes with it, leaving the GPIO at a logical 0. 在此必须注意的是，电总是要接地。 因此，当我们按下按钮时，正在流动的电流将流向地面。 因此，本应流向GPIO的任何电流都会随之流逝，而GPIO保持逻辑0 。
? The End. ？ 结束。
我为什么写这个？ (Why did I write this?)
I joined Losant in September of 2016 with no hardware experience. Every single hardware starter kit gives you a button with no explanation of this concept. Hopefully, this helps your light bulb go off too. ? 我于2016年9月加入Losant ，没有硬件经验。 每个单独的硬件入门套件都为您提供了一个按钮，但没有对此概念进行解释。 希望这也有助于您的灯泡熄灭。 ？
This only scratched the surface. If you want to dig deeper, check out these resources: 这只是划伤表面。 如果您想进一步研究，请查看以下资源：
Pull-up Resistors - learn.sparkfun.comAnother thing to point out is that the larger the resistance for the pull-up, the slower the pin is to respond to…learn.sparkfun.com 上拉电阻-Learn.sparkfun.com还要指出的 另一点是，上拉电阻越大，引脚响应的速度就越慢。
I love feedback. So, please let me know if this could be improved. If I totally missed the ball on this, let me know! I would love to make it better for others.
我喜欢反馈。 因此，请让我知道是否可以改进。 如果我完全错过了球，请告诉我 ！ 我想为他人做得更好。
翻译自: https://www.freecodecamp.org/news/a-simple-explanation-of-pull-down-and-pull-up-resistors-660b308f116a/上拉电阻和下拉电阻
展开全文
• 在学习arduino时，连接微动开关，需要一个下拉电阻，当开关处于开路的状态时，保持输入引脚的低电平。对于其中的原理纠结了很长时间，下面是根据查找到的资料和加入了自己的理解。 下拉电阻 1当处于断路...

在学习arduino时，连接微动开关，需要一个下拉电阻，当开关处于开路的状态时，保持输入引脚的低电平。对于其中的原理纠结了很长时间，下面是根据查找到的资料和加入了自己的理解。

下拉电阻

1当处于断路状态时，如果没有10K欧的下拉电阻，Input端的电压在0V~5V之间浮动。有下拉电阻时，输入引脚通过10k欧电阻接地，处于低电平。

2 当电路处于开路状态时，电流以最下电阻的路径流动，在输入引脚和5V之间流动。输入端口处于高电平

下拉电阻的应用：在电路处于断路状态时，保证输入端处于低电平。

上拉电阻

1 当开关处于闭合状态时，输入端的电压是0V，处于低电平，如果没有上拉电阻，将短路。

2 当开关处于断开状态时，输入端处于高电平。

上拉电阻的应用：上拉电阻用在数字电路中经常用来保证输入保持高电平。在IC电路中经常存在大多数时间保持高电平的引脚，低电平仅仅是为了触发某种功能比如是复位。

开关状态

闭合

断开

下拉电阻

高电平

低电平

上拉电阻

低电平

高电平

Arduino内部的上拉电阻

arduino引脚内部有一个20k欧的上拉电阻，用软件激活

pinMode(pin,INPUT);

digitalWrite(pin,HIGH);

展开全文
• 在学习arduino时，连接微动开关，需要一个下拉电阻，当开关处于开路的状态时，保持输入引脚的低电平。对于其中的原理纠结了很长时间，下面是根据查找到的资料和加入了自己的理解。 下拉电阻 1当处于断路状态时，...
• 接上篇，这次继续讲解光控灯的另外两个组成部分 - 开关和光敏电阻，光控灯里面将会有自锁开关按钮和光敏电阻。这此主要给新玩电子的朋友解释一下开关按钮的做法。 开关按钮的引脚电平读取问题 - 新手专用 我们搭...
• 在初学arduino时，感觉最难理解的概念就是上拉电阻和下拉电阻了，不过你一旦理解了这个，后面的大部分都比较简单了！ 简介 在数字逻辑电路中，一个信号不是0，就是1。正是因为这样，数字电路的设计才简单，可靠。 ...
• 1.上拉电阻 上拉电阻的官方定义是这样的：将不确定信号钳位在高电平的电阻。 OK, 不要慌，让我们用一个简单的实例来...举个例子，假如你要点亮Arduino单片机2号引脚的一个LED灯，你需要的一行代码是 digitalWrite(...
• 本文转载至：... Working a lot with Raspberry Pi and Arduino stuff lately. The concept of pull-up and pull-down resistors came up quickly and confused me a little at firs
• 到底啥是上拉(pull-up)電阻和下拉(pull-down)電阻 ? 在用 Arduino 做實驗時, 按鈕開關(Button/Switch)是很常見的應用, 然後你常常看到文件說要接個電阻, 又看到&quot;上拉電阻&quot;或&quot;下拉電阻&...
• 而NTC则不然，NTC根据温度变化产生电阻阻值变化，而且是非线性的变化，这就需要用上拉电阻或下拉电阻来选择分辨率较好的区间。NTC的R25=100K，B=3950，选用50K作为上拉电阻，根据温度与阻值的真值表，求出待测范围如...
• 一、学习目标：学会用开关控制LED,了解下拉电阻与上拉电阻，学会使用if语句进行判断二、材料：arduino UNO、LED、杜邦线、合适的电阻、USB数据线三、连接：因为之前讲过如何计算合适的电阻，所以不在重复。四、下拉...
• INPUT：当Arduino没有使用上拉电阻或下拉电阻而直接与开放的开关相连）。在开关未闭合时，该Arduino引脚处于不确定状态。为了获得准确的开关信号，须使用上拉电阻或下拉电阻。一般可以选用10K欧姆的电阻。 OUTPUT：...
• 另一个电阻为10kΩ与按键并联，为下拉电阻。当按键未按下时，2号引脚悬空，此时用digitalRead()函数读取2号引脚状态。 可直接选择02.Digital->Button /* Button Turns on and off a light emitting di...
• 本项目的代码我就不写出来了，项目的重点是对按键的控制，上拉下拉电阻，还有millis()函数 按键 在我们的认知中，按键只有开和关两种状态，但是其实在按键从刚刚开始按下到状态稳定这一段时间内，我们并不知道按键是...
• 所需硬件 Arduino开发板 一个瞬时开关、按键或拨动开关 ...该按钮的同一个引脚通过下拉电阻（这里使用的是10k欧）连接到地。按键的另一个引脚连接到5V电源。 按键或开关在按下时连接电路中的两个点。当...
• 在数字电路中开关（switch）是一种基本的输入形式，它的作用是保持电路的连接或者断开。...解决的办法是通过上 /下拉电阻，按照电路的不同通常又可以分为正逻辑（Positive Logic）和负逻辑（Inverted Logic）两种...
• //定义按钮在 12号引脚,连接一个下拉电阻 int val = 0;//变量val 存储按钮的状态 int old_val = 0;//暂存val变量的上一个时间状态 void setup(){ pinMode(BUTTON, INPUT);//INPUT —— 输入模式 OUTPUT —— 输出...
• 1、硬件部分 做一个小风扇。...按钮一端连接5V，另一端连接GND，并用一个220Ω的电阻作为下拉电阻，以防引脚悬空干扰。继电器有6个引脚，分别标有序号。1，2引脚为继电器的输入信号，分别接Arduino的数字引
• ## Arduino学习笔记-新的按键控制方式

千次阅读 多人点赞 2019-11-17 11:15:41
目录 基本概念 运行与操作 ...这里按下按钮，LED灯，就亮，再按，LED就熄灭。...INPUT为普通的输入，一般用这个要用下拉电阻，来操作。...同下拉电阻一样，上拉电阻也可以稳定I/O口的电平，不同的是上拉电阻...
• 1.材料：Arduino 板、面包板、红色LED灯一个、220欧电阻一个、10K欧...开关一段要加入一个10K欧的下拉电阻（保证电路在断开时电位的稳定性）3 USB线连接电脑、打开IDE设置好开发板和端口4 代码编写测试：按下开关后...
• HELLO!这次实验是数字串口的使用 此实验向您展示如何通过USB在Arduino与计算机之间建立串行通信来查看单片机...按钮的同一根腿通过一个下拉电阻 (这里是10k欧姆) 接地。按钮的另一条腿连接到5伏电源。 当你按下按钮或开
• 当摇臂头位于中间时是电阻的一半，当移动到一侧时，电阻减小到最小值，移向另一个电阻最大，X / Y轴是相同的，当下压头摇臂开关接地时，没有按下开关为高电平，因为不下拉/处理，水平有浮动是正常的。 接线模式： ...
• 问题描述： arduino引脚作为输入状态时，高低电平不稳定 ...再程序配置为输入状态后 使用下拉电阻（10k）将其拉低，一直保持低电平稳定状态 void setup() { Serial.begin(115200); pinMode(7,INPUT); p...
• 1、硬件部分： ...图片从卡片上照的，实现代码未完全按照这个图，是我自己连的，不要死记下图的接线，而是要明白原理，然后上面的端子随便接，滚珠开关也需要一个下拉电阻，LED需要一个限流电阻。 2
• ## Arduino学习笔记-按钮控制LED实验

千次阅读 多人点赞 2019-11-16 10:28:28
这里的R1为下拉电阻。 这里要注意： 这个地方其实是可以接地的，只是为了画图好看，才这么画的。 程序运行截图如下： 当按下按钮： 操作 源码如下： const int buttonPin = 2; const int ledPin = ...
• 最近开始玩 Arduino， 在设置数字引脚为输入端时，发现了一个现象，当引脚没有用杜邦线连接到下拉电阻或上拉电阻时，串口的信号就会发生震荡，很不稳定。引脚用杜邦线接出来但没有连接也是一样的效果。 这个现象与我...