#include <WiFi.h>
#include "DHTesp.h"
#include <ThingSpeak.h>
const int DHT_PIN = 13; // Pin connected to DHT22 sensor
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const int myChannelNumber = 2833061; // Your ThingSpeak channel number
const char* myApiKey = "94R15ICM1UY3CJT0"; // Your ThingSpeak API key
const char* server = "api.thingspeak.com";
#define TRIG_PIN 23 // Ultrasonic Sensor Trigger Pin
#define ECHO_PIN 22 // Ultrasonic Sensor Echo Pin
DHTesp dhtSensor;
WiFiClient client;
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
WiFi.begin(WIFI_NAME, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to WiFi");
ThingSpeak.begin(client);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
int distance = duration * 0.017; // Convert to cm
TempAndHumidity data = dhtSensor.getTempAndHumidity();
ThingSpeak.setField(1, data.temperature); // Send temperature to field 1
ThingSpeak.setField(2, data.humidity); // Send humidity to field 2
ThingSpeak.setField(3, distance);
int result = ThingSpeak.writeFields(myChannelNumber, myApiKey);
delay(100);
}