-1

我正在通过 Arduino IDE 对 ESP32 进行编程,但我对 Arduino 的 WiFi 库有一个奇怪的问题。当我连接到我的 WiFi 网络时,它会强制读取特定引脚(引脚 2)到 4095。在注释掉连接到 WiFi 的代码行后,我在连接到该引脚的传感器上得到了正确的读数,但是它包括它卡在 4095。当微控制器与电路的其余部分断开连接时也会发生这种情况。注释掉该行后,我得到一个白噪声读数,但包含该行的 4095 读数。这是代码:

//Libraries 
#include <WiFi.h>

//Wi-Fi Connection Parameters
const char* ssid     = "REMOVED";
const char* password = "REMOVED";

const int sensePin = 2;

//Initialize WiFi Server
WiFiServer server(80);

void setup() {
  pinMode(sensePin, INPUT);
  int senseOut = 0;

  Serial.begin(115200);

  // Connect to WiFi network
  WiFi.begin(ssid, password); //THIS LINE CAUSES 4095 READING
}

void loop() {
  TestSensor();
}

void TestSensor()
{
  for (int i = 0; i < 100; i++)
  {
  senseOut = analogRead(sensePin);
  Serial.println(senseOut);
  delay(100);
  }
}

白噪声读数示例:

1251
1263
1275
1254
1237
1200
1149
1095
1040
976
928
868
835
805
806
820
778
752
819
1002
1516
1675
1687
1693
1659
1674
1702
1713
1727

有什么想法可能导致这种情况吗?谢谢你。

4

1 回答 1

0

您需要使用另一个模拟输入。

这些引脚在使用 WiFi 时不支持模拟输入:00、02、04、12、13、14、15、25、26、

这些可以:32、33、34、35、36、39,使用最后 6 个中的一个来连接您的传感器。

于 2021-10-31T07:53:40.370 回答