BMP085 pressure sensor used as altimeter, with LCD display

This project uses the BMP085 pressure sensor, which communicates over I2C, and requires a load of calibration calculations that are explained in datasheet. Typical accuracy 1 millibar and 2 degrees centigrade.

The remainder of the project is to display this information on a 2x16 LCD screen, with a user-interface comprising mode-select button and a rotary encoder.

Connections:

LCD display connected in its usual position.

I2C comms with pressure-sensor using pin 4,5 as usual. Give the sensor a 3v3 supply.

Rotary encoder connected to pins 8,9, and its push-action connected to pin 10. Separate mode-select pushbutton connected to pin 7.

Usage:

Mode-select button to toggle between altitude, temperature, and pressure pages.

Displays your altitude from -9999 to 99999 ft, with rotary encoder used to select the pressure-setting in millibars. Press the encoder to switch to standard atmosphere.

Displays temperature in degrees C and F.

Displays pressure in millibar.

50-cycle moving-average used to smooth the pressure and altitude readings.