#include <WiFi.h>
#include <ThingSpeak.h>
#include <DHT.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
WiFiClient client;
unsigned long myChannel1Number = 2623020;
const char* myWriteAPIKey = "4FT5XS39VMADEVJ0";
#define DHTPIN 16
#define DHTTYPE DHT11
DHT dhtsensor(DHTPIN, DHTTYPE);
int val;
int values;
int statusCode;
void setup() {
Serial.begin(9600);
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
dhtsensor.begin();
delay(1000);
}
void loop() {
val = analogRead(16);
values = dhtsensor.readHumidity();
float mv = (val / 1024.0) * 5000;
float cel = mv / 10;
float far = (cel * 9.0) / 5.0 + 32;
Serial.print("Temperature: ");
Serial.print(cel);
Serial.print(" C, ");
Serial.print(far);
Serial.println(" F");
Serial.print("Humidity: ");
Serial.print(values);
Serial.println("%");
getwifi();
ThingSpeak.setField(1, cel);
ThingSpeak.setField(2, far);
statusCode = ThingSpeak.writeFields(myChannel1Number, myWriteAPIKey);
if (statusCode == 200) {
Serial.println("Channel update successfully");
} else {
Serial.print("Problem writing data: HTTP error code: ");
Serial.println(statusCode);
}
delay(5000);
}
void getwifi() {
if (WiFi.status() != WL_CONNECTED) {
Serial.print("Attempting to connect");
while (WiFi.status() != WL_CONNECTED) {
WiFi.begin(ssid, pass);
Serial.print(".");
delay(4000);
}
Serial.println("\nConnected");
}
}