#define Green_LED 2 // определяем пин для зеленого светодиода
#define Red_LED 4 // определяем пин для красного светодиода
#define S1 7 // определяем пин для первого переключателя DIP Switch
#define S2 8 // определяем пин для второго переключателя DIP Switch
#define S3 12 // определяем пин для третьго переключателя DIP Switch
bool s1val, s2val, s3val ; // определяем переменные для состояния переключателей DIP Switch
void setup() {
pinMode(Green_LED, OUTPUT); // определяем пины, к которым подключены светодиоды, как "Выход"
pinMode(Red_LED, OUTPUT);
pinMode(S1, INPUT_PULLUP); // определяем пины, подключенные к DIP Switch, как "Вход с подтяжкой к питанию"
pinMode(S2, INPUT_PULLUP);
pinMode(S3, INPUT_PULLUP);
Serial.begin(9600); //устанавливаем скорость порта 9600 бод
}
void loop() {
s1val = !digitalRead(S1); // записываем в переменные состояние переключателей DIP Switch (инверсия сделана для корректной работы DIP Switch)
s2val = !digitalRead(S2);
s3val = !digitalRead(S3);
if (s1val && s2val) { // если включен 1 и 2 переключатели на DIP Switch
digitalWrite(Green_LED, s2val); // включаем зеленый светодиод
}
else { // иначе отключаем зеленый светодиод
digitalWrite(Green_LED, LOW);
}
if (s1val && s3val) { // если включен 1 и 3 переключатели на DIP Switch
digitalWrite(Red_LED, s3val); // включаем красный светодиод
}
else { // иначе отключаем красный светодиод
digitalWrite(Red_LED, LOW);
}
Serial.print(s1val); //выводим в терминал состояния переключателей DIP Switch
Serial.print(s2val);
Serial.print(s3val);
Serial.println();
delay(500); // устанавливаем задержку в 0,5 сек
}