输入-INPUT

作者:hardihuang   hardihuang   

数字输入 #

在数字电子的世界中,有输出,也会有输入。这跟你在生活中有财务支出,也有收入类似。开关(switch)是一种最基本的输入形式了。通常我们按一个开关就能打开电灯,或者按一个开关打开用电器的电源。开关的功能是连接或断开电路。

Arduino的数字IO口上能读出两个状态值,一个是高电平(5V),另一个是低电平(0V)。所以我们只要设计一个电路能让Arduino的引脚在高低电平这两个状态值之间切换,就能让Arduino分辨出开关的状态了。

一般情况下,要给arduino外界按键,我们需要用到上拉电阻,具体内容请参考文章《上拉输入》

模拟输入 #

Arduino能对数字信号进行有效的处理和识别,但是生活上很多东西,很多概念都不是一个数字量。比如说温度值,就是一个很好的例子,它是一个连续变化的信号,不可能有0到1的突变。这也是模拟输入存在的必要性了。

很好理解。我们只要使用传感器(sensor),将模拟量有效转换为Arduino能够识别的形式。例如转换成电压。

再如,一种温度传感器能够将温度值转换成0V到5V间的某个电压,比如0.3V、3.27V、4.99V等等。由于传感器表达的是模拟信号,它不会像数字信号那样只有简单的高电平和低电平,而有可能是在这两者之间的任何一个数值。至于到底有多少可能的值则取决于模数转换的精度,精度越高能够得到的值就会越多。

而Arduino采用的ADC(Analog to Digital Converter),称模数转换,每一个模数转换器的精度都是10bit,也就是说能够读取1024(2^10 = 1024)个状态。在Arduino的每一个模拟输入管脚上,电压的变化范畴是从0V到5V,因此Arduino能够感知到的最小电压变化是4.8毫伏(5/1024 = 4.8mV)。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注