#define BLYNK_TEMPLATE_ID "TMPL6SV1o7CId"
#define BLYNK_TEMPLATE_NAME "SmartKit"
#define BLYNK_AUTH_TOKEN "S1gCmjFcZaAZUXIY_YC9wKo3XT_D05xJ"
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SPI.h>
#include <Wire.h>
#include "MQ135.h"
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wifi ne";
char pass[] = "0389637175";
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define DHTTYPE DHT11 // DHT 11
#define DHTPIN D4
#define buzzer_alarm D0
#define pir_human D3
int alarm_status;
int pir_status = 0;
DHT dht(DHTPIN, DHTTYPE);
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup()
{
[Link](115200);
[Link]();
[Link](SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C
(128x64)
[Link](auth, ssid, pass);
[Link](D2, D1);
pinMode(pir_human, INPUT);
pinMode(buzzer_alarm, OUTPUT);
digitalWrite(buzzer_alarm, LOW);
delay(100);
}
void loop()
{
[Link]();
MQ135 gasSensor = MQ135(A0);
float air_quality = [Link]();
float t = [Link]();
float h = [Link]();
pir_status = digitalRead(pir_human);
alarm_status = digitalRead(buzzer_alarm);
if (pir_status == 1)
{
[Link]("Person Detected");
}
else if (pir_status == 0)
{
[Link]("No One in Room");
}
if (air_quality > 150)
{
digitalWrite(buzzer_alarm, HIGH);
[Link]("Buzzer Status: ON");
}
else
{
digitalWrite(buzzer_alarm, LOW);
[Link]("Buzzer Status: OFF");
}
[Link]("Air Quality: ");
[Link](air_quality);
[Link](" PPM");
[Link]("Temperature: ");
[Link](t);
[Link](" *C");
[Link]("Humidity: ");
[Link](h);
[Link](" %");
[Link](V0, t); // For Temperature
[Link](V1, h); // For Humidity
[Link](V2, air_quality); // For Gas
[Link](V3, alarm_status); // For Alarm & Exhaust Fan
[Link](V4, pir_status); // For Human Detection
[Link]();
[Link](0, 0); //oled display
[Link](1);
[Link](WHITE);
[Link]("Air Quality Index");
[Link](0, 20); //oled display
[Link](2);
[Link](WHITE);
[Link](air_quality);
[Link](1);
[Link](WHITE);
[Link](" PPM");
[Link]();
delay(1500);
// display temperature
[Link]();
[Link](1);
[Link](SSD1306_WHITE);
[Link](0, 0);
[Link](" Nguyen Ba Luan ");
[Link](0, 25);
[Link](" TEMPERATURE : ");
[Link](90, 25);
[Link](t);
[Link](0, 50);
[Link](" HUMIDITY : ");
[Link](90, 50);
[Link](h);
[Link]();
delay(1500);
}