Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <Adafruit_Sensor.h>
- #include <Adafruit_BMP280.h>
- #include <DHT.h>
- #include <DHT_U.h>
- #include <LiquidCrystal_I2C.h>
- // -------------------------------------------
- // Kode sederhana Stasiun Cuaca Mini dengan ESP32 dan Tampilan LCD
- // www.ardukode.blogspot.com
- // -------------------------------------------
- // Pin Definitions
- #define DHTPIN 4
- #define DHTTYPE DHT22
- // Initialize sensors
- DHT dht(DHTPIN, DHTTYPE);
- Adafruit_BMP280 bmp;
- // Initialize LCD
- LiquidCrystal_I2C lcd(0x27, 16, 2);
- void setup() {
- // Start serial communication
- Serial.begin(115200);
- // Initialize DHT sensor
- dht.begin();
- // Initialize BMP280 sensor
- if (!bmp.begin(0x76)) {
- Serial.println("Could not find a valid BMP280 sensor, check wiring!");
- while (1);
- }
- // Initialize LCD
- lcd.begin();
- lcd.backlight();
- // Print initial message
- lcd.setCursor(0, 0);
- lcd.print("Weather Station");
- delay(2000);
- }
- void loop() {
- // Read temperature and humidity from DHT22
- float humidity = dht.readHumidity();
- float temperature = dht.readTemperature();
- // Read pressure from BMP280
- float pressure = bmp.readPressure() / 100.0F; // Convert Pa to hPa
- // Print data to Serial Monitor
- Serial.print("Temperature: ");
- Serial.print(temperature);
- Serial.print(" °C ");
- Serial.print("Humidity: ");
- Serial.print(humidity);
- Serial.print(" % ");
- Serial.print("Pressure: ");
- Serial.print(pressure);
- Serial.println(" hPa");
- // Display data on LCD
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Temp: ");
- lcd.print(temperature);
- lcd.print(" C");
- lcd.setCursor(0, 1);
- lcd.print("Hum: ");
- lcd.print(humidity);
- lcd.print(" %");
- delay(2000);
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Press: ");
- lcd.print(pressure);
- lcd.print(" hPa");
- delay(2000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement