Introduction: Interfacing BMP280 Pressure Sensor Module With Arduino

About: hIOTron is an IoT Based company that offers IoT Platforms, IoT Solutions, IoT Training.

To measure the atmospheric pressure we have used one of the best modules i,e BMP280 Pressure sensor module.


Hardware Components

Arduino Uno

Connecting Wires


LCD 16 X 2

Software Components

Arduino IDE

Step 1: About This Project

BMP280 Pressure Sensor Module The BMP280 sensor module operates with the minimum voltage (VDD) of 1.71V, However, the previous version of this sensor modules operate on 1.8V (VDD). The BMP sensor includes a Pressure sensing element, Humidity sensing element as well as Temperature sensing element which is then attached to Pressure front-end, Humidity front-end and temperature front-end. These front end IC’s are sensitivity analog amplifiers that are utilized in the process of the amplification of small signals. In this integration, the analog values are turned to digital voltage and this voltage is supplied to the logic circuits for further interface.

The BMP280 can be also utilized in mobile phones, tablets, PCs, Portable health care devices, GPS devices, home weather stations, etc. By using this procedure we can simply interface BMP280 with the Arduino.

Know more about suchIoT Devicespractically with the help ofIoT Training Online.

Step 2: Run a Program

#include #include #include #include Adafruit_BMP280 bmp; // I2C //Adafruit_BMP280 bmp(BMP_CS); // hardware SPI //Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); LiquidCrystal lcd(9, 8, 5, 4, 3, 2); void setup() { lcd.begin(16,2); Serial.begin(9600); Serial.println(F("BMP280 test")); lcd.print("Welcome to "); lcd.setCursor(0,1); lcd.print("CIRCUIT DIGEST"); delay(1000); lcd.clear(); if (!bmp.begin()) { Serial.println(F("Could not find a valid BMP280 sensor, check wiring!")); while (1); } /* Default settings from datasheet. */ bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */ Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */ Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ Adafruit_BMP280::FILTER_X16, /* Filtering. */ Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */ } void loop() { Serial.print(F("Temperature = ")); Serial.print(bmp.readTemperature()); Serial.println(" *C"); lcd.setCursor(0,0); lcd.print("Temp= "); lcd.print(bmp.readTemperature()); Serial.print(F("Pressure = ")); Serial.print(bmp.readPressure()); Serial.println(" Pa"); lcd.setCursor(0,1); lcd.print("Press= "); lcd.print(bmp.readPressure()); Serial.print(F("Approx altitude = ")); Serial.print(bmp.readAltitude(1018)); /* Adjusted to local forecast! */ Serial.println(" m"); Serial.println(); delay(2000); }