#include <WiFi.h>
#include <ThingSpeak.h>
#include "DHTesp.h"
#define LED1 14
#define LED2 25
#define LED3 26
#define LED4 27
DHTesp dhtSensor;
TempAndHumidity data;
const int DHT_PIN = 15;
char ssid[] ="Wokwi-GUEST";
char pass[] ="";
WiFiClient client;
unsigned long mychannelnumber =2247845 ;
const char *myWriteAPIKey = "6UNIXFYA4Y2KPZZR";
int statuscode;
long duration;
float distance;
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(4, INPUT_PULLUP);
pinMode(LED1, OUTPUT);
pinMode(2, INPUT_PULLUP);
pinMode(LED2, OUTPUT);
pinMode(5, INPUT_PULLUP);
pinMode(LED3, OUTPUT);
pinMode(19, INPUT_PULLUP);
pinMode(LED4, OUTPUT);
}
void loop() {
int a = digitalRead(4);
Serial.println(a);
int b = digitalRead(2);
Serial.println(b);
int c = digitalRead(5);
Serial.println(c);
int d = digitalRead(19);
Serial.println(d);
if(a==1)
{
digitalWrite(LED1 , HIGH);
delay(1000);
Serial.println("Motion Detected IN PIR SENSOR 1");
}
if(a==0)
{
digitalWrite(LED1 , LOW);
Serial.println("Motion not detected in PIR SENSOR 1 ");
}
delay(1000);
if(b==1)
{
digitalWrite(LED2 , HIGH);
delay(1000);
Serial.println("Motion Detected IN PIR SENSOR 2");
}
if(b==0)
{
digitalWrite(LED2 , LOW);
Serial.println("Motion not detected in PIR SENSOR 2 ");
}
delay(1000);
if(c==1)
{
digitalWrite(LED3 , HIGH);
delay(1000);
Serial.println("Motion Detected IN PIR SENSOR 3");
}
if(c==0)
{
digitalWrite(LED3 , LOW);
Serial.println("Motion not detected in PIR SENSOR 3");
}
delay(1000);
if(d==1)
{
digitalWrite(LED4 , HIGH);
delay(1000);
Serial.println("Motion Detected IN PIR SENSOR 4");
}
if(d==0)
{
digitalWrite(LED4 , LOW);
Serial.println("Motion not detected in PIR SENSOR 4");
}
data = dhtSensor.getTempAndHumidity();
Serial.println("Temperature:" + String(data.temperature,2)+"°c");
Serial.println("Humidity: " + String(data.humidity,1)+ "%");
Serial.println("---");
if(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,data.humidity);
ThingSpeak.setField(2,data.temperature);
ThingSpeak.setField(3,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);
}