Доброго времени суток. Подскажите кто нибудь в чем проблема? Есть реле низкого уровня. Управляющий контакт подключен к выходу 7 ардуино нано. В сетапе прописан порт 7 на аутпут, что естетсвенно приводит реле к включению. Если прописать следующий строчкой после инициализации 1 на выход 7, то все хорошо, реле при подаче питания на ардуино не включается. Но когда происходит подключение по блютуз ( телефон - модуль НС-6) реле как бы перещелкивает, как будто сетап запускается повторно. Что с этим можно сделать? Питание на реле идет с модуля ардуино
Вставьте в сетап вывод сообщения в Сериал и сразу будет видно, идет перезапуск платы или нет
Подтяни пин 7 к VCC через резистор 3…10 кОм
Плохо, когда один источник питания для исполнительных устройств и для контроллера. Правильно делать гальваническую развязку , например, при помощи оптопар(в сети полно схем).
Как минимум, вы можете попробовать улучшить ситуацию
- выполнив совет из поста # 3
- добавив конденсатор по питанию контроллера ~100uF
Перед прописью в аутпут запиши в порт единицу. Можно писать в порт в любое время. Выставлятся будет сразу после инициализации порта в аутпут.
Непонятно когда и как происходит подключение. На какие ноги подключен НС-6 и как он связан с 7 ногой?
открывается ком порт у вас ? и реле перезагружается ? надо наверное отключить перезагрузку DTR
void setup() {
// 1. Сразу устанавливаем пин в LOW перед инициализацией
digitalWrite(RELAY_PIN, LOW);
// 2. Устанавливаем режим пина
pinMode(RELAY_PIN, OUTPUT);
// 3. Еще раз подтверждаем состояние
digitalWrite(RELAY_PIN, LOW);
// 4. Длительная задержка для стабилизации
delay(3000); // 3 секунды
// 5. Только потом инициализируем Serial
Serial.begin(9600);
delay(100);
// 6. Принудительно выключаем реле на всякий случай
digitalWrite(RELAY_PIN, LOW);
}
А чо, вам шары хрустальные разрешили?
Проверю плату на перезапуск, если это действительно он, буду делать развязку. Но я просто логически не понимаю причину. Реле, ардуино и модуль блютуз подключены, запитаны и работают. Почему происходит просадка напряжения (и или перезапуск)при подключении ( начинает работать передача данных?) Но в дальнейшем это не повторяется все работает исправно. Кнопки включения и выключения отрабатывают стабильно. Более того отключение например блютуз на телефоне опять приводит к перещелкиванию (вкл выкл) реле
Программу покажи?
Никак он не связан с 7 ногой. На 7 ноге сигнал на включение реле. Блютуз модуль подвешен на rx tx.
Это можно понять только увидев как вы все собрали, об этом ни слова у вас.
Если на макетке хлипкими проводами то что угодно может случиться
Опять же от схемы подключения всего этого хозяйства тоже зависит.
А без этой информации можно только гадать.
Попробую. Спасибо.
Ну у меня действительно инициализация serial пункт 5 идет раньше чем pin mode. Поэтому попробую изменить
Проще один резистор кинуть…
Andrey12 для стабилизации орбит электронов, лишнее конечно, но пусть будет!))
Да проблема оказалась в самой программе. В программе написано в loop switch incomingByte case 71 включить case 70 выключить. Где разряд десятков соответствует номеру порта, а разряд единиц, что с ним нужно сделать. Видимо при подключении к телефону происходит обмен данными для установки соединения и программа среди этой служебной информации нашла команды 70 и 71. Буду переделывать.
