我一直在使用ESP32并用Arduino编写代码。但是,当我启用蓝牙时,GPIO4和GPIO15无法读取模拟输入。我已经在两个针脚上连接了红外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。这是否意味着它以某种方式被拉得很高?
发布于 2019-07-23 19:45:44
ESP32芯片中有ADC1和ADC2两个A/D转换器。使用Wi-Fi或蓝牙时,无法使用ADC2引脚。连接到ADC1的针脚正常工作。它们是GPIO32-36和GPIO39。
https://stackoverflow.com/questions/56972560
复制相似问题