#include <Arduino.h>
#include <WiFi.h>
#include <ThingSpeak.h>
const char* ssid = "Wokwi-GUEST";
const char* pass = "";
const char* myWriteAPIKey = "NYO1MUOHHT9QTEHB
";
const unsigned long myChannelNumber = 3052480;
int led = 18, trigPin = 5, echoPin = 19;
float pingTime, targetDistance;
WiFiClient client;
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
Serial.println("Hello, ESP32!");
pinMode(led, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(2, INPUT);
pinMode(echoPin, INPUT);
}
void loop() {
if (WiFi.status() != WL_CONNECTED)
{
Serial.println("Attempting to connect to WiFi...");
while (WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
int ldr = digitalRead(17);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
delayMicroseconds(15);
pingTime = pulseIn(echoPin, HIGH);
targetDistance = (pingTime * 0.0343) / 2;
Serial.println(targetDistance);
Serial.println(ldr);
if ((targetDistance <= 100) && (ldr == 0)) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
ThingSpeak.setField(1, targetDistance);
int statusCode = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (statusCode == 200)
{
Serial.println("Channel update Successful! ");
}
else
{
Serial.print("Problem writing data. HTTP error code");
Serial.println(statusCode);
}
delay(10);
}