1. 犀牛前端部落首页
  2. Arduino和RaspberryPi

树莓派基础-模拟信号和数字信号的区别

前言

本文详解阐释了模拟信号和数字信号的区别,希望帮助到有需要的朋友。

数字信号

使用树莓派上的GPIO引脚,很容易向输出组件发送信号并打开或关闭。还可以检测输入组件是否打开或关闭。以这种方式工作的组件称为数字组件(Digital components)。

数字输出

LED是数字输出元件的一个例子。它可以是打开的,也可以是关闭的,两者之间没有任何价值。我们可以把ON和OFF状态看作是1或0。你可以发送一个1给LED LED就会亮了,当你给LED发送0给 LED就熄灭了。

树莓派基础-模拟信号和数字信号的区别

数字输入

一个按钮是数字输入组件。它可以是打开的,也可以是关闭的。当按钮被按下时,它向连接的树莓派GPIO引脚发送1。当按钮被释放时,它向GPIO引脚发送0。没有其他可以发送的值,因为你把按钮按到一半,幻想可以输出0.5。

树莓派基础-模拟信号和数字信号的区别

请看下面这个图,这个图显示了按钮被按压和释放的输入数据,当按压的时候输出1当释放的时候输出0。

树莓派基础-模拟信号和数字信号的区别

模拟信号

数字输入和输出组件在Raspberry Pi中很常见,因为GPIO引脚都是数字的。它们只能发送或接收1和0。

然而,并非所有组件都是数字的。有些被称为模拟组件。模拟部件可以在1和0之间发送和接收值。

模拟输出

电机是模拟输出元件的一个例子。你可以把它的值在1和0之间,这将控制电机的速度。如果你发送电机A 1,它将全速驱动。如果你把它发送0.5,它将以半速行驶。发送0将停止电机。

树莓派基础-模拟信号和数字信号的区别

模拟输入

模拟输入元件的一个例子是光相关电阻器(LDR)。当没有光照在部件上时,它将发送0,并且随着光的增加,光敏发送的值将逐渐增加,直到它达到最大值1。

树莓派基础-模拟信号和数字信号的区别

下图显示了从LDR发送的信号在一天当中24小时的变化,随着光线越亮值越大,光线越暗值越小。

树莓派基础-模拟信号和数字信号的区别

使用树莓派的模拟组件比使用数字组件更加困难。

为了使用GPIO引脚的模拟输出组件,您需要使用一种称为脉冲宽度调制(PWM)的技术。这向分量发送1秒和0秒的非常快的脉冲,当将其作为平均值时,可以将其接收为介于1和0之间的值。

请看下面的图表。蓝线显示数字信号,在一段时间内,从0移动到1,然后再次返回。信号为1的是总时间的三分之一,剩下的三分之二是0。

然后这个平均值约为0.33,这将是模拟组件接收到的值。你可以看到这是图上的红线。

树莓派基础-模拟信号和数字信号的区别

要使用模拟输入组件与GPIO引脚,您需要使用模拟到数字转换器(ADC),将模拟信号转换为数字信号。你可以买小的adc在你的电路使用。另外一种选择是在电路中使用电容和模拟元件。

总结

在树莓派上使用模拟输出是采用pwm技术,如果想要读取模拟输入那就需要ADC模拟到数字转换器,因为树莓派上没有ADC,因此我认为如果我们想要读取类似LDR或者模拟输入的情况,我们可以使用类似Nodemcu这种自带ADC的板子,然后再通过MQTT协议发送给树莓派,这样就很方便了。

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/75.html

发表评论

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