Состояние выводов при подаче питания
- Войдите на сайт для отправки комментариев
Втр, 27/10/2020 - 17:16
Доброго времени суток!
Вопрос такой, есть схема управления воротами:
1. Arduino Uno;
2. Модуль реле из 4 реле;
3. Кнопки открыть, закрыть, стоп.
Логика работы такая, при нажатии на кнопку открыть/закрыть включается двигатель и работает до срабатывания концевика.
Проблема в следующем, при подаче питания оба реле включаются враз, после нажатия на кнопку стоп всё начинает работать как задумано, до следующего выключения питания. Не могу понять в чем причина.
const int RO = 8; const int RC = 9; const int buttonO = 2; const int buttonC = 3; const int buttonS = 4; void setup() { Serial.begin(9600); pinMode (buttonO, INPUT_PULLUP); pinMode (buttonC, INPUT_PULLUP); pinMode (buttonS, INPUT_PULLUP); pinMode (RO, OUTPUT); pinMode (RC, OUTPUT); } void loop () { if (digitalRead(buttonO) == LOW) { digitalWrite(RO, HIGH); digitalWrite(RC, LOW); } if (digitalRead(buttonC) == LOW) { digitalWrite(RC, HIGH); digitalWrite(RO, LOW); } if (digitalRead(buttonS) == LOW) { digitalWrite(RC, HIGH); digitalWrite(RO, HIGH); } }
Не могу понять в чем причина.
в том что у вас реле управляются низким уровнем, то есть при подаче питания на управляющий пин реле выключено, при подключении GND - включено
Это следует из вашего кода кнопки Стоп
А теперь смотрите на последние строчки в Setup:
Эти строки равносильны подаче на реле управляющего LOW - поэтому-то реле при перехагрузке включаются.
Добавьте в Setup строчки из кода кнопки Стоп, чтобы реле после старта были выключены
Спасибо. Теперь всё работает.