Всем привет! Прошу помощи в создание режимов на моем роботе. Теперь о самом роботе. Его цель включать и выключать свет с помощью пульта + режимы работы, как я говорил выше. Проект создается на Arduino UNO. ЗАРАНЕЕ СПАСИБО.
Я работаю над проектом по включению и выключению света. Робот по сигналу пульта будет включать свет определенными комбинациями. Например на пульте нажата цифра 1 и свет включен по первой комбинации (скажем 0 1 0 1). Цифра 2-режим 2, и т.д. Теперь о проблеме. Я не знаю как в коде сделать режимы.
Код (C++): enum {READY, SVET1, SVET2, SVET3}; // возможные режимы работы в виде слов, а не цифр (для удобства) byte CurrentMode; // переменная для хранения текущего режима, не более 254 режимов ;) void setup() { Serial.begin(9600); CurrentMode = READY; } void loop() { switch(CurrentMode) { case READY: // тут код, когда робот ждет команды /* byte key = IRrecieve(); // условный пример получения кода с пульта if (key > 0 && key < 4) // если на пульте нажата кнопка 1...3 { CurrentMode = key; // назначаем режим, равный номеру кнопки } else { CurrentMode = READY; } */ break; case SVET1: // тут код, когда получена команда №1 на включение света // digitalWrite(LED_1, LOW); // digitalWrite(LED_2, HIGH); // digitalWrite(LED_3, LOW); // digitalWrite(LED_4, HIGH); CurrentMode = READY; // после выполнения команды снова назначаем режим готовности break; case SVET2: // тут код, когда получена команда №2 на включение света // ... CurrentMode = READY; break; case SVET3: // тут код, когда получена команда №3 на включение света // ... CurrentMode = READY; break; default: // код, который выполнится, если где-то косяк с режимом Serial.println("Error!"); CurrentMode = READY; } // конец switch } // конец loop byte IRrecieve() { // тут код обработки сигналов с ИК-приемника byte keyCode; // ... return keyCode; }