/arduino-byte-stoplight

Stoplight with Arduino EEPROM saving data

Primary LanguageC++

arduino-byte-stoplight

Задача:

Реализовать светофор основанный на массиве байтов, принцип работы таков:

byte dataLight[] = {
  //0bRGYTime
    0b0101111,
    0b0001000,
    0b0101000,
    0b0001000,
    0b1001000,
    0b1011000,
};

Описание

  1. Каждая строка является сценой с параметрами

  2. Первый байт включен при активной сцене, для корректной работы bitRead()

  3. При нулевом значении байта, сцены запускаются заново

  4. Первые три байта отвечают за включение цветов RGY соответственно

  5. Остальные байты за время, где время есть степень двойки

  6. Вход в режим обновления сцен запускается с кнопки при помощи прерывания

  7. Информация о сценах должна сохранятся в EEPROM

  8. При отключении от сети запускается последнее активное положение сцены

  9. Информация о последнем активном состоянии берётся из EEPROM

  10. При первом запуске должна быть проверка на первое включение EEPROM

  11. Вся информация о сцене и последнем активном состоянии содержится в структуре