2 реле и 2 кнопки + arduino nano

Здравствуйте, нужна помощь. Нужно подружить ардуину, кнопки и реле.

Имеется код:

#include <Bounce2.h>
byte buttonOneState = 0;
byte buttonTwoState = 0;

const byte buttonPin1 = 2;
const byte buttonPin2 = 3;

const byte relayPin1 = 9; //Relay pin 1
const byte relayPin2 = 10; //Relay pin 2

const byte debouncerInterval = 50;

// Instantiate ONE OR MORE Bounce2 object(s).
Bounce debouncer = Bounce();
Bounce debouncer2 = Bounce();


void setup() {
  Serial.begin(9600);
  pinMode(buttonPin1, INPUT_PULLUP);
  pinMode(buttonPin2, INPUT_PULLUP);

  debouncer.attach(buttonPin1);
  debouncer.interval(debouncerInterval);
  debouncer2.attach(buttonPin2);
  debouncer2.interval(debouncerInterval);

  pinMode(relayPin1, OUTPUT); //Define pin as output
  pinMode(relayPin2, OUTPUT); //Define pin as output

}

void loop() {

  // Button 1
  if (debouncer.update()) {
    if (debouncer.read() == 0) {
      if (buttonOneState == 0) {
        Serial.println("Turn Relay 1 ON");
        digitalWrite(relayPin1, HIGH);
        buttonOneState = 1;
      }
      else {
        Serial.println("Turn Relay 1 OFF");
        digitalWrite(relayPin1, LOW);
        buttonOneState = 0;
      }
    }
  }

  // Button 2
  if (debouncer2.update()) {
    if (debouncer2.read() == 0) {
      if (buttonTwoState == 0) {
        Serial.println("Turn Relay 2 ON");
        digitalWrite(relayPin2, HIGH);
        buttonTwoState = 1;
      }
      else {
        Serial.println("Turn Relay 2 OFF");
        digitalWrite(relayPin2, LOW);
        buttonTwoState = 0;
      }
    }
  }
}

1 кнопка отвечает за 1 реле, 2 кнопка отвечает за 2 реле.

Мне нужно сделать так, чтобы:

1 кнопка включает 1 реле, а выключить его можно только 2 кнопкой; и наоборот: 2 кнопка включает 2 реле, а выключить его можно только 1 кнопкой и т. д. — некий проходной выключатель… но если 1 кнопку нажать 2 раза, то выключить 1 реле можно только после 2-х нажатий 2 кнопки…

Лабораторные перед сессией?)

Нет, светофор в ЖК

А я вижу, что в вашем коде первое реле и включает, и отключает первая кнопка, второе реле - соответственно, вторая

Это и нужно исправить

Так в чем проблема? Рисуйте на бумажке подробный алгоритм, когда на бумажке все будет выглядеть как вам нужно, переносите алгоритм в код

Здравствуете!

Мне тоже.

снег во дворе, на парковке и перед воротами почистить.

Есть идеи?