#include #include #include "ThingSpeak.h" #define DHTPIN 4 // GPIO pin connected to the DHT11 #define DHTTYPE DHT11 // DHT 11 const char* ssid = "YOUR_SSID"; const char* password = "YOUR_PASSWORD"; const char* writeAPIKey = "YOUR_WRITE_API_KEY"; DHT dht(DHTPIN, DHTTYPE); WiFiClient client; unsigned long myChannelNumber = YOUR_CHANNEL_NUMBER; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); ThingSpeak.begin(client); dht.begin(); } void loop() { float temperature = dht.readTemperature(); float humidity = dht.readHumidity(); if (isnan(temperature) || isnan(humidity)) { Serial.println("Failed to read from DHT sensor!"); return; } Serial.print("Temperature: "); Serial.print(temperature); Serial.print(" °C "); Serial.print("Humidity: "); Serial.print(humidity); Serial.println(" %"); // Write to ThingSpeak ThingSpeak.setField(1, temperature); ThingSpeak.setField(2, humidity); int response = ThingSpeak.writeFields(myChannelNumber, writeAPIKey); if (response == 200) { Serial.println("Data sent to ThingSpeak successfully"); } else { Serial.println("Failed to send data to ThingSpeak"); } delay(20000); // Wait 20 seconds to avoid hitting ThingSpeak rate limits }