Ви не увійшли.
Да
valerakopay пише:MikeM пише:INPUT заменить на INPUT_PULLUP
спасибо за совет, попробовал - теперь даже при разомкнутых проводниках при чтении порта всегда HIGH.
так и должно быть. Инвертируйте в скетче сигналы
вы имеете ввиду записывать в порт LOW а не HIGH? и если при чтении будет LOW значит порты замкнуты друг на друга?
MikeM пише:INPUT заменить на INPUT_PULLUP
спасибо за совет, попробовал - теперь даже при разомкнутых проводниках при чтении порта всегда HIGH.
так и должно быть. Инвертируйте в скетче сигналы
INPUT заменить на INPUT_PULLUP
спасибо за совет, попробовал - теперь даже при разомкнутых проводниках при чтении порта всегда HIGH.
INPUT заменить на INPUT_PULLUP
Настало время установки по указанному коду выше когда порты замкнуты (без резистора) - все отлично, реле замыкается и не размыкается пока не разомкнуть проводники что замыкают порты.
Но вот в разомкнутом состоянии реле то замыкается то размыкается на глаз как раз в пол секунды, по логам 10 лупов с паузой по 20 мс connected, 10 - disconnected.
При этом если рукой взяться за проводник который идёт к порту с которого считывается сигнал, скорость размыкания и замыкания ускоряется.
Стоит экспериментировать с резисторами? Они могут тут помочь ?
Если с умом, то можно и без резисторов. Читайте внимательно.
Ну, если только с умом. Иногда бывает, что этот резистор мешает. Но если нет, то его в любом случае невредно поставить как можно ближе к пину. Типичный пример: спаял плату, включаешь проверять, но не заметил, что на столе под ней откушенная ножка какой-нибудь детали валяется, или там пинцет на плату уронил. Если все пины защищены, то вероятность выхода дыма в разы снижается.
valerakopay пише:в теории можно конечно будет выход с выходом или вход в входом закоротить
Через килоомный резистор. А то случайно включишь оба на OUTPUT, в один сунешь HIGH, а в другой LOW - придётся комнату проветривать.
поставить на каждый OUTPUT 1кОм резистор что бы не было проблем?
в теории можно конечно будет выход с выходом или вход в входом закоротить
Через килоомный резистор. А то случайно включишь оба на OUTPUT, в один сунешь HIGH, а в другой LOW - придётся комнату проветривать.
Как раз выход с выходом и может быть проблемой. Вы просто не рассматриваете все возможные варианты.
Забыл. При проверке нужно и остальные входа проверять на отсутствие связи, иначе можно все скрутить в кучу.)
не понял что за проверка. физически это будут соединятся тюльпаны - папы с мамами. в теории можно конечно будет выход с выходом или вход в входом закоротить - это может быть проблемой?
Подаёшь активный уровень (цифровой) на whitePinWrite и проверяешь состояние whitePinRead, затем снимаешь активный уровень.
Вроде получилось, спасибо. Не привык еще к этой специфике вечного лупа и быстрой работы ардуины - вариант самый простой получается конечно.
void setup() {
Serial.begin(115200);
for (int r = 2; r <= 6; r++ ) {
pinMode(r, INPUT);
int w = r + 5;
pinMode(w, OUTPUT);
}
}
void loop() {
for (int r = 2; r <= 6; r++ ) {
int w = r + 5;
digitalWrite(w, HIGH);
Serial.print(r);
if (digitalRead(r) == HIGH) {
Serial.println("=connected");
} else {
Serial.println("=disconnected");
}
digitalWrite(w, LOW);
}
delay(20);
}
правда подключил реле и просто дергая но не замыкая провода иногда срабатывает почему то как будто нужный порт получил вовремя сигнал. может пауз добавить нужно и поможет конечно. буду пробовать.
предложенный второй более сложный вариант с фильтром тоже попробую чуть позже, может пригодится рано или поздно.
Забыл. При проверке нужно и остальные входа проверять на отсутствие связи, иначе можно все скрутить в кучу.)
MikeM, всё верно.
Входа с подтяжкой, активный низкий, снимается переводом на ввод.)
Было когда то задание для квеста. Без доп. элементов.
- куча проводов
- могут быть соединены в узлы по 2, 3 провода, некоторые могут быть не задействованы
Не всё так просто, как может показаться на первый взгляд.)