A little constructive criticism... I see a lot of logic being implemented in conditional statements that does not need to be. For example:
Code:
if(pressure_sensor == 0) compressor = 1;
else compressor = 0;
could be
Code:
compressor != pressure_sensor;
From what I see you can cut out a good chunk of code and boost your efficiency by doing some simple optimizations.