Button doesn't control 2812 strip correctly

The following tutorials should help:

StateChangeDetection

State Machine