Air pressure based bumpers
This is an attempt to explain how I used differential pressure sensors as bumper sensors by connecting them to a silicon hose. In order for this to work, you will need a quite sensitive pressure sensor, mine are 0-70 mbar.
In my robot I use tow differential pressure sensors with analog outputs, one for the left side of the robot and one for the right side. The picture above only shows one side of the robot.
The silicon-hoses are mounted on the bumper arias so they get squeezed when the robot hits an obstacle. And then the air pressure inside the house will increase.
For example: if the robot hits an obstacle with the front right bumper, the air-pressure in that hose will increase, and the air-pressure in hose to the rear right bumper will remain the same. And the analog signal from the differential pressure sensor will change. This signal is processed by a PIC12F683.
At power on the PIC calibrates the sensor by AD-converting the signal once. Then this value is used to calculate to levels, one level is a little bit higher than the measured level and the other is a little bit lower. The PIC AD-converts the signal 50 times / second. If the signal gets higher than the higher level, one pin is set to logic 1, and if the signal gets lower than the lower level, another pin is set to logic 1, else both pins are logic 0.
Those two logic signals, together with the other two logic signals from the other side of the robot are connected to the interrupt on change pins on the main PIC16F887 microcontroller.
You can probably use normal pressure sensors instead of differential pressure sensors. I used differential pressure sensors only because I had a few laying around. However, one big advantage with differential ones is that you can use one sensor for two separate bumper surfaces.