Interfacing BMP280 Pressure Sensor Module With Arduino

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.

Supplies

Hardware Components

Arduino Uno

Connecting Wires

BMP280

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); }

Be the First to Share

    Recommendations

    • Fruit and Veggies Speed Challenge

      Fruit and Veggies Speed Challenge
    • Make it Fly Challenge

      Make it Fly Challenge
    • Maps Challenge

      Maps Challenge

    Comments

    0
    isabelgodfrey0
    isabelgodfrey0

    10 months ago on Step 2

    Hi there, thanks for your article but unfortunately, the code which is in the article is not in the readable format and has many errors when compiling, and got a well constructed code from https://www.circuitschools.com/interfacing-bmp280-with-esp-32-on-i2c-with-errors-and-solutions/, but initially i got an error saying sensor not found later i read on i2c addresses errors, I checked on I2c address and replaced the i2c hex address. then the sensor worked perfectly. Thanks