#include <WiFi.h>
#include <WiFiClient.h>
#include <ThingSpeak.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "DHT.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
const char *ssid="Wokwi-GUEST";
const char *pass= "";
WiFiClient client; unsigned long myChannelNumber =2632341;
const char myWriteAPIKey[] ="RZ3ZW7W24ICA6RJD";
const char* server = "api.thingspeak.com";
int Ledk= 19;
int Ledh= 18;
int Lux, i;
int trigPin = 25;
int echoPin = 33;
int DHTPIN = 16;
int pir = 12;
int DHTTYPE = DHT22;
int temp, j;
int humi, k;
int dist, l;
void setup() {
Serial.begin(115200);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(2000);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println("Hello, World!");
display.display();
ThingSpeak.begin(client);
WiFi.begin(ssid, pass);
pinMode(34, INPUT);
pinMode(Ledk, OUTPUT);
pinMode(Ledh, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(pir,INPUT);
}
void loop() { Lux =
analogRead(34); i = map(Lux, 0, 1023, 0, 255);
if(Lux > 500){
analogWrite(Ledk, HIGH);
analogWrite(Ledh, LOW);
delay(1000);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pulseIn(echoPin, HIGH);
}else{
analogWrite(Ledh, HIGH);
analogWrite(Ledk, LOW);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pulseIn(echoPin, HIGH);
}
Serial.print("lux :");
Serial.println(Lux);
Serial.print("Temperature: ");
Serial.println(temp);
Serial.print("Humidity: ");
Serial.println(humi);
Serial.print("Distance: ");
Serial.println(dist);
Serial.println("---------------------------");
ThingSpeak.writeField(myChannelNumber,1,Lux,myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber,2,temp,myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber,3,humi,myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber,4,dist,myWriteAPIKey);
}