Advertisement
cisco404

Kode sederhana Stasiun Cuaca Mini dengan ESP32 dan Tampilan LCD

May 13th, 2024
812
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | Source Code | 0 0
  1. #include <Wire.h>
  2. #include <Adafruit_Sensor.h>
  3. #include <Adafruit_BMP280.h>
  4. #include <DHT.h>
  5. #include <DHT_U.h>
  6. #include <LiquidCrystal_I2C.h>
  7.  
  8. // -------------------------------------------
  9. // Kode sederhana Stasiun Cuaca Mini dengan ESP32 dan Tampilan LCD
  10. // www.ardukode.blogspot.com
  11. // -------------------------------------------
  12.  
  13. // Pin Definitions
  14. #define DHTPIN 4
  15. #define DHTTYPE DHT22
  16.  
  17. // Initialize sensors
  18. DHT dht(DHTPIN, DHTTYPE);
  19. Adafruit_BMP280 bmp;
  20.  
  21. // Initialize LCD
  22. LiquidCrystal_I2C lcd(0x27, 16, 2);
  23.  
  24. void setup() {
  25.   // Start serial communication
  26.   Serial.begin(115200);
  27.  
  28.   // Initialize DHT sensor
  29.   dht.begin();
  30.  
  31.   // Initialize BMP280 sensor
  32.   if (!bmp.begin(0x76)) {
  33.     Serial.println("Could not find a valid BMP280 sensor, check wiring!");
  34.     while (1);
  35.   }
  36.  
  37.   // Initialize LCD
  38.   lcd.begin();
  39.   lcd.backlight();
  40.  
  41.   // Print initial message
  42.   lcd.setCursor(0, 0);
  43.   lcd.print("Weather Station");
  44.   delay(2000);
  45. }
  46.  
  47. void loop() {
  48.   // Read temperature and humidity from DHT22
  49.   float humidity = dht.readHumidity();
  50.   float temperature = dht.readTemperature();
  51.  
  52.   // Read pressure from BMP280
  53.   float pressure = bmp.readPressure() / 100.0F; // Convert Pa to hPa
  54.  
  55.   // Print data to Serial Monitor
  56.   Serial.print("Temperature: ");
  57.   Serial.print(temperature);
  58.   Serial.print(" °C ");
  59.   Serial.print("Humidity: ");
  60.   Serial.print(humidity);
  61.   Serial.print(" % ");
  62.   Serial.print("Pressure: ");
  63.   Serial.print(pressure);
  64.   Serial.println(" hPa");
  65.  
  66.   // Display data on LCD
  67.   lcd.clear();
  68.   lcd.setCursor(0, 0);
  69.   lcd.print("Temp: ");
  70.   lcd.print(temperature);
  71.   lcd.print(" C");
  72.   lcd.setCursor(0, 1);
  73.   lcd.print("Hum: ");
  74.   lcd.print(humidity);
  75.   lcd.print(" %");
  76.   delay(2000);
  77.   lcd.clear();
  78.   lcd.setCursor(0, 0);
  79.   lcd.print("Press: ");
  80.   lcd.print(pressure);
  81.   lcd.print(" hPa");
  82.   delay(2000);
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement