buenas, tengo un inconveniente al momento de usar el adc del esp32 en un programa en especifico, ya probé e inclusive volví a ingresar el programa que adjuntare a continuación y el adc funciona perfectamente, me marca los valores correctos, el programa con el que pruebo el adc es el siguiente:
void setup() {
Serial.begin(115200);
analogReadResolution(12);
pinMode(14,INPUT);
}
void loop() {
Serial.println(analogRead(14));
delay(1000);
}
con tal codigo, el adc me trabaja perfectamente, el problema que tengo es que cuando utilizo el adc en otro programa, me marca 0 al momento de imprimir por terminal, a pesar de que es la misma condicion y utilizo el mismo pin de conexion (recalco que cuando meto el programa anterios nuevamente al esp32 el adc funciona como debe), a continuacion anexo el codigo:
// Import required libraries
#ifdef ESP32
#include <WiFi.h>
#include <ESPAsyncWebServer.h>
#include <SPIFFS.h>
#else
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <Hash.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <FS.h>
#endif
#include <Wire.h>
// Replace with your network credentials
const char* ssid = "";
const char* password = "";
// Create AsyncWebServer object on port 80
AsyncWebServer server(80);
String readPOT()
{
int pot = analogRead(14);
Serial.println(pot);
String myString = String(pot);
return myString;
}
void setup(){
// Serial port for debugging purposes
Serial.begin(115200);
analogReadResolution(12);
pinMode(14,INPUT);
// Initialize SPIFFS
if(!SPIFFS.begin()){
Serial.println("An Error has occurred while mounting SPIFFS");
return;
}
// Connect to Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
// Print ESP32 Local IP Address
Serial.println(WiFi.localIP());
// Route for root / web page
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(SPIFFS, "/index.html");
});
server.on("/temperature", HTTP_GET, [](AsyncWebServerRequest *request){
request->send_P(200, "text/plain", readPOT().c_str());
});
server.on("/humidity", HTTP_GET, [](AsyncWebServerRequest *request){
request->send_P(200, "text/plain", readPOT().c_str());
});
server.on("/pressure", HTTP_GET, [](AsyncWebServerRequest *request){
request->send_P(200, "text/plain", readPOT().c_str());
});
// Start server
server.begin();
}
void loop(){
Serial.println(analogRead(14));
}
Agregue adicional en void lood que me imprimiera el valor que esta leyendo en la entrada analogica pero me marca 0, no ubico el error ni se a que se debe.
el programa en si recibe valores de sensores (en esta caso un pot, envio tres veces la misma funcion ya que estoy testeando varios tipos de graficas) y lo grafica en un web server elaborado con html y javascript, el problema es que la lectura del pin analogico me da 0.
enfatizo nuevamente que cuando agrego el primer codigo al esp32 funciona perfectamente