#include<DHT.h>
//DHT sensor library import
#include<WiFi.h>
//Wifi library import
#include<ThingSpeak.h>
//Thingspeak library import
int trigPin = 25;
int echoPin = 12;
//ultrasonic declaration
int dhtPin = 15;
DHT dht22(dhtPin,DHT22);
//dht sensor declaration
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
WiFiClient client;
//wifi declaration
long int channelID = 2619894;
char writeApiKey[] = "NPI8Z60ARC26SWYB";
int statusCode;
//thingspeak declaration
void setup() {
Serial.begin(115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//ultrasonic sensor setup
dht22.begin();
//dht sensor setup
WiFi.mode(WIFI_STA);
WifiSetup();
//wifi setup
ThingSpeak.begin(client);
//Thingspeak setup
}
void WifiSetup(){
Serial.print("Attempting to connect");
while(WiFi.status()!=WL_CONNECTED)
{
WiFi.begin(ssid,pass);
Serial.print(".");
delay(5000);
}
Serial.println("Connected");
}
void loop() {
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int duration = pulseIn(echoPin,HIGH);
int distance = duration * 0.034/2;
Serial.println("Distance: "+String(distance));
//ultrasonic loop code
int humidity = dht22.readHumidity();
//return humidity
int temp = dht22.readTemperature();
//return temperature
Serial.println("Humidity:"+String(humidity));
Serial.println("Temperture: "+String(temp));
//dht sensor loop code
ThingSpeak.setField(1,humidity);
ThingSpeak.setField(2,temp);
ThingSpeak.setField(3,distance);
statusCode = ThingSpeak.writeFields(channelID,writeApiKey);
if(statusCode == 200)
Serial.println("Data Uploaded");
else
Serial.println("Data Not Upload");
delay(15000);
//ThingSpeak loop code
}