Сделать код на ардуино нано для светильника, несколько режимов

Необходимо написать код для ардуино нано для светильника.
Есть: ардуино нано, ргб светодиод (красный - D9, зелёный - D6, синий - D5), оранжевый светодиод (D3), кнопка (D10 и питание) с оттягивающим резистором от D10 до земли.
Необходимо, чтоб нажатие кнопки переключало режимы. Первым нажатием включало, после последнего режима выключало. И выключало при нажатии кнопки в течение 3 секунд.
Режимы:

  1. оранжевый горит просто
  2. режим огня с использованием оранжевого и ргб
  3. режим в котором плавно переключаются цвета радуги
  4. горит красный
  5. горит жёлтый
  6. горит зелёный
  7. горит голубой
  8. горит синий
  9. горит фиолетовый
  10. горит белый

Я сам пробовал с помощью нейросетей, но нормально получается только с режимами просто горения цветов. А с огнём и радугой провал. Особенно в плане переключения с них кнопкой.
Если у вас есть комментарий насчёт изменения технической части, то готов прочитать.

Если данный проект не уместить на ардуино нано, то можно убрать один из тяжёлых режимов. Ну либо по ситуации.

Всё уместится. Ещё и место останется.

Сделаю wizard-sen@yandex.ru