#include <WiFi.h>
#include "DHTesp.h"
#include "ThingSpeak.h"
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const int myChannelNumber = 2257734;
const char* myApiKey = "WZXGDYGBXX09BCCR";
DHTesp dhtSensor;
TempAndHumidity data;
WiFiClient client;
const int DHT_PIN=15;
const int trigPin = 12;
const int echoPin = 13;
long duration;
int distance;
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN,DHTesp::DHT22);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
WiFi.begin(WIFI_NAME, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED){
delay(1000);
Serial.println("Wifi not connected");
}
Serial.println("Wifi connected !");
Serial.println("Local IP: " + String(WiFi.localIP()));
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
data = dhtSensor.getTempAndHumidity();
ThingSpeak.setField(1,data.temperature);
ThingSpeak.setField(2,data.humidity);
ThingSpeak.setField(3,distance+1);
Serial.println("temperature:" + String(data.temperature,2)+"°C");
Serial.println("humidity:" + String(data.humidity,1)+"%");
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance= duration*0.034/2;
Serial.print("Distance: ");
Serial.println(distance+1);
int x = ThingSpeak.writeFields(myChannelNumber,myApiKey);
if(x == 200){
Serial.println("Data pushed successfull");
}else{
Serial.println("Push error" + String(x));
}
Serial.println("---");
delay(15000);
}