// Определяем пины для кнопок
const int buttonPins[] = {2, 4, 6};
const int numButtons = 3;
// Массив для хранения предыдущего состояния кнопок (чтобы срабатывало один раз при нажатии)
int lastButtonStates[] = {HIGH, HIGH, HIGH};
void setup() {
// Инициализируем последовательный порт для вывода текста
Serial.begin(9600);
// Настраиваем пины кнопок как входы с подтяжкой к питанию
for (int i = 0; i < numButtons; i++) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
Serial.println("Система готова. Нажимайте кнопки!");
}
void loop() {
for (int i = 0; i < numButtons; i++) {
// Считываем текущее состояние кнопки
int currentLineState = digitalRead(buttonPins[i]);
// Если состояние изменилось и кнопка стала нажата (LOW)
if (currentLineState != lastButtonStates[i]) {
if (currentLineState == LOW) {
Serial.print("Нажата кнопка на пине: ");
Serial.println(buttonPins[i]);
}
// Небольшая задержка для защиты от дребезга контактов
delay(50);
}
// Сохраняем состояние для следующей проверки
lastButtonStates[i] = currentLineState;
}
}