O Level Exam : Practical Question
📝 HTML
🎨 CSS
⚡ Java Script
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <DHT.h> DHT dht(2, DHT11); LiquidCrystal_I2C lcd(0x27, 16, 2); // Change 0x27 to your LCD's I2C address if necessary void setup() { lcd.begin(); lcd.backlight(); dht.begin(); pinMode(9, OUTPUT); pinMode(10, INPUT); Serial.begin(9600); } void loop() { float temperature = dht.readTemperature(true); // Read temperature in Fahrenheit float humidity = dht.readHumidity(); // Read humidity int distance = getDistance(); // Get distance from ultrasonic sensor if (isnan(temperature) || isnan(humidity)) { lcd.setCursor(0, 0); lcd.print("Sensor error"); return; } lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(temperature); lcd.print(" F"); lcd.setCursor(0, 1); if (temperature > 99.6) { lcd.print("Fever"); } else { lcd.print("No fever"); } delay(2000); // Update every 2 seconds lcd.clear(); lcd.setCursor(0, 0); lcd.print("Humidity: "); lcd.print(humidity); lcd.print("%"); lcd.setCursor(0, 1); if (distance < 100) { // If motion is detected within 100 cm int aqi = random(0, 500); // Simulating AQI value, replace with actual AQI sensor if available if (aqi <= 50) { lcd.print("AQI: Excellent"); } else if (aqi <= 100) { lcd.print("AQI: Good"); } else if (aqi <= 150) { lcd.print("AQI: Moderate"); } else if (aqi <= 200) { lcd.print("AQI: Poor"); } else { lcd.print("AQI: Very Poor"); } } else { lcd.print("No motion"); } delay(2000); // Update every 2 seconds } int getDistance() { digitalWrite(9, LOW); delayMicroseconds(2); digitalWrite(9, HIGH); delayMicroseconds(10); digitalWrite(9, LOW); long duration = pulseIn(10, HIGH); int distance = duration * 0.034 / 2; return distance; }
▶ Run Code
🖥 Output: