ESP32的ADC2采集电压例程

今天尝试使用ESP32的ADC做电压采样实验,跟之前一样,使用SDK里面提供的例程。一开始,我使用的是SDK里面的ADC2的例程,因为我的最小系统板上,把光敏电阻和电阻分压接到了GPIO0上,所以,我想用GPIO0来做AD采样。

所以对原程序进行了修改!原程序里有DA输出部分,我全部注释掉,只保留AD采样部分,通道改为通道1(对应GPIO0)。

但实际输出结果不对:

输出结果一直是4095,也就是满电压。使用万用表测量GPIO0引脚处的电压,发现在1.9V左右,超出了AD的采集上限:950mv。

现在使用SDK程序,不做修改。它使用的DA通道是1,对应GPIO25,AD通道是7,对应GPIO27.

#define DAC_EXAMPLE_CHANNEL CONFIG_EXAMPLE_DAC_CHANNEL

#define ADC2_EXAMPLE_CHANNEL CONFIG_EXAMPLE_ADC2_CHANNEL

然后通过杜邦线连接这两个IO。程序编译、下载、上电,串口接到串口助手上,可以看到打印信息:

前面是DA输出的值,后面是AD采集到的值。

DA输出1到255,对应0~3.3V。

AD采集的值从0~4095,对应0~950mv。这个范围是比较小的,电路设计的时候要注意安全。

我是起航,更多精彩内容,欢迎关注公众号:单片机爱好者

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据