ähm ... bei deinem case im listing
wird der outputpin nie null, der zahlenbereich
für die adc ist insgesamt 0-1024

edit: sorry, hab das if ws<500 übersehen ...

aber. ... wo wird denn der pin auf 0 gesetzt? bei ws>501?
der select case macht keinen sinn in deinem Programm.