Arduino без внешнего питания начинает постоянно перезапускать код, что делать?
А после отключения USB ардуинка от чего то продолжает питаться? Если нет - то как она будет продолжать работать? Вы отключаете ардуинку и само собой светильник будет продолжать светиться тем цветом, который был последним.
Схема цепей питания контроллера Arduino UNO. 
(на других платах Ардуино данный вопрос решается аналогичным способом)


По схеме видно что питание контроллера в случае подключения от USB идет через диод D1.
В Случае питания от VIN (что правильно) будет идти через стабилизатор IC2 (LM1117).

Если ТОЧНО БП дает +5в. то питание на Ардуину "можно" подать на вывод "+5V" Ардуины. (но будут проблемы при заливке прошивки в контроллер. Внешнее питание желательно отключать во время прошивки)
Если больше (+9в, +12в)  ТО проверить стабилизатор LM1117 и при необходимости заменить.