High-Altitude Sensing: The Digital Barometer
Predicting weather patterns or measuring current elevation requires precise atmospheric data. This Arduino Barometer provides professional-grade measurement using the BMP180 sensor. By moving away from the tiny, hard-to-read OLED displays common in many tutorials, this project utilizes the iconic Nokia 5110 LCD, offering a larger, more rugged physical interface that is perfect for outdoor gear or handheld weather trackers.
Precision Atmospheric Data: The BMP180
The BMP180 is a high-performance barometric pressure sensor that operates on the I2C Protocol:
- Absolute Pressure: It measures the weight of the air above it with high resolution (0.03 hPa). This data can be used to predict approaching storms (indicated by falling pressure).
- Altitude Calculation: By comparing the current pressure with the standard sea-level pressure (1013.25 hPa), the Arduino can calculate your current Elevation with surprising accuracy, making it useful for drone flight controllers or hiking logs.
- Integrated Temperature: The sensor also includes a temperature probe, which it uses to calibrate the pressure data against thermal expansion, ensuring readings are consistent regardless of the weather.
Display Choice: The Versatile Nokia 5110
The project’s highlight is the successful adaptation of the Nokia 5110 display, a vintage graphic LCD known for its durability and sunlight readability:
- U8glib Library: The developer utilized the powerful U8glib library. Originally designed for OLEDs, the creator modified the initialization sequences to support the PCD8544 controller of the Nokia screen. This allows for high-quality fonts and custom symbols (like cloud or sun icons) that aren't possible on standard character LCDs.
- SPI Communication: Unlike I2C sensors, the display uses a high-speed SPI bus. The project manages these two different communication protocols (I2C for sensing, SPI for display) on a single Arduino Mega, demonstrating advanced bus management.
- Low Power Design: The Nokia display is extremely energy-efficient, drawing only a few milliamps when the backlight is off, which complements the BMP180's low-power modes for battery-operated devices.
This barometer is an excellent example of Sensor Fusion and library modification, proving that with a little patience and the right code, you can build a device that rivals industrial atmospheric tools.
Hello!
Well, I am still a newbie with Arduino and I don't have enough free time to learn the programming properly.
I found some sample codes with u8glib library for some sensors.
They were originally for I2C OLED SSD1306 displays. But, don't like these tiny OLED displays. Sorry!
I know, that the u8glib library can be interfaced with Nokia 5110 displays very easily, so I modified some sample codes to work with it.
I did it with DHT11, BMP180, and DS18B20. If I have time, I will publish it.