#include <WiFi.h>
#include <ThingSpeak.h>
char ssid[ ]="Wokwi-GUEST";
char pass[] = "";
WiFiClient client;
unsigned long myChannelNumber = 2287105;
const char * myWriteAPIKey = "21P5FC8N1013RHP2";
const int PIR_SENSOR_OUTPUT_PIN = 13; /* PIR sensor O/P pin */
int warm_up;
int a, statusCode;
void setup() {
pinMode(PIR_SENSOR_OUTPUT_PIN, INPUT);
Serial.begin(115200); /* Define baud rate for serial communication */
Serial.println("Waiting For Power On Warm Up");
delay(200); /* Power On Warm Up Delay */
Serial.println("Ready!");
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
if(WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect");
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid, pass); // Connect to WPA/WPA2 network. Change
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
int sensor_output;
int a=sensor_output = digitalRead(PIR_SENSOR_OUTPUT_PIN);
if( sensor_output == LOW )
{
if( warm_up == 1 )
{
Serial.print("Warming Up\n\n");
warm_up = 0;
delay(2000);
}
Serial.print("No object in sight\n\n");
delay(1000);
}
else
{
Serial.print("Object detected\n\n");
warm_up = 1;
delay(1000);
}
statusCode = ThingSpeak.writeField(myChannelNumber, 1, a,
myWriteAPIKey);
if(statusCode == 200) { //successful writing code
Serial.println("Channel update successful.");
}
else {
Serial.println("Problem Writing data. HTTP error code :" +
String(statusCode));
}
delay(15000); // data to be uploaded every 15secs
}