Сброс мастера NodeMCU с ведомого устройства Arduino
Я разработал PWS (персональную метеостанцию), которая будет размещена в труднодоступном месте. В случае сбоя ведущего и отсутствия запросов от ведомого в течение определенного времени (протокол поддержания активности), можно ли сбросить ведущее устройство с ведомого, подав питание на цифровой контакт?
Обратите внимание, я импровизировал схему понижения напряжения, чтобы на выходе Arduino Nano D7 (или на любом другом цифровом выводе) напряжение 5 В можно было понизить до 3,3 В.
@tony gil, 👍0
Обсуждение2 ответа
Лучший ответ:
Нет необходимости в делителе напряжения или преобразовании уровня на выводе сброса esp8266. Esp8266 имеет внутренний подтягивающий контакт сброса. Для сброса esp8266 контакт сброса должен быть подключен к земле на очень короткое время.
Чтобы перевести контакт сброса в НИЗКИЙ контакт с контактом другого MCU, мы делаем:
void resetEsp() {
pinMode(ESP_RESET_PIN, OUTPUT);
delay(1);
pinMode(ESP_RESET_PIN, INPUT);
}
ESP_RESET_PIN — это контакт, подключенный к контакту сброса esp8266. Он не настраивается в setup()
и никогда не устанавливается HIGH
(мы не хотим отправлять 5 В на esp8266). Установка ESP_RESET_PIN на OUTPUT
соединяет его с землей, установка обратно на INPUT
возвращает управление линией внутреннему подтягивающему контакту сброса esp8266.
не уверен, что понимаю проводку. Означает ли это, что мой цифровой выход Arduino (MCU) подключен непосредственно к выводу RST NodeMCU? Если нет, не могли бы вы опубликовать диаграмму Fritzing? UPVOTED
ожидает уточнения для возможного ACCEPT AS CORRECT ANSWER
., @tony gil
Я отправляю Fritzing в качестве ответа, пожалуйста, прокомментируйте, правильно это или неправильно. Голосуйте (за или против), если хотите., @tony gil
да прямое подключение, потому что со стороны Nano никогда не бывает 5 В. он тянет только сброс LOW, @Juraj
ПРИНЯТО, спасибо!!, @tony gil
Согласно подтверждению Юрая, это будет правильная проводка для его ответа:
смысл сброса с другого MCU не в проводке, а в коде., @Juraj
так что моя исходная схема правильная, с делителем напряжения?, @tony gil
Я удалил свои комментарии о преобразовании уровней в I2C, следуя объяснению Маженко здесь: https://arduinoprosto.ru/q/67461/arduino-slave-with-2-masters-sharing-the-same-i2c-bus/67462? noredirect=1#comment145475_67462, @Juraj
как я пишу в ответе, вам не нужен делитель напряжения при сбросе, потому что ему нечего делить. никогда не бывает 5 В, @Juraj
то есть эта проводка подойдет?, @tony gil
да. конечно, существует риск того, что какой-то другой непреднамеренно загруженный в Nano скетч установит контакт как выходной высокий уровень., @Juraj
- NodeMCU - Vin контакт как выход 5V?
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
- Разве в узле MCU v3 (LoLin) нет встроенного светодиода?
- Разница между этими двумя платами NodeMCU?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Как определить размер Flash?
- Использование датчика рН 5В с узлом 3,3В
для меня это не сработало для Wemos D1 mini. с переключателем уровней все заработало. Я не знаю почему. но у вас также должен быть переключатель уровня для esp8266 RX, @Juraj
хочешь уточнить ответ? Спасибо @Juraj, @tony gil
Я планирую эксперименты с проводкой esp-01S в эти выходные, и сброс esp8266 с Arduino — одна из целей., @Juraj
«RST» (контакт сброса) должен работать, попробуйте без другого устройства, чтобы увидеть, действительно ли он сбрасывается., @Paul
@Юрай да чувак! подскажите как дела, пожалуйста! Вы хотите, чтобы я разместил где-нибудь эту странную диаграмму как fzz?, @tony gil