// Пины для кнопок
const int buttonPin1 = 2; // Кнопки 1, 4, 7
const int buttonPin2 = 3; // Кнопки 2, 5, 8
const int buttonPin3 = 4; // Кнопки 3, 6, 9
// Пины для реле
const int relayPin1 = 5;
const int relayPin2 = 6;
const int relayPin3 = 7;
// Пины для светодиодов
const int ledPin1 = 8;
const int ledPin2 = 9;
const int ledPin3 = 10;
// Переменные для хранения состояния кнопок
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
// Переменные для хранения предыдущего состояния реле и светодиодов
int relayState1 = LOW;
int relayState2 = LOW;
int relayState3 = LOW;
void setup() {
// Настройка пинов кнопок как входов
pinMode(buttonPin1, INPUT_PULLUP);
pinMode(buttonPin2, INPUT_PULLUP);
pinMode(buttonPin3, INPUT_PULLUP);
// Настройка пинов реле и светодиодов как выходов
pinMode(relayPin1, OUTPUT);
pinMode(relayPin2, OUTPUT);
pinMode(relayPin3, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
// Начальное состояние реле и светодиодов
digitalWrite(relayPin1, relayState1);
digitalWrite(relayPin2, relayState2);
digitalWrite(relayPin3, relayState3);
digitalWrite(ledPin1, relayState1);
digitalWrite(ledPin2, relayState2);
digitalWrite(ledPin3, relayState3);
}
void loop() {
// Чтение состояния кнопок
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
// Обработка кнопки 1, 4, 7
if (buttonState1 == HIGH) {
relayState1 = !relayState1; // Переключаем состояние реле 1
digitalWrite(relayPin1, relayState1);
digitalWrite(ledPin1, relayState1);
delay(200); // Задержка для устранения дребезга контактов
}
// Обработка кнопки 2, 5, 8
if (buttonState2 == HIGH) {
relayState2 = !relayState2; // Переключаем состояние реле 2
digitalWrite(relayPin2, relayState2);
digitalWrite(ledPin2, relayState2);
delay(200); // Задержка для устранения дребезга контактов
}
// Обработка кнопки 3, 6, 9
if (buttonState3 == HIGH) {
relayState3 = !relayState3; // Переключаем состояние реле 3
digitalWrite(relayPin3, relayState3);
digitalWrite(ledPin3, relayState3);
delay(200); // Задержка для устранения дребезга контактов
}
}