Код: Выделить всё
void setup()
{
pinMode(2, INPUT_PULLUP);
pinMode(4, OUTPUT);
digitalWrite(4, 0);
}
void loop()
{
//Плата:1
digitalWrite (4, (digitalRead (2)));
}
LAD или FBD не важно. Для защиты от помех на входе можно включить "Подтягивающий резистор", у вас в схеме включен, таким образом вход подтягивается к +5, контакт в схеме Pin2 будет постоянно включен и как следствие выход Pin4 то-же. Подав на вход минус, Pin2 разомкнется и выход Pin4 то-же. Частая ошибка начинающих, это управлять плюсовым сигналом когда вход подтянут к плюсу.
Должно быть
Код: Выделить всё
digitalWrite (4, (!(digitalRead (2))));
Посоветую готовый модуль реле для ардуино. Там уже и транзистор стоит, и чаще всего опторазвязка.