#include <DHTesp.h>
#include <LiquidCrystal_I2C.h>
#include <WiFi.h>
#include <ThingSpeak.h>
const int DHT_PIN = 16;
float temperatura, humedad;
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const int CHANNEL_ID= 2736104;
const char* API_KEY="0SXVMLEIU5GY7YHH";
const char* SERVER="api.thingspeak.com";
WiFiClient client;
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
lcd.init();
lcd.backlight();
//lcd.print("Hola mundo");
WiFi.begin(WIFI_NAME,WIFI_PASSWORD);
while(WiFi.status()!=WL_CONNECTED){
delay(1000);
Serial.println("Wifi no conectado");
}
Serial.println("Wifi conectado");
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
TempAndHumidity lectura= dhtSensor.getTempAndHumidity();
temperatura=lectura.temperature;
humedad=lectura.humidity;
lcd.setCursor(0,0);
lcd.print("Temp:" + String(temperatura,2) + " c");
lcd.setCursor(0,1);
lcd.print("Humedad:" + String(humedad,2) + " %");
ThingSpeak.setField(1,temperatura);
ThingSpeak.setField(2,humedad);
int code=ThingSpeak.writeFields(CHANNEL_ID,API_KEY);
if (code==200){
Serial.println("Dato Enviado correctamente");
}
else{
Serial.println("Error en el envio de datos"+ String(code));
}
delay(5000); // this speeds up the simulation
}