Is it just the PWM flicker, not there when brighter? I bought a LED driver for my lights. It came with a shitty transformer that made a horrible buzzing sound and lots of people on Amazon had said the transformer had blown up. I don't really know if I needed a LED driver with the lights or a normal transformer would have been ok with the bits that come with them.
The INPUT_PULLUP works the same but the values for detecting are opposite, so low for closed and high for open so you'd have to swap them if using someone's code with a pulldown resistor.
You probably want a timer/counter instead of a delay. Check each time the loop function runs that a certain time has passed and change values or do something. That way you can also check button presses regularly. If that makes sense.
EDITED: 24 Jan 2015 20:21 by CHRISSS