#include <Arduino.h>
#include <WiFi.h>
#include <ThingSpeak.h>
char ssid[] ="Wokwi-GUEST";
char pass[] ="";
WiFiClient client;
unsigned long mychannelnumber =2647629;
const char *myWriteAPIKey = "6E5A703VQLO71FL5";
int statuscode;
#define TRIG_PIN 5
#define ECHO_PIN 18
#define RELAY_PIN 15
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
long duration, distance;
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2) / 29.1;
Serial.print("Distance: ");
Serial.println(distance);
if (distance > 200) {
digitalWrite(RELAY_PIN, HIGH);
} else {
digitalWrite(RELAY_PIN, LOW);
}
delay(100);
(WiFi.status() != WL_CONNECTED);
{
Serial.println("Attempting to connect");
while(WiFi.status()!= WL_CONNECTED)
{
WiFi.begin(ssid,pass);
delay(5000);
}
Serial.println("\nConnected.");
}
ThingSpeak.setField(1,distance);
statuscode=ThingSpeak.writeFields(mychannelnumber,myWriteAPIKey);
if(statuscode==200){
Serial.println("Channel update successful.");
}
else
{
Serial.println("Problem Writing data. HTTP error code :" + String(statuscode));
}
delay(15000);
}