fade down, STOP. fade up, STOP.

Maybe you should change these to >= vs ==
Having to hit a specific number is hard

if(avRead == 12 && compare == true){ // fade up if avRead is >15 and fade down has run

if(avRead == 27 && compare == true){ // fade up if avRead is >15 and fade down has run

or make them a range:
( ( avRead >=12 && avRead<20 ) && compare == true )
( ( avRead >=27 && avRead<36 ) && compare == true )

that kind of idea