#include <WiFi.h>
#include "Ultrasonic.h"
#include <ThingSpeak.h>
const char apiKey[] = "PP8RLXCLLNZCZTC5"; // write your "Write API key"
const char* ssid = "Wokwi-GUEST"; // write your "wifi name"
const char* password = ""; // write your "wifi password"
const char* server = "api.thingspeak.com";
long myChannelNumber = 2487633;
Ultrasonic u1(1,2);
Ultrasonic u2(4,5);
Ultrasonic u3(7,8);
int S1=0, S2=0, S3=0;
int avail= 3;
int slot = 3;
int valSensor = 3;
WiFiClient client;
void setup()
{
Serial.begin(9600);
Serial.println("Serial Begin");
WiFi.begin(ssid, password);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
ThingSpeak.begin(client);
}
void loop() {
valSensor = getSensorData();
Serial.print("Available Slots:");
Serial.println(valSensor);
//Serial.println("Waiting");
ThingSpeak.writeField(myChannelNumber, 1, valSensor, apiKey);
delay(5000);
}
void Read_Sensor()
{
S1=0, S2=0, S3=0;
if(u1.read(CM) != 0 && u1.read(CM) <50)
{
S1=1;
}
if(u2.read(CM) != 0 && u2.read(CM) <50)
{
S2=1;
}
if(u3.read(CM) != 0 && u3.read(CM) <50)
{
S3=1;
}
}
int getSensorData(){
Read_Sensor();
if(S1==1)
{
Serial.print(" S1:occupied ");
}
else
{
Serial.print(" S1:Empty ");
}
if(S2==1)
{
Serial.print(" S2:occupied ");
}
else
{
Serial.print(" S2:Empty ");
}
if(S3==1)
{
Serial.print(" S3:occupied ");
}
else
{
Serial.print(" S3:Empty ");
}
int total = S1+S2+S3;
slot = avail-total;
return slot;
}