กลับไปหน้ารวมไฟล์
digital-barometer-75dd05-en.md

The story

I wanted to make a barometer with high resolution scale. So I used ten 10-led bar arrays, a total of 100 leds. The full scale is from 950 - 1050 mBar.

I also included temperature and humidity.

And there are 22 leds (2x11) to indicate the scale.

The temperature range is from 0 - 50 degrees celsius, and humidity range is from 0 - 100 % relative humidity.(hygrometer)

I also included a colour TFT display ILI9341 (320x200 pixels) to display the scale and measured value of the sensor. I am using a BMP280 for the pressure and a SHT31 for the temperature and humidity. To control the 100 leds I am using 4 shiftregisters SN74595.

The air pressure on the display is green, the temperature is red and the humidity is blue.

And I am using an extra memory (EEPROM) of 32kByte to store the readings of the sensors. The program is reading every 30 seconds the sensors and every 15 minutes the data is stored into the EEPROM, so there are 96 data points in 24 hours. The data is shifted in, only 24 hours of data is stored. So you can see the trend of the barometer, thermometer or hygrometer of the past 24 hours.

On the photo above (close up overview) : Temp = temperature, LV = humidity (Dutch Lucht Vochtigheid) and Atm = air pressure (Atm = atmosphere)

The program is checking the state of four switches. With four switches there are 16 functions. The functions are:

Function 0000:

Display and led bar are blank.

Function 0001:

Led bar: blank

Display: values of the sensors (see photo above : close up overview)

Function 0010: Air pressure

Led bar: indication of the air pressure in mBar

Display: Range is from 950 - 1050 mBar,

Actual air pressure

Scale = 10 mBar ( 1 led = 1 mBar)

Function 0011: Temperature

Ledbar: indication of the temperature in degrees of celsius.

Display: Range is from 0 - 50 degrees Celsius.

Actual temperature.

Scale = 5 degrees celsius (1 led = 0.5 degree)

Function 0100: Humidity

Led bar: indication of the Humidity in %

Display: Range is from 0 - 100 % relative humidity.

Actual humidity.

Scale = 10 %. (1 led = 1 % relative humidity)

Function 0101:

Led bar: indication of the air pressure in mBar

Display: the trend of the air pressure of the last 24 hours

Trend air pressure

Function 0110:

Led bar: indication of the temperature in degrees of celsius.

Display: the trend of the temperature of the last 24 hours

Trend temperature

0111:

Led bar: indication of the relative humidity in %.

Display: the trend of the relative humidity of the last 24 hours

Trend humidity

Function 1000:

Led bar: blank

Display: max and min values of the air pressure,

The 3,6,12 and 24 hours trend.

Trend air pressure in numbers

Function 1001:

Led bar: blank

Display: max and min values of temperature and humidity.

Those values are reset every 24 hours

Function 1010: Airpressure

This is the same as function 0010, except the led bar is in dot mode.

Function 1011: Temperature

This is the same as function 0011, except the led bar is in dot mode.

Function 1100: Hygro

This is the same as function 0100, except the led bar is in dot mode.

Function 1101: Airpressure zoom

This is the same as function 0010, except the scale is 10 times zoom.

Scale = 1 mBar ( 10 led = 1 mBar)

Function 1110: Temperature zoom

This is the same as function 0011, except the scale is 5 times zoom

Scale = 1 degree celsius (10 led = 1 degree)

Function 1100: Hygro zoom

This is the same as function 0100, except the scale is 10 times zoom

Scale = 1 %. (10 led = 1 % relative humidity)

EXPANDED TECHNICAL DETAILS

Atmospheric Pressure Diagnostics

This project is a high-precision digital recording tool for tracking altitude and localized weather shifts based on air pressure.

  • BME280/BMP180 Integration: Interfaces with a specialized Bosch sensor over the I2C bus. These sensors can detect pressure changes as small as 1 Pa (Pascals), allowing the Arduino to calculate altitude changes with a resolution of just 1 meter.
  • Sea-Level Calibration: The firmware includes a calibration variable for local Sea-Level Pressure (hPa/inHg), ensuring the calculated altitude remains accurate throughout the day.

Visualization Dashboard

  • Cyclic Data Display: Current pressure (hPa), altitude (m), and temperature (°C) are cycled on an I2C OLED screen. The code includes a 24-hour "Trend" indicator (Rising/Stable/Falling) to help predict incoming storm systems.

ข้อมูล Frontmatter ดั้งเดิม

title: "Digital Barometer"
description: "Barometer/thermometer/humiditymeter with ten 10-segment led bar"
author: "nankie"
category: "Sensors & Environment"
tags:
  - "analog style"
  - "thermometer"
  - "barometer"
views: 1974
likes: 0
price: 2450
difficulty: "Intermediate"
components:
  - "10x 10 LEDs Bar Array, Green"
  - "1x Arduino UNO"
  - "1x FPGA Configuration Memory, EEPROM"
  - "1x Grove - I2C High Accuracy Temp&Humi Sensor (SHT35)"
  - "1x TFT Touchscreen, 320x240"
  - "1x Soldering iron (generic)"
  - "10x Resistor 220 ohm"
  - "4x Toggle Switch, (On)-Off-(On)"
  - "1x MyOctopus i2c Barometric Air Pressure Sensor BMP280"
  - "4x Shift Register- Serial to Parallel"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://projects.arduinocontent.cc/530e2a64-2a9d-498d-8f9b-1c84f388d4b3.ino"
documentationLinks: []
passwordHash: "02bcee7e30f8b91db416b5891d6627a12b781308fb39c810997edfe1b927651a"
encryptedPayload: "U2FsdGVkX1+Z00emi7z6BzA4phPyrxxJ+ydmuJl2rF9pVv+jQ+orOCOLiCdy1/sVEc92HGR7RD9PvtwdDdcd6oT2pAfGoSJBEghuQQCw9Cg="
seoDescription: "Build a Digital Barometer, thermometer, and humiditymeter using ten 10-segment led bar displays."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/digital-barometer-75dd05_cover.jpg"
lang: "en"