Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h> // include Wire library, required for I2C devices
- #include <Adafruit_Sensor.h> // include Adafruit sensor library
- #include <Adafruit_BMP280.h> // include adafruit library for BMP280 sensor
- #include <LiquidCrystal_I2C.h>
- #include <DHT.h>
- #include <OneWire.h>
- #include <DallasTemperature.h>
- #define DHTPIN 2
- #define DHTTYPE DHT11
- DHT dht(DHTPIN, DHTTYPE);
- #define ONE_WIRE_BUS 3
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- // define device I2C address: 0x76 or 0x77 (0x77 is library default address)
- #define BMP280_I2C_ADDRESS 0x76
- Adafruit_BMP280 bmp280;
- LiquidCrystal_I2C lcd(0x27,16,2);
- void setup() {
- Serial.begin(9600);
- dht.begin();
- lcd.init();
- lcd.backlight();
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print("Daradici Levente");
- lcd.setCursor(2,1);
- lcd.print("Statie Meteo");
- delay(3000);
- lcd.clear();
- if (!bmp280.begin(BMP280_I2C_ADDRESS))
- {
- Serial.println("Could not find a valid BMP280 sensor, check wiring!");
- while (1);
- }
- }
- char text[14];
- // main loop
- void loop()
- {
- sensors.requestTemperatures(); // Send the command to get temperature readings
- int h = dht.readHumidity();
- // Read temperature as Celsius (the default)
- float t = dht.readTemperature();
- // Read temperature as Fahrenheit (isFahrenheit = true)
- float f = dht.readTemperature(true);
- // Check if any reads failed and exit early (to try again).
- if (isnan(h) || isnan(t) || isnan(f)) {
- Serial.println(F("Failed to read from DHT sensor!"));
- return;
- }
- // Compute heat index in Fahrenheit (the default)
- float hif = dht.computeHeatIndex(f, h);
- // Compute heat index in Celsius (isFahreheit = false)
- float hic = dht.computeHeatIndex(t, h, false);
- // get temperature, pressure and altitude from library
- float temperature = bmp280.readTemperature(); // get temperature
- float pressure = bmp280.readPressure(); // get pressure
- int altitude_ = bmp280.readAltitude(1013.25); // get altitude (this should be adjusted to your local forecast)
- // print data on the serial monitor software
- // 1: print temperature
- Serial.print("Temperature = ");
- Serial.print(temperature);
- Serial.println(" °C");
- // 2: print pressure
- Serial.print("Pressure = ");
- Serial.print(pressure/100);
- Serial.println(" hPa");
- // 3: print altitude
- Serial.print("Approx Altitude = ");
- Serial.print(altitude_);
- Serial.println(" m");
- Serial.println();
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print("Temperatura");
- lcd.setCursor(9,1);
- lcd.print(sensors.getTempCByIndex(0));
- lcd.setCursor(14,1);
- lcd.print((char)223);
- lcd.setCursor(15,1);
- lcd.print("C");
- delay(3000);
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print("Umiditate");
- lcd.setCursor(12,1);
- lcd.print(h);
- lcd.setCursor(14,1);
- lcd.print(" %");
- delay(3000);
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print("Presiune");
- lcd.setCursor(5,1);
- lcd.print(pressure/100);
- lcd.setCursor(13,1);
- lcd.print("hPa");
- delay(3000);
- //lcd.clear();
- //lcd.setCursor(0,0);
- //lcd.print("Altitudine");
- //lcd.setCursor(10,1);
- //lcd.print(altitude_);
- //lcd.setCursor(15,1);
- //lcd.print("m");
- //delay(3000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement