#include <WiFi.h>
#include "ThingSpeak.h"
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const int myChannelNumber = 2503030;
const char* myApiKey = "6ZD2VP7HF2Q4ZAC7";
const char* server = "api.thingspeak.com";
const int potentiometerPin = 34; // Analog pin for potentiometer
const int ultrasonicTrigPin = 12; // GPIO pin for ultrasonic sensor trigger
const int ultrasonicEchoPin = 13; // GPIO pin for ultrasonic sensor echo
WiFiClient client;
void setup() {
Serial.begin(9600);
pinMode(potentiometerPin, INPUT);
pinMode(ultrasonicTrigPin, OUTPUT);
pinMode(ultrasonicEchoPin, INPUT);
WiFi.begin(WIFI_NAME, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("WiFi not connected");
}
Serial.println("WiFi connected!");
Serial.println("Local IP: " + String(WiFi.localIP()));
ThingSpeak.begin(client);
}
void loop() {
// Read potentiometer value
int potValue = analogRead(potentiometerPin);
// Read ultrasonic sensor value
long duration, distance;
digitalWrite(ultrasonicTrigPin, LOW);
delayMicroseconds(2);
digitalWrite(ultrasonicTrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(ultrasonicTrigPin, LOW);
duration = pulseIn(ultrasonicEchoPin, HIGH);
distance = (duration * 0.0343) / 2;
// Send data to ThingSpeak
ThingSpeak.setField(1, potValue);
ThingSpeak.setField(2, distance);
ThingSpeak.writeFields(myChannelNumber, myApiKey);
// Print data to Serial Monitor
Serial.print("Potentiometer Value: ");
Serial.println(potValue);
Serial.print("Ultrasonic Distance: ");
Serial.println(distance);
delay(3000);
}