Загрузка данных


// Определяем пины для кнопок
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;
  }
}