本日先容一个ESP32的新功能——如何利用ESP32的引脚,采集仿照量信息。在前面GPIO的学习中我们知道,可以利用GPIO的引脚读取外部设备输出的高低电平旗子暗记,这种只有2种高低电平的旗子暗记是数字旗子暗记,而具有连续数值的旗子暗记则属于仿照旗子暗记,比如我们本日要读取的电源电压就属于仿照旗子暗记。
ADC(Analog to Digital Converter:模数转换器)的功能便是将外部设备的仿照电压旗子暗记,转换成数字量,从而让单片机能够识别和进行处理。在前面GPIO学习的时候,已经强调过了,虽然除了电源引脚之外的引脚都是GPIO引脚,但有些引脚只能输入,有些引脚已经被分外功能给占用了,开拓者是不能利用的。ADC功能同样如此,也是须要把稳有哪些引脚可以利用,详细的对应关系如下表所示:
GPIO
仿照功能
注释
GPIO0
ADC2_CH1
Strapping 管脚
GPIO2
ADC2_CH2
Strapping 管脚
GPIO4
ADC2_CH0
GPIO12
ADC2_CH5
Strapping 管脚;JTAG
GPIO13
ADC2_CH4
JTAG
GPIO14
ADC2_CH6
JTAG
GPIO15
ADC2_CH3
Strapping 管脚;JTAG
GPIO25
ADC2_CH8
GPIO26
ADC2_CH9
GPIO27
ADC2_CH7
GPIO32
ADC1_CH4
GPIO33
ADC1_CH5
GPIO34
ADC1_CH6
GPI
GPIO35
ADC1_CH7
GPI
GPIO36
ADC1_CH0
GPI
GPIO37
ADC1_CH1
GPI
GPIO38
ADC1_CH2
GPI
GPIO39
ADC1_CH3
GPI
通过上表可以看到,ESP32芯片有两个ADC单元,分别是ADC1和ADC2,ADC单元就相称于可以独立完成ADC功能的机器,而这两个ADC单元可以事情在不同的事情模式,两者不会相互影响。
上表中一共列举了18个GPIO引脚,这就相称于给ADC单元供货的18个传送带,它们卖力把外部的仿照旗子暗记,通报给ADC单元,这18个传送带的学名叫通道(Channel),与ADC1连接的有8个通道,分别命名为CH0、CH1、CH2……直到CH7。与ADC2连接的有10个通道,分别命名为CH0、CH1、CH2……直到CH9。以是,在将一个仿照旗子暗记接入到GPIO引脚的时候,一定要知道连接的是哪一个通道以及哪一个ADC单元。关于ADC通道引脚,有以下几个事变须要特殊把稳:
只能将仿照旗子暗记接入上面表格中的GPIO引脚,接入其他引脚是无法进行ADC转换,无法采集仿照旗子暗记的。在利用ADC功能的时候,在GPIO一节中先容的那些不能利用的GPIO引脚同样适用ADC功能,已经被内部占用的引脚同样不能用作ADC功能。当模块启用Wi-Fi的时候,ADC2单元会被占用,此时不能利用ADC2进行模数转换,只能利用ADC1来进行模数转换,须要将仿照旗子暗记接入到ADC1的10个通道。ADC2的10个通道全部都不能用作ADC功能了。要把稳ADC引脚的可丈量范围在0~3.3V,以是接入的仿照旗子暗记不要高于3.3V。ESP32这两个ADC都是12位SAR(逐次逼近)ADC。也便是最高的精度为12位,即为 2^12 = 4096,先记住4096这个数字,后边会进一步的讲解。在实际利用中,也可以将ADC的精度通过软件设置位11位、10位或者9位。
ESP32的ADC单元有两种事情模式:
ADC单次读取模式:适用于低频采样。ADC连续(DMA)模式:适用于高频连续采样。好了,ADC功能先基本先容到这里了,可能初次打仗的一下以为有些繁芜,不好理解。下面就来看一下我们是如何实现电源电压采集的吧,利用的方法还是很大略的。
在上边已经先容过了,ESP32的ADC通道引脚最多支持3.3V的输入电压,而我们的电源电压是12V旁边的,是不能直接连接到GPIO引脚的。在这里我们就须要利用到分压模块,该模块的浸染便是将电压分压到原来的五分之一,样子如下图所示,这样我们的电源电压就转换成了0~3V以内了。没有这个模块的,可以直接按照串联电阻分压事理,找2个得当的电阻,自己搭建一个也是可以的。
这个分压模块的事理如下图所示。
根据事理图,我们只须要把左侧的VCC连接电池的正极,GND连接电池的负极。右侧的“-”端连接到ESP32开拓板的GND引脚,“S”端连接到ESP32的P35引脚(也可以利用别的引脚)就可以了。
接下来就可以利用Mixly进行开拓读取电源电压值的程序了。在这个功能中,我们紧张用到了“输入/输出”功能模块区的“仿照输入”功能,该功能可以直接将指定引脚的电压旗子暗记转换成数字旗子暗记。我们在程序中将这个采集的数字输出出来,就可以打算出我们电池的电源电压了。最大略的读取电压的程序如下图所示:
完全资料可进群免费领取!
!
!
嵌入式物联网的学习之路非常漫长,不少人由于学习路线不对或者学习内容不足专业而错失落高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!
记得点赞、关注、收藏、转发哦!
点击这里找小助理0元领取:扫码进群领资料