We have built quite a number of weather stations in several past tutorials, with each one differing from the other by the use of a different sensor, different display, etc. Today, we are going to build another weather monitoring station using the BME280 Temp and humidity sensor from Adafruit and an OLED display.
The BME280 is an integrated environmental sensor developed specifically for applications where the overall device size and low power consumption are key design constraints. It combines individual high linearity, high accuracy sensors for pressure, humidity and temperature, with an I2C/SPI interface for communication with MCUs. It is designed for low current consumption (3.6 μA @1Hz), long term stability and high EMC robustness.
The humidity sensor embedded in the BME280 features an extremely fast response time to support performance requirements for new applications such as context awareness, and high accuracy over a wide temperature range. The embedded pressure sensor is an absolute barometric pressure sensor with superb accuracy and resolution with very low noise. The integrated temperature sensor was designed to be used for temperature compensation of the pressure and humidity sensors, but can also be used for estimating ambient temperature with high resolution and low noise.
BME280 supports divers operating ranges which makes it flexible and super useful for applications including;
- Context awareness, e.g. skin detection, room change detection
- Fitness monitoring / well-being
- Warning regarding dryness or high temperatures
- Measurement of volume and air flow
- Home automation control
- Control heating, ventilation, air conditioning (HVAC)
- Internet of things
- GPS enhancement (e.g. time-to-first-fix improvement, dead reckoning, slope detection)
- Indoor navigation (change of floor detection, elevator detection)
- Outdoor navigation, leisure and sports applications
- Weather forecast
- Vertical velocity indication (rise/sink speed)
For today’s tutorial however, we will use it to simply obtain temperature, pressure and humidity data to be displayed on adafruit’s 128×64 OLED display. At the end of today’s tutorial, you would know how to use the BME280 and an OLED display with an Arduino Board.