The MPX5100 series piezoresistive transducer is a state-of-the-art monolithic silicon pressure sensor designed for many applications. Still, particularly it is convenient to interface to a microcontroller or microprocessor with ADC inputs. This is thin-film metallization and bipolar processing to provide an accurate, high-level analogue output signal proportional to the applied pressure. More details can be found here MPXV5100
This sensor measures differential pressure comparing to atmospheric so when there is no pressure applied it shows 0kPa;
I was converting ADC value to pressure using this formula:
I didn’t do too much testing to tune it, and I just calibrated it to zero by adding to ADC 0.3 value.
Here I will make an example interfacing it to atmega8. Code is written in C using WINAVR toolkit and AVRLIB library. As you will see, coding with AVLIB is straightforward, just a few lines, but compiled code is not very effective and takes lots of memory.
And here what results did I get:
Testing my lungs by blowing air to the straw. You can see 10 kPa.
Here I added an archived demo WINAVR project. You can download and test it on your own.
Have fun.MPXV5100 pressure sensor to Atmega8