#include "Wire.h"
#include "SFE_BMP180.h"

SFE_BMP180 pressure; // создаем объект pressure
#define ALTITUDE 1655.0 // высота офиса SparkFun, штат Колорадо, в метрах

#include <LiquidCrystal_I2C.h> // подключаем библиотеку для QAPASS 1602
LiquidCrystal_I2C LCD(0x27,16,2); // присваиваем имя LCD для дисплея

void setup(){
   pressure.begin();     // запускаем датчик давления
   LCD.init(); // инициализация LCD дисплея
   LCD.backlight(); // включение подсветки дисплея
}

void loop(){
   char status;
   double T,P,p0,a;
 
   // выводим значение температуры на дисплей
   status = pressure.startTemperature();
   if (status != 0){
      delay(status);

      status = pressure.getTemperature(T);
      if (status != 0){
         LCD.setCursor(0, 0);     // ставим курсор на 1 строку
         LCD.print("Temp: ");
         LCD.print(T,2);
         LCD.print(" *C");

         // выводим значение давления на дисплей
         status = pressure.startPressure(3);
         if (status != 0){
            delay(status);

            status = pressure.getPressure(P,T);
            if (status != 0){

              p0 = pressure.sealevel(P,ALTITUDE);
              LCD.setCursor(0, 1);     // ставим курсор на 2 строку
              LCD.print("Pres: ");
              LCD.print(p0,2);
              LCD.print(" mb, ");
           }
        else Serial.println("error retrieving pressure measurement\n");
      }
      else Serial.println("error starting pressure measurement\n");
    }
    else Serial.println("error retrieving temperature measurement\n");
  }
  else Serial.println("error starting temperature measurement\n");

  delay(5000);
}