#define Green_led 2
#define Red_led 4
#define Agree_in 7
#define Green_in 8
#define Red_in 12
bool Agree;
void setup() {
// put your setup code here, to run once:
// выходы для сетодиодов
pinMode(Green_led, OUTPUT);
pinMode(Red_led, OUTPUT);
// входы для DIP
pinMode(Agree_in, INPUT_PULLUP);
pinMode(Green_in, INPUT_PULLUP);
pinMode(Red_in, INPUT_PULLUP);
// дополнительно интерфейс
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
// Проверим DIP разрешения ("включено" - вход на земле,
// поэтому инверт)
if (!digitalRead(Agree_in))
{
Agree = true;
Serial.println("Разрешено");
}
else
{
Agree = false;
Serial.println("Запрещено");
}
// Проверим DIP зеленого (также "включено" - вход на земле,
// поэтому инверт)
if ((!digitalRead(Green_in)&&Agree))
{
// если включено - зажигаем led, иначе гасим
digitalWrite(Green_led, HIGH);
Serial.println("Зеленый включен");
}
else
{
digitalWrite(Green_led, LOW);
Serial.println("Зеленый выключен");
}
// И также DIP красного (также "включено" - вход на земле,
// поэтому инверт)
if ((!digitalRead(Red_in)&&Agree))
{
// зажжём, если включено - вход на земле
digitalWrite(Red_led, HIGH);
Serial.println("Красный включен");
}
else
{
digitalWrite(Red_led, LOW);
Serial.println("Красный выключен");
}
delay(500);
}