#define PIN_LED_GREEN 2 // Ко второму пину подключён зеленый светодиод
#define PIN_LED_RED 4 // К четвёртому пину подключён красный светодиод
#define SWITCH1 7 // К седьмому пину подключён первый переключатель
#define SWITCH2 8 // К восьмому пину подключён второй переключатель
#define SWITCH3 12 // К двенадцатому пину подключён третий переключатель
void setup() {
pinMode(PIN_LED_GREEN, OUTPUT); // Настроим пин зелёного светодиода на выход
pinMode(PIN_LED_RED, OUTPUT); // Настроим пин красного светодиода на выход
pinMode(SWITCH1, INPUT); // Настроим пин переключателя №1 на вход
pinMode(SWITCH2, INPUT); // Настроим пин переключателя №2 на вход
pinMode(SWITCH3, INPUT); // Настроим пин переключателя №3 на вход
Serial.begin(9600); // Для отладки будем выводить в порт служебную информацию
}
void loop() {
bool Sw1 = digitalRead(SWITCH1); // Прочитаем состояние входа конкретного переключателя
bool Sw2 = digitalRead(SWITCH2); // и запишем его состояние в логическую переменную
bool Sw3 = digitalRead(SWITCH3);
// Для контроля работы в порт выведем текущее состояние первого, второго и третьего переключателей
Serial.println(String(Sw1) + String(Sw2) + String(Sw3));
if (Sw1 == true) { // Только при включённом первом переключателе будет
// реакция на попытку включения светодиодов
if (Sw2 == true) { // Если второй переключатель включен, то
digitalWrite(PIN_LED_GREEN, HIGH); // Зелёный светодиод горит,
digitalWrite(PIN_LED_RED, LOW); // а красный - нет
}
if (Sw3 == true) { // Если третий переключатель включен, то
digitalWrite(PIN_LED_RED, HIGH); // Красный светодиод горит,
digitalWrite(PIN_LED_GREEN, LOW); // Зелёный - нет
}
if ((Sw2 == true) && (Sw3 == true)) { // Если и второй, и третий переключатели включены, то
digitalWrite(PIN_LED_RED, HIGH); // Красный светодиод горит,
digitalWrite(PIN_LED_GREEN, HIGH); // И зелёный - тоже
}
}
if (Sw1 == true) { // А втот если первый переключатель выключен, то
digitalWrite(PIN_LED_GREEN, LOW); // на второй и третий даже обращать внимания не стоит -
digitalWrite(PIN_LED_RED, LOW); // ни одному светодиоду гореть не разрешается!
}
}