/*
* -----ESTACIÓN METEOROLÓGICA-----
*
* Por "Ingeniero en Casa"
* https://www.youtube.com/channel/UCurfoG9YbFyQmxCLlxZVArg
*
* La distribución y/o modificación del código es totalmente libre.
*/
#include "ThingSpeak.h"
#include "WiFi.h"
#include "DHT.h"
//#include "Adafruit_BMP085.h"
#define pin1 13 //Pin del DHT11.
#define pin2 32 //Pin del DHT22.
const char* ssid = "Wokwi-GUEST"; //SSID de vuestro router.
const char* password = ""; //Contraseña de vuestro router.
unsigned long channelID = 2332632; //ID de vuestro canal.
const char* WriteAPIKey = "V69JJ551DOE2VGDM"; //Write API Key de vuestro canal.
WiFiClient cliente;
DHT dht1(pin1, DHT11); //El azul.
DHT dht2(pin2, DHT22); //El blanco.
//Adafruit_BMP085 bmp;
void setup() {
Serial.begin(115200);
Serial.println("Test de sensores:");
WiFi.begin(ssid,password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Wifi conectado!");
ThingSpeak.begin(cliente);
dht1.begin();
dht2.begin();
//bmp.begin();
}
void loop() {
delay(2000);
leerdht1();
delay(2000);
leerdht2();
//delay(2000);
//leerbmp();
ThingSpeak.writeFields(channelID,WriteAPIKey);
Serial.println("Datos enviados a ThingSpeak!");
delay(14000);
}
void leerdht1() {
float t1 = dht1.readTemperature();
float h1 = dht1.readHumidity();
while (isnan(t1) || isnan(h1)){
Serial.println("Lectura fallida en el sensor DHT11, repitiendo lectura...");
delay(2000);
t1 = dht1.readTemperature();
h1 = dht1.readHumidity();
}
Serial.print("Temperatura DHT11: ");
Serial.print(t1);
Serial.println(" ºC.");
Serial.print("Humedad DHT11: ");
Serial.print(h1);
Serial.println(" %.");
Serial.println("-----------------------");
ThingSpeak.setField (1,t1);
ThingSpeak.setField (2,h1);
}
void leerdht2() {
float t2 = dht2.readTemperature();
float h2 = dht2.readHumidity();
while (isnan(t2) || isnan(h2)){
Serial.println("Lectura fallida en el sensor DHT22, repitiendo lectura...");
delay(2000);
t2 = dht2.readTemperature();
h2 = dht2.readHumidity();
}
Serial.print("Temperatura DHT22: ");
Serial.print(t2);
Serial.println(" ºC.");
Serial.print("Humedad DHT22: ");
Serial.print(h2);
Serial.println(" %.");
Serial.println("-----------------------");
ThingSpeak.setField (3,t2);
ThingSpeak.setField (4,h2);
}
//void leerbmp() {
//float presion = bmp.readPressure();
//float altitud = bmp.readAltitude();
//Serial.print("Presión bmp: ");
//Serial.print(presion);
//Serial.println(" Pa.");
//Serial.print("Altitud bmp: ");
//Serial.print(altitud);
//Serial.println(" metros.");
//Serial.println("-----------------------");
//ThingSpeak.setField (5,presion);
//ThingSpeak.setField (6,altitud);
//}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4