#define PIN 6
What's this for?
controlled by a button, using the internal pullup
It's been my experience that buttons are great at holding shirts closed, but don't work for shit as input devices. Switches don't work worth a damn at holding shirts closed, but they do make great input devices.
if(digitalRead(4) == LOW && counter < 6)
Will counter ever NOT be less than 6? If not, why bother testing?
Where do you actually use counter to define what the strip should do?