#include <WiFi.h>
#include <ThingSpeak.h>
const int trigPin = 5;
const int echoPin = 18;
const int ledPin = 15;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
WiFiClient client;
unsigned long myChannelNumber =3031919;
const char * myWriteAPIKey = "EDBM5CALU74MNBW7Z";
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
if (WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect to Wi-Fi...");
while (WiFi.status() != WL_CONNECTED)
WiFi.begin(ssid, pass);
{
delay(5000);
}
Serial.println("Connected.");
}
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034/2;
if (distance < 100)
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
ThingSpeak.setField(1,distance);
int statusCode= ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (statusCode == 200)
{
Serial.println("Channel update successful");
}
else
{
Serial.println("problem updating channel. HTTP error code"+ String (statusCode));
}
delay(20000);
}