#include <WiFi.h>
#include <WiFiClient.h>
#include <ThingSpeak.h>
const char* server = "api.thingspeak.com";
const char* apiKey = "75ZJWHJJRRIU2DD0";
int sensorPin = 34; // Analog input pin
WiFiClient client;
void setup() {
Serial.begin(115200);
Serial.print("Connecting to WiFi");
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
ThingSpeak.begin(client);
}
void loop() {
float temperature = readTemperature();
if (isnan(temperature)) {
Serial.println("Failed to read temperature from sensor!");
return;
}
Serial.print("Temperature: ");
Serial.println(temperature);
// Send data to ThingSpeak
ThingSpeak.setField(1, temperature);
int response = ThingSpeak.writeFields(2057131, apiKey);
if (response == 200) {
Serial.println("Data sent to ThingSpeak successfully!");
} else {
Serial.println("Error sending data to ThingSpeak. HTTP error code " + String(response));
}
delay(10000); // Wait for 10 seconds before sending the next data
}
float readTemperature() {
int sensorValue = analogRead(sensorPin);
float voltage = sensorValue * (3.3 / 4095); // Convert ADC reading to voltage
float temperature = (voltage - 0.5) * 100; // Assuming linear relationship between voltage and temperature
return temperature;
}