#include <WiFi.h>
#include <ThingSpeak.h>
WiFiClient client;
long myChannelNumber = 2654330;
const char * myWriteAPIKey = "A6W7YO0A6VBH5A8P";
int statusCode;
int trigger=12;
int echo=14;
float distance;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void setup() {
ThingSpeak.begin(client);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(26, OUTPUT);
}
int prithiv(){
digitalWrite(trigger, LOW);
delay(10);
digitalWrite(trigger, HIGH);
delay(100);
digitalWrite(trigger,LOW);
distance=pulseIn(echo, HIGH);
return(distance*0.034/2)+1;
}
void loop() {
if(WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect");
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
int actual_distance= prithiv();
Serial.println(actual_distance);
delay(10);
if(actual_distance>300){
Serial.println("safe");
tone(26, LOW);
}
else if(actual_distance>=200 && actual_distance<=300){
Serial.println("unsafe");
tone(26, LOW);
}
else if(actual_distance>=0 && actual_distance<200){
tone(26, 10000);
Serial.println("danger");
}
else{
tone(26, 10000);
Serial.println("error");
}
ThingSpeak.setField(1, actual_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));
}
}