#include #include #include #include #include #define dht_pin 11 #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 const int buzzer = 7; const int ANALOGPIN = 0; Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); MQ135 gasSensor = MQ135(ANALOGPIN); dht DHT; void setup() { // Serial.begin(115200); Serial.begin(9600); pinMode(buzzer, OUTPUT); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); for(;;); } delay(1000); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 10); display.println(""); display.println("[Ion Tudor Matei]"); display.println("Initializing.."); delay(1500); display.display(); } void loop() { int sensorValue = analogRead(A0); DHT.read11(dht_pin); display.clearDisplay(); display.setCursor(0, 10); display.println(""); display.println("Temperature: "); display.print(DHT.temperature); display.print(" C"); display.println(""); display.println("Humidity: "); display.print(DHT.humidity); display.print("%"); display.println(""); display.println(sensorValue); display.display(); Serial.print("Humidity: "); Serial.print(DHT.humidity); Serial.print("% "); Serial.print("Temperature: "); Serial.print(DHT.temperature); Serial.println("C "); delay(1500); if(sensorValue > 80) { display.setCursor(0, 10); display.clearDisplay(); display.println(""); display.println("!! Gas Leakage !!"); display.println(""); display.println("Or CO2 levels are too high!"); display.display(); tone(buzzer, 2000); delay(3000); } noTone(buzzer); }