# Micro Weather Station Table no - 13

**URL:** https://scienceactivitycentreiiserpune.discourse.group/t/micro-weather-station-table-no-13/251
**Category:** WeatherHackathon2026
**Created:** [February 27, 2026, 10:58am UTC](https://scienceactivitycentreiiserpune.discourse.group/t/micro-weather-station-table-no-13/251 "2026-02-27T10:58:41Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Anuj\_Shinde](https://avatars.discourse-cdn.com/v4/letter/a/9fc29f/32.png) [@Anuj\_Shinde](https://scienceactivitycentreiiserpune.discourse.group/u/Anuj_Shinde)
#### Post date: [February 27, 2026, 10:58am UTC](https://scienceactivitycentreiiserpune.discourse.group/t/micro-weather-station-table-no-13/251/1 "2026-02-27T10:58:41Z")

</div>

Prototype

The implemented Code :

#include \<Wire.h\>

#include \<LiquidCrystal\_I2C.h\>

#include \<DHT.h\>

#include \<Adafruit\_BMP085.h\> // For BMP180

// -------- Pin Definitions --------

#define DHTPIN 2

#define DHTTYPE DHT11

#define LEDPIN 7

#define BUZZER 8

// -------- Object Creation --------

DHT dht(DHTPIN, DHTTYPE);

Adafruit\_BMP085 bmp; // BMP180 object

LiquidCrystal\_I2C lcd(0x27, 16, 2); // Change to 0x3F if needed

void setup() {

Serial.begin(9600);

pinMode(LEDPIN, OUTPUT);

pinMode(BUZZER, OUTPUT);

lcd.init();

lcd.backlight();

dht.begin();

// BMP180 start

if (!bmp.begin()) {

```auto
lcd.setCursor(0,0);

lcd.print("BMP180 Error!");

Serial.println("BMP180 not found!");

while (1);

```

}

lcd.setCursor(0,0);

lcd.print(“Weather Station”);

delay(2000);

lcd.clear();

}

void loop() {

float temperature = dht.readTemperature();

float humidity = dht.readHumidity();

float pressure = bmp.readPressure() / 100.0; // Convert to hPa

float altitude = bmp.readAltitude(); // Altitude in meters

// -------- Check DHT --------

if (isnan(temperature) || isnan(humidity)) {

```auto
lcd.setCursor(0,0);

lcd.print("DHT Error ");

Serial.println("DHT Failed!");

delay(2000);

return;

```

}

// -------- Serial Monitor --------

Serial.print("Temp: ");

Serial.print(temperature);

Serial.print(" C Hum: ");

Serial.print(humidity);

Serial.print(" % Pressure: ");

Serial.print(pressure);

Serial.print(" hPa Alt: ");

Serial.print(altitude);

Serial.println(" m");

// -------- LCD Display --------

lcd.setCursor(0,0);

lcd.print(“T:”);

lcd.print(temperature);

lcd.print("C ");

lcd.print(“H:”);

lcd.print(humidity);

lcd.print("% ");

lcd.setCursor(0,1);

lcd.print(“P:”);

lcd.print(pressure);

lcd.print("hPa ");

// -------- Alert System --------

if (temperature \> 35) {

```auto
digitalWrite(LEDPIN, HIGH);

digitalWrite(BUZZER, HIGH);

```

} else {

```auto
digitalWrite(LEDPIN, LOW);

digitalWrite(BUZZER, LOW);

```

}

delay(2000);

}
