Introduction: Interfacing BMP280 Pressure Sensor Module With Arduino
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); }
Comments
3 years 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