ESP8266-ADC引脚接地测量问题

本文探讨了ESP8266 ADC引脚在不同接地方式下的表现差异,解释了单点接地原理及其对ADC读数准确性的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ESP8266有一个ADC引脚,可以测量0~1V之间的电压,分辨率是1/1024。由于我使用的是NodeMCU开发板,所以测量3.3V的时候不需要电阻分压。

在开发过程中,我发现ADC引脚接地时会测不准,经过询问以及查找资料,原因是这样的:



如果ADC引脚如左图连接,则会ADC读值的时候会出现过高的情况(ADC≈80);如果ADC如右图连接,读值时则接近0(ADC≈8),比较准确。


为什么会出现这样的情况呢?这就涉及到单点接地的问题。


ESP8266-01S模块是一种Wi-Fi模块,可用于连接Wi-Fi网络并与服务器进行通信。它可以作为独立的Wi-Fi模块使用,也可以与其他微控制器(如STM32)配合使用,实现无线通信。 以下是将STM32与ESP8266-01S模块配合使用,将数据发送到MQTT服务器的步骤: 1. 首先需要连接ESP8266-01S模块和STM32。ESP8266-01S模块有四个引脚:VCC(接5V电源)、GND(接地)、TX(串口发送)、RX(串口接收)。将它们与STM32相应的引脚连接即可。 2. 在STM32上配置串口,使其能够与ESP8266-01S模块进行通信。一般来说,ESP8266-01S模块的波特率为115200,数据位为8位,无校验位,停止位为1位。 3. 配置ESP8266-01S模块,使其能够连接Wi-Fi网络。可以使用AT指令来配置ESP8266-01S模块。例如,可以使用以下指令连接到Wi-Fi网络: ``` AT+CWJAP="SSID","PASSWORD" ``` 其中,SSID是Wi-Fi网络的名称,PASSWORD是Wi-Fi网络的密码。 4. 连接MQTT服务器。可以使用MQTT客户端库来连接MQTT服务器。例如,可以使用PubSubClient库连接MQTT服务器。在连接前需要设置MQTT服务器的IP地址和端口号,以及MQTT客户端的ID、用户名和密码。例如,可以使用以下代码连接MQTT服务器: ``` #include <PubSubClient.h> WiFiClient wifiClient; PubSubClient mqttClient(wifiClient); void setup() { // 设置Wi-Fi网络 WiFi.begin("SSID", "PASSWORD"); // 等待Wi-Fi网络连接 while (WiFi.status() != WL_CONNECTED) { delay(1000); } // 连接MQTT服务器 mqttClient.setServer("MQTT_SERVER_IP", MQTT_SERVER_PORT); mqttClient.connect("CLIENT_ID", "USERNAME", "PASSWORD"); } void loop() { // 发送数据到MQTT服务器 mqttClient.publish("TOPIC", "MESSAGE"); } ``` 其中,MQTT_SERVER_IP和MQTT_SERVER_PORT分别是MQTT服务器的IP地址和端口号,CLIENT_ID是MQTT客户端的ID,USERNAME和PASSWORD是MQTT服务器的用户名和密码,TOPIC是MQTT消息的主题,MESSAGE是要发送的消息。 5. 在loop()函数中,使用mqttClient.publish()函数将数据发送到MQTT服务器。例如,可以将STM32的ADC采样值发送到MQTT服务器: ``` void loop() { // 读取ADC采样值 int adcValue = analogRead(A0); // 将ADC采样值转换为字符串 char message[16]; sprintf(message, "%d", adcValue); // 发送数据到MQTT服务器 mqttClient.publish("adc", message); // 等待1秒钟 delay(1000); } ``` 以上就是将STM32与ESP8266-01S模块配合使用,将数据发送到MQTT服务器的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值