#include <WiFi.h>
// Wokwi guest Wi-Fi credentials
const char* ssid = "WokwiGuest"; // Wokwi Guest Wi-Fi SSID
const char* password = ""; // No password required for Wokwi Guest
const char* server = "api.thingspeak.com";
const char* myWriteAPIKey = "HKTM6VX0VG28GO2G"; // ThingSpeak Write API Key
WiFiClient client;
int waterSensorPin = 34; // Analog pin for water sensor (e.g., A0)
int waterLevel; // Variable to store the sensor value
void setup() {
Serial.begin(115200);
pinMode(waterSensorPin, INPUT);
// Connect to Wi-Fi using Wokwi Guest
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to Wokwi Guest WiFi...");
}
Serial.println("Connected to WiFi");
ThingSpeak.begin(client); // Initialize ThingSpeak
}
void loop() {
// Read the sensor value
waterLevel = analogRead(waterSensorPin);
// Print water sensor value to Serial Monitor
Serial.print("Water Level: ");
Serial.println(waterLevel);
// Send data to ThingSpeak
ThingSpeak.setField(1, waterLevel); // Send water level data to Field 1 of your ThingSpeak channel
int responseCode = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey); // Write to ThingSpeak
if (responseCode == 200) {
Serial.println("Data sent to ThingSpeak successfully");
} else {
Serial.print("Error sending data to ThingSpeak. Response code: ");
Serial.println(responseCode);
}
// Wait before sending the next reading
delay(20000); // Upload every 20 seconds
}