Как можно переключать переменные, записанные в памяти, по времени?

const int KEY_LEN = 32;;
unsigned long key1 = 0x76AFDBAA;
unsigned long key2 = 0xC6E2F8F8;

const int LED_PIN = 13; // Использовал цифровой вывод 13 arduino для подключения передатчика
unsigned long my_timer;

void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  my_timer = millis(); 
}

void loop()
{
if ((millis() - my_timer) <= 2000) // 
  {
    unsigned long key = key1;
  }
if ((millis() - my_timer) > 2000 & (millis() - my_timer) < 4000) 
  {
    unsigned long key = key2;
  }
  
    if (key & 1) delayMicroseconds(4000); 
    else delayMicroseconds(2000);
  }
  

У меня есть две клавиши, и я хочу переключаться между ними каждые 4 секунды без каких-либо кнопок. То есть при подаче напряжения питания ключи меняются друг с другом каждые 4 секунды. А именно, вам нужно загрузить один из ключей в переменную ключа, а затем работать с этим значением (сравнить его, прочитать, вывести на цифровой вывод и так далее).

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

, 👍0

Обсуждение

То есть вам нужно использовать пакет: если (millis() - my_timer > 4000) { ключ = ключ++; my_timer = millis(); } Но все же я не понимаю, как вы можете переключать ключи друг между другом., @Антон

Извините, не могли бы вы рассказать мне немного больше, я не понял, как я могу установить эту переменную, @Антон