• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Как правильно задавать пины ESP8266 NodeMCU в скече?

CodeNameHawk

Moderator
Команда форума
Проще всего найти ошибку это проверить работу отдельных кусков скетча, убрав остальной код.
После этого, если все работает по отдельности, к одному куску добавляете второй кусок, если работает - добавляете следующий кусок, если перестало работать, разбиваете кусок на более мелкие куски, нп. добавили код для работы с сд, перестало работать, тогда из кода сд оставляете только ее инициализацию, все остальное отключаете, смотрите результат анализируете. Далее думаю понятно что делать, если нет, то нанимаете программиста, который будет что то похожее делать.
 

CodeNameHawk

Moderator
Команда форума
Да я пошагово разбирался в чем дело и дошел до вывода на экран информации. И тут увидел время.
Добавьте в код проверку значение времени на допустимое значение, так быстрее увидите после чего сбивается время.
Прочитали время из микросхемы, если оно не правильное - выдали тревогу.
Ввели время вручную - проверка и так во всех местах, где используете время.
 
Попробую в субботу.
Больше всего расстраивает, что ведь не менял я код касающийся времени. Да, добавилась SD карта, но со временем она нигде не завязана. И физически на плате все правильно. Тоже ведь не перепаивал ничего.
Все-таки меня заботит то что у меня выход на матрицу задан как 4 (D4) хотя он подключен к GPIO2. И ведь все остальные пины заданы по номерам GPIO. Но этот через 2 не работает. Только если просто 4 написать. А ведь как раз I2C, на котором часы работают подключен SDA к GPIO4. Нет ли тут какого пересечения. Хотя ведь так работало уже 2 года. Ну тут можт какие версии обновились.
 

CodeNameHawk

Moderator
Команда форума
Да именно 4. Но так работало 2 года. И если вывод на дисплей задать как положено как 2, то он не работает! Как выйти из этой ситуации?
 

ghost21

Member
Как выйти из этой ситуации?
Как минимум - для облегчения работы местных экстрасенсов привести схему, фото платы и, если не весь сИкретный код, то хотя бы его кусок где видно описание пинов. Как максимум - вызвать шамана с бубном.
И какая плата выбрана при компиляции?
 
Картинка распиновки платы что-то не хочет грузится, говорит УПС, чтото пошло не так! :)
Вот тут есть распиновка да и собственно в инете полно опубликовано распиновок NodeMCU.
Кода очень много, страниц на 8, да и собственно вопрос то не в коде, а почему GPIO2 не работает, если задать как 2, а работает только если задать как 4 (от D4). При чем я 2 разные платы NodeMCU пробовал.
При компиляции NodeMCU 1.0 (кажется) и выбрана.
 

CodeNameHawk

Moderator
Команда форума
почему GPIO2 не работает, если задать как 2
Именно так он и работает. Но есть особенность, как его надо использовать.
работает только если задать как 4 (от D4).
А так (опять если говорим о 4) то GPIO2 к нему не контачит.
 
Я это понимаю. Но имею матрицу подключенную к GPIO2 и задающуюся в скетче как 4. И ведь работает. А если задать правильно как 2, то не работает. Блин, как схему приложить. Не прикладываются картинки и требований к картинкам не вижу.
 
Что ну и? Код 8 листов прикладывать? Ну это только вечером. На работе его у меня нет.
Да и вы думаете, что из кода станет понятно, почему у меня матрица, прикрепленная к GPIO2 работает в скетче в котором она к 4 прикреплена?
 

CodeNameHawk

Moderator
Команда форума
На Gpio5 и Gpio4 находится аппаратный I2C, поэтому просто так вывод поменять на другой нельзя.
 
А там нет больше 3В. Я рассчитывал этот резюк. Там все работает.
Работает мс часов?
Таки вот в чем и дело. Схема то осталась как была. Добавилась SD карта. И часы работали. Может сама микруха сдохла когда я паяльником лазил? Да мне кажется еслиб она сдохла она бы ничего не выдавала. Я с таким сталкивался уже с этой микросхемой. Когда скажем в другом устройстве питал ее от 3,3 вольтового аккумулятора. Она то работала, то выдавала эти страшные цифры. Но тут стабильно 5В.
 
Сверху Снизу