#include<ThingSpeak.h>
#include<WiFi.h>
int ledPin = 12;
int inputPin = 14;
int pirState = LOW;
int val = 0;
int status = 0;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
WiFiClient client;
unsigned long myChannelNumber = 2096729;
const char*myWriteAPIKey = "1X249GEKN2P2XOSE";
int statusCode;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(inputPin, INPUT);
Serial.begin(9600);
ThingSpeak.begin(client);
WiFi.mode(WIFI_STA);
}
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.");
}
val = digitalRead(inputPin);
if (val == HIGH) {
analogWrite(ledPin,255);
if (pirState == LOW) {
Serial.println("Motion detected!");
status = 1;
pirState = HIGH;
}
} else {
analogWrite(ledPin,1);
if (pirState == HIGH) {
Serial.println("Motion ended!");
status = 0;
pirState = LOW;
}
}
ThingSpeak.setField(1,String(status));
statusCode = ThingSpeak.writeFields(myChannelNumber,myWriteAPIKey);
if(statusCode == 200){
Serial.println("channel updated");
} else {
Serial.println("problem in updating");
String(statusCode);
}
delay(10000);
}