#include <WiFi.h>
#include "ThingSpeak.h"
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const int myChannelNumber = 2503093;
const char* myApiKey = "DYX3KPEO3J561BJ1";
const char* server = "api.thingspeak.com";
int potPin = 34;
int trigPin = 32;
int echoPin = 33;
WiFiClient client;
void setup() {
Serial.begin(115200);
pinMode(potPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, 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()));
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
int potValue = analogRead(potPin);
float distance = getDistance(trigPin, echoPin);
ThingSpeak.setField(1, potValue);
ThingSpeak.setField(2, distance);
ThingSpeak.writeFields(myChannelNumber, myApiKey);
Serial.print("Potentiometer Value: \t");
Serial.println(potValue);
Serial.print("Distance: \t");
Serial.println(distance);
delay(3000);
}
float getDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
float duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2;
return distance;
}