连接蓝牙时ESP32模拟引脚不读取

时间:2019-07-10 14:09:48

标签: c arduino esp32

我一直在使用ESP32并在Arduino中编写代码。但是,当我启用蓝牙时,GPIO4和GPIO15无法读取模拟输入。我在两个引脚上都连接了IR LED并正在读取模拟信号。如果未使用蓝牙代码,ESP32将读取模拟信号并将其显示在串行监视器上。如果使用下面的蓝牙代码,则两个引脚上的读数都显示为255(读数为5v。是的,它们现在为5v,并将电平转换为3.3v)。

有人可以检查并提出解决方案吗?

我已经切换了传感器,将它们卸下,然后我做任何事情,当蓝牙被读取时,读数是相同的

蓝牙代码:

void init_bluetooth() {
      ESP_BT.begin("EKA Robot"); //Name of your Bluetooth Signal
      Serial.println("Bluetooth Device is Ready to Pair");
}

IR代码:

    // Read Infrared LED on GPIO4. Similar function exists to read GPIO15
    int readIR() {
      int sensorValue = analogRead(oaPinL);
      delay(5);
      sensorValue = map(sensorValue, 0, 4095, 0, 255);
      return (sensorValue);
    }

我希望读取传感器值。但是,它显示的只有255。这是否意味着它被拉高了?

1 个答案:

答案 0 :(得分:0)

ESP32芯片中有两个A / D转换器ADC1和ADC2。使用Wi-Fi或蓝牙时,不能使用ADC2引脚。连接到ADC1的引脚起作用。这些是GPIO32-36和GPIO39。