Post by 邱老师 on Dec 27, 2020 3:01:46 GMT
简介
在数字逻辑电路中,一个信号不是0,就是1。正是因为这样,数字电路的设计才简单,可靠。
通常,用电压5v(或者接近5V)代表 on 开状态,代表高电平,对应状态 1。用电压0v (或者接近0v)代表off关状态,代表低电平,对应状态0。
有些开发板是基于3,3V的,因此使用3.3V作为高电平。
如果一个线路中的电压处于不确定的状态(例如一个引脚不和任何其它回路连通时),那我们就说它的电压是浮动的,他会随着时间不断变化,跳动,而且很容易受到外界环境的影响。处于这种不确定状态的电路会被随机解释为高或者低电平。 这种现象也叫电子噪声。
然而程序必须是严格准确的,所以电路的设计一定要避免线路电压处于浮动状态。
我们可以使用上拉电阻或者下拉电阻将电路的电压在任何时候都保持在确定的状态下,这就是上拉电阻和下拉电阻的作用。
下拉电阻
作用:将一个未知的电平拉低到稳定的低电平状态。
链接:https://pan.baidu.com/s/1xndJXWgNwQPw3Q69lJdfYw
提取码:hzlf
上拉电阻
作用:将一个未知的电平拉高到稳定的高电平状态。
链接:https://pan.baidu.com/s/1XmSpLCibUjCvwpWAfmvZow
提取码:fl3o
Arduino中的上拉电阻
Arduino的数字引脚和模拟引脚都内置了【上拉电阻】,电阻为20K~50K欧姆,他们需要使用 代码去激活使能。
提示:
1、如果你需要为Arduino自己配置外置的拉电阻,官方建议为10K欧姆。
2、不建议使用13脚作为输入引脚使用,因为13脚配置了一个板载的LED灯,即便是你使能了上拉电阻,LED等的电阻会拉低电压,使得引脚依然是低电平。如果你非要使用13作为输入,那就外置拉电阻。
使能Arduino上拉电阻的代码:
注意:如果你配置一个引脚为输入,且使能上拉电阻,然后又切换IO模式为OUTPUT,那么此引脚会保持高电平状态。反之:如果一个引脚为原本为输出模式,且输出高电平,切换为输入后,将自动激活上拉电阻。
动手试一试
实验目的:不使用Arduino内置的上拉电阻,通过电子器件构造一个外置【下拉电阻】,实现功能:通过8号引脚判断按钮释放按下,按钮没按下时,8号引脚始终接受低电平信号,按钮按下时,接受到高电平信号。每当按钮按下时,反转板载LED的状态.
链接:https://pan.baidu.com/s/1mpKOIysaYEKTob0jF-Zi1w
提取码:fhxx
在数字逻辑电路中,一个信号不是0,就是1。正是因为这样,数字电路的设计才简单,可靠。
通常,用电压5v(或者接近5V)代表 on 开状态,代表高电平,对应状态 1。用电压0v (或者接近0v)代表off关状态,代表低电平,对应状态0。
有些开发板是基于3,3V的,因此使用3.3V作为高电平。
如果一个线路中的电压处于不确定的状态(例如一个引脚不和任何其它回路连通时),那我们就说它的电压是浮动的,他会随着时间不断变化,跳动,而且很容易受到外界环境的影响。处于这种不确定状态的电路会被随机解释为高或者低电平。 这种现象也叫电子噪声。
然而程序必须是严格准确的,所以电路的设计一定要避免线路电压处于浮动状态。
我们可以使用上拉电阻或者下拉电阻将电路的电压在任何时候都保持在确定的状态下,这就是上拉电阻和下拉电阻的作用。
下拉电阻
作用:将一个未知的电平拉低到稳定的低电平状态。
链接:https://pan.baidu.com/s/1xndJXWgNwQPw3Q69lJdfYw
提取码:hzlf
上拉电阻
作用:将一个未知的电平拉高到稳定的高电平状态。
链接:https://pan.baidu.com/s/1XmSpLCibUjCvwpWAfmvZow
提取码:fl3o
Arduino中的上拉电阻
Arduino的数字引脚和模拟引脚都内置了【上拉电阻】,电阻为20K~50K欧姆,他们需要使用 代码去激活使能。
提示:
1、如果你需要为Arduino自己配置外置的拉电阻,官方建议为10K欧姆。
2、不建议使用13脚作为输入引脚使用,因为13脚配置了一个板载的LED灯,即便是你使能了上拉电阻,LED等的电阻会拉低电压,使得引脚依然是低电平。如果你非要使用13作为输入,那就外置拉电阻。
使能Arduino上拉电阻的代码:
pinMode(10, INPUT);
digitalWrite(10, HIGH); //激活10号引脚的上拉电阻,因此在没有收到任何输入信号时,10号引脚一直是高电平。
/////////或者
pinMode(10, INPUT_PULLUP) ; //最新的Arduino库支持使用INPUT_PULLUP配置为输入且使能上拉电阻,和上面的2行代码等效。
注意:如果你配置一个引脚为输入,且使能上拉电阻,然后又切换IO模式为OUTPUT,那么此引脚会保持高电平状态。反之:如果一个引脚为原本为输出模式,且输出高电平,切换为输入后,将自动激活上拉电阻。
动手试一试
实验目的:不使用Arduino内置的上拉电阻,通过电子器件构造一个外置【下拉电阻】,实现功能:通过8号引脚判断按钮释放按下,按钮没按下时,8号引脚始终接受低电平信号,按钮按下时,接受到高电平信号。每当按钮按下时,反转板载LED的状态.
链接:https://pan.baidu.com/s/1mpKOIysaYEKTob0jF-Zi1w
提取码:fhxx
void setup() {
pinMode(LED_BUILTIN , OUTPUT); //使用板载LED作为控制对象.
}
void loop() {
if(HIGH == digitalRead(8)){ //如果按钮按下
digitalWrite(LED_BUILTIN , LOW == digitalRead(LED_BUILTIN) ? HIGH : LOW ); //则反转 LED的状态
delay(600);
}
}