#include<WiFi.h>
#include<ThingSpeak.h>
char ssid[]="Wokwi-GUEST";// default user name for wifi
char pass[]="";
WiFiClient client;
unsigned long myChannelNumber = 2231178;
const char * myWriteAPIKey = "44G9HY60Q65XRSWC";
int statuscode;
const int TRIG_PIN = 5; // Trigger Pin of Ultrasonic Sensor
const int ECHO_PIN = 18; // Echo Pin of Ultrasonic Sensor
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
WiFi.mode(WIFI_STA); //connect to wifi simulator
ThingSpeak.begin(client); // connect to thingspeak
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration=pulseIn(ECHO_PIN, HIGH);
float distance=duration*0.0343/2;
Serial.print("DISTANCE: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
if(WiFi.status() != WL_CONNECTED)
{
Serial.println("Attempting to Connect");
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid,pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected");
}
ThingSpeak.setField(1, distance);
statuscode = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if(statuscode == 200) //200 indicates success update
{
Serial.println("Channel Update Successful");
}
else
{
Serial.println("Problem in writing Data:" + String(statuscode));
}
delay(15000);
}