Tengo instalado en Wemos mini un detector de Humedad y Temperatura DHT22 y deseo ver estos datos en mi App Blynk de mi Mobil pero no consigo que me funcione.
el programa es el siguiente:
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
char auth[] = "Mi Char auth";
char ssid[] = "Mired";
char pass[] = "Mi contraseña";
BlynkTimer timer;
#include "DHT.h"
#define DHTPIN D2 // Pin donde está conectado el sensor D2
#define DHTTYPE DHT22 // Sensor DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println("Iniciando...");
dht.begin();
WiFi.begin(ssid,pass);
Serial.println();
Serial.println();
Serial.print("Conectando con ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi conectada");
Serial.println(F(" inicializando BLYNK "));
Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8080);
}
void loop() {
float h = dht.readHumidity(); //Leemos la Humedad
float t = dht.readTemperature(); //Leemos la temperatura en grados Celsius
float f = dht.readTemperature(true); //Leemos la temperatura en grados Fahrenheit
//--------Enviamos las lecturas por el puerto serial-------------
Serial.print("Humedad ");
Serial.print(h);
Serial.print(" %t");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.println(" *F");
int T= ((float)(t*10));
int H= ((float)(h*10));
//--------Enviamos las lecturas a pines virtuales de Blynk-------------
Blynk.virtualWrite(V5, H);
Blynk.virtualWrite(V6, T);
delay(6000);
Blynk.run();
timer.run();
}
Al compilarlo e instalarlo me da error por el puerto serie pero si añado la conversión de float a int de los datos si funciona correctamente pero la indicación en la app Blynk no puedo visualizar los decimales.
¿Alguien sabe como debo programarlo para que aparezca la parte decimal?
Agradezco la ayuda y colaboración
Un saludo
Please edit your post to add triple backticks at the beginning and end of your code so that it displays correctly.
Triple backticks look like this:
```
programo a continuación:
Serial.print(h);
Serial.println(t);
se leen correctamente los valores por salida serie y no aparecen errores y no los puedo ver en la app.
Saludos
programa a continuación:
Serial.print (h);
Serial.println (t);
se leen correctamente los valores por salida serie y no aparecen errores y no los puedo ver en la aplicación.
Saludos
ver aclariones sobre el propio programa.
Interpreto que V6 y V7 no admite valores distintos de int y da el error con valores float, a pesar de programar en App en vez de PUSH por 30 sec.
Hola,
Los pines virtuales admiten números con decimales sin problemas. Revisa las librerías que tengas instaladas en el Arduino IDE, Esp core que utilizas…
Recuerda que tu código debe estar con el formato adecuado, de otra forma, leerlo resulta complicado…