[[[[Solucionado]]]] Wemos D1 no muestra voltaje

Estoy utilizando un Wemos D1 Wifi para arrancar o detener un generador electrico de gasolina con mi smartphone. Para saber cuando el generador ha arrancado, quiero utilizar un cargador de movil viejo el cual transforma de 220v a 5v, de esta forma puedo saber si e generador ha arrancado correctamente conectando la salida del transformador a la entrada analogica A0…

El problema es que he hecho algunas pruebas y utilizando Arduino UNO si me muestra correctamente por serial el voltaje, pero el Wemos D1 no…

Arduino UNO:

Wemos D1:

En ambos casos utilizo el mismo codigo y el mismo pin, el A0, asi que no se que puede estar pasando…

Este es el codigo que he utilizado:

int pinSonda = A0;
float escala = 100; //100 para voltios, 0.1 para milivoltios

void setup(){ 
  Serial.begin(9600);
  pinMode(pinSonda, INPUT);
}

void loop(){

  float lectura = analogRead(pinSonda);
  lectura = map(lectura, 0, 1023, 0, 500);
  float voltaje = lectura/escala;

  if (voltaje < 4) {
    Serial.println("Apagado");
  }else{
    Serial.println("Encendido");
  }
  
  Serial.println(voltaje);
  delay(300);
}

Gracias.

Hi, Primero que nada no tienes las intrucciones para establacer la comunicacion con el wifi. Segundo tienes que programar el Wemos para que te haga lo que tu quires. Adjunto link en espanol http://www.lunegate.net/2017/09/tutorial-aprender-usar-wemos-d1-mini.htmlque te explica como programar el Wemos. Suerte

Gracias tauro, pero ya instalé las librerías y demás para wemos, de lo contrario no podría haberlo programado y como se ve en la captura del serial del wemos, arroja un valor entre 0.68 y 0.79

Si no recuerdo mal el wemos funciona internamente a 3.3v si le metes 5v en la entrada analógica lo mínimo es que no funcione correctamente, y incluso podría haber petado la entrada para siempre

Gracias GO_zalo.. eso ya me cuadra mas.. luego cuando termine la f1 pruebo a ponerle unas resistencias para bajar el voltaje a 3v y comento..

Pues parece que estabas en lo cierto GO_zalo.

He utilizado este regulador de voltaje:

Y lo he regulado a 3v con el multimetro:

|375x500

Pero en el serial me muestra 4 y pico:

Aunque puedo apañarmelas y trabajar asi, me gustaria saber por que hay esa diferencia de voltaje.. en cambio, Arduino UNO me marca 2.96v que se acerca mas a la realidad..

Si sigues usando este código

lectura = map(lectura, 0, 1023, 0, 500);

es obvio que te va a funcionar mal

lectura = map(lectura, 0, 1023, 0, 300);

que supongo será lo correcto.

Perfecto, ahora si..

Muchas gracias!