#include <WiFi.h>
#include "ThingSpeak.h"
const int trig = 14;
const int echo = 12;
float distance ;
float duration;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
WiFiClient Client;
unsigned long mychannel_number = 2641269;
const char* WriteKey = "Y32C416CAECFKOON";
int statusCode;
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
WiFi.mode(WIFI_STA);
ThingSpeak.begin(Client);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
void getwifi()
{
if(WiFi.status()!= WL_CONNECTED)
{
Serial.println("attemping to connect");
while(WiFi.status()!= WL_CONNECTED)
{
WiFi.begin(ssid,pass);
Serial.println(".");
delay(6000);
}
}
Serial.println("\n connected");
}
float getdistance()
{
digitalWrite(trig, LOW);
delayMicroseconds(4);
digitalWrite(trig, HIGH);
delayMicroseconds(100);
digitalWrite(trig, LOW);
duration = pulseIn(echo,HIGH);
return(duration*0.034/2);
}
void loop()
{
getwifi();
ThingSpeak.setField(1,distance);
statusCode = ThingSpeak.writeFields(mychannel_number,WriteKey);
if(statusCode == 200)
{
Serial.println("the channel updated");
}
else
{
Serial.println("error"+String(statusCode));
}
distance = getdistance();
Serial.println("distance "+String(distance));
delay(15000);
}