Wemos D1 mini с реле - срабатывание при включении

Chessman

✩✩✩✩✩✩✩
15 Янв 2020
4
1
Всем доброго дня!

Обнаружил вот такую странность - при включении МК (wemos d1 mini) подключенное реле срабатывает на непродолжительное время, и уже потом начинает работать как надо.

Например, вот такой код:

const int relayPin = D3;
const long interval = 2000; // pause for two seconds

void setup() {
pinMode(relayPin, OUTPUT);
}

void loop() {
digitalWrite(relayPin, LOW); // turn on relay with voltage HIGH
delay(interval); // pause
digitalWrite(relayPin, HIGH); // turn off relay with voltage LOW
delay(interval); // pause
}


Все бы хорошо, но если отключить питание МК, потом включить, то реле сработает на короткое время, а потом уже будет отрабатывать setup() и сам loop(). Может кто в курсе, почему так, и как это побороть? Реле самое обычное, стандартное, + - signal. В моем случае срабатывание реле недопустимо - все это дело хочу повесить для удаленного управления приводом гаражных работ, и если оставить все как есть, то перезагрузка МК приведет к открыванию ворот.
 

Вложения

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@Chessman, попробуйте повесить реле на другой пин. У меня такое было на ардуино нано: на 13-м пине при включении питания проскакивал короткий импульс. На остальных - нет. Кроме того попробуйте также вставить в сетап digitalWrite(relayPin, LOW); .
 
Изменено:

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,407
976
58
Марий-Эл
на 13-м пине при включении питания проскакивал короткий импульс. На остальных - нет.
На 13 пине светодиод висит. Этим диодом при загрузке бутлоадер сигнализирует о попытке загрузки.
 

Chessman

✩✩✩✩✩✩✩
15 Янв 2020
4
1
Проверил, D3 (светодиод, все понятно) и D4, D7, D6, D5 дают импульс при включении, и релюшка срабатывает, D2 и D8 все норм, на форуме по ардуино писали про подтяжку цифрового пина на землю резистором 10k, но подозреваю, что там причина другая, и не помогает (((

Проблема как таковая более неактуально, но если есть кто может объяснить - было бы очень интересно.
 

Вложения

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
но если есть кто может объяснить - было бы очень интересно.
Тогда причина тут одна: загрузчик. При старте он за каким-то бананом даёт импульс в указанные вами порты. Подозреваю, что если скомпилить скетч для заливки программатором напрямик и залить это дело в чип (убив загрузчик), то никаких лишних импульсов не будет.
 
Изменено: