// Объявляем номера пинов
#define GREEN 2 // Зелёный светодиод
#define RED 4 // Красный светодиод
#define SW1 7 // Первый переключатель (разрешение включение обоих светодиодов)
#define SW2 8 // Второй переключатель (включение зелёного светодиода)
#define SW3 12 // Третий переключатель (включение красного светодиода)
void setup() {
// Настраиваем пины светодиодов как выходы
pinMode(GREEN, OUTPUT);
pinMode(RED, OUTPUT);
// Настраиваем пины переключателей как входы
pinMode(SW1, INPUT_PULLUP);
pinMode(SW2, INPUT_PULLUP);
pinMode(SW3, INPUT_PULLUP);
}
void loop() {
// Алгоритм работы светодиодов зависит от положения переключателей:
// первый переключатель (SW1) разрешает работу обоих светодиодов;
// второй переключатель (SW2) активирует включение зелёного светодиода;
// третий переключатель (SW3) активирует включение красного светодиода.
delay(100); // Задержка для предотвращения "дребезга"
if (!digitalRead(SW1) && !digitalRead(SW2)) {
// Выполнены оба услвоия:
// SW1 разрешает включение светодиодов, SW2 включает зеленый светодиод
digitalWrite(GREEN, 1); // Включаем зелёный светодиод
}
else {
// Не выполнены условия:
// SW1 не разрешает включение светодиодов
// Состояние SW2 не имеет значения так как SW1 не разрешает включение светодиодов
digitalWrite(GREEN, 0); // Выключаем зелёный светодиод
}
if (!digitalRead(SW1) && !digitalRead(SW3)) {
// Выполнены оба условия:
// SW1 разрешает включение светодиодов, SW3 включает красный светодиод
digitalWrite(RED, 1); // Включаем красный светодиод
}
else {
// Не выполнены условия:
// SW1 не разрешает включение светодиодов
// Состояние SW3 не имеет значения так как SW1 не разрешает включение светодиодов
digitalWrite(RED, 0); // Выключаем красный светодиод
}
}