Как сделать переключение между кнопками?

Для реализации переключения между несколькими кнопками в Arduino вам понадобится использовать цикл и проверку состояния каждой кнопки. Вот подробное описание, как это сделать.

1. Подключите кнопки к пинам вашего Arduino. Убедитесь, что вы использовали подтягивающие резисторы для каждой кнопки, чтобы избежать ложных срабатываний.
2. Задайте каждый пин, к которому подключены кнопки, в режиме ввода с помощью функции pinMode(). Например, если кнопка подключена к пину 2, используйте следующую команду:

pinMode(2, INPUT);

3. Создайте переменные для хранения состояния каждой кнопки. Вы можете использовать тип данных boolean (логический) для этого. Например:

boolean button1State = false;
boolean button2State = false;

4. В основном цикле программы используйте функцию digitalRead() для считывания состояния каждой кнопки. Например, для кнопки, подключенной к пину 2, используйте:

button1State = digitalRead(2);

5. Выполните необходимые действия на основе состояния каждой кнопки. Например, если кнопка 1 нажата, вы можете выполнять определенные действия или вызывать определенную функцию. Если кнопка отпущена, вы можете выполнять другие действия. Например:

if (button1State == HIGH) {
  // Код, который выполняется, когда кнопка 1 нажата
  // Можете вызвать определенную функцию или выполнить определенные действия
} else {
  // Код, который выполняется, когда кнопка 1 отпущена
  // Можете вызвать определенную функцию или выполнить определенные действия
}

6. Повторите шаги 4-5 для каждой кнопки, повторно используя функцию digitalRead() для считывания состояния каждой кнопки и изменения переменных состояния соответственно.

Вот пример полного кода для реализации переключения между двумя кнопками в Arduino:

const int button1Pin = 2;
const int button2Pin = 3;

boolean button1State = false;
boolean button2State = false;

void setup() {
  pinMode(button1Pin, INPUT);
  pinMode(button2Pin, INPUT);
  Serial.begin(9600);
}

void loop() {
  button1State = digitalRead(button1Pin);
  button2State = digitalRead(button2Pin);

  if (button1State == HIGH) {
    Serial.println("Button 1 pressed");
    // Выполните определенные действия, когда кнопка 1 нажата
  } else {
    Serial.println("Button 1 released");
    // Выполните определенные действия, когда кнопка 1 отпущена
  }

  if (button2State == HIGH) {
    Serial.println("Button 2 pressed");
    // Выполните определенные действия, когда кнопка 2 нажата
  } else {
    Serial.println("Button 2 released");
    // Выполните определенные действия, когда кнопка 2 отпущена
  }

  delay(100); // Добавьте небольшую задержку перед следующей итерацией цикла
}

Обратите внимание, что в примере кода я использовал функцию Serial.println(), чтобы вывести сообщение в монитор последовательного порта, чтобы вам было проще отслеживать состояние кнопок. Вы можете удалить эти строки или заменить их на свои действия, в зависимости от ваших потребностей.