Какие входные контакты я могу использовать на ESP8266 NodeMCU

На ESP8266 NodeMCU у меня есть GPIO2 , GPIO3 , GPIO1 , GPIO9 бесплатно, но когда я назначаю их кнопке, они не работают. Я предполагаю, что это потому, что эти контакты имеют другую функцию за ними. Когда я посмотрел на схему, я обнаружил, что это TXD1, RXD0, TXD0 и SSD2. Есть ли способ по-прежнему использовать эти контакты в качестве входов?

Если нет, то могу ли я использовать Arduino Uno для своих входов и посылать сигналы оттуда на аналоговый вывод моего NodeMCU ESP8266 для подключения к серверу MQTT?

Для записи используются все мои другие контакты, поэтому я не могу использовать любой другой входной контакт, кроме этих 4.

, 👍0

Обсуждение

самые безопасные контакты для использования - это 4, 5, 12, 13, 14, а затем 16. 0, 2 и 15 могут быть безопасны в использовании до тех пор, пока вы понимаете, что обычная загрузка должна иметь 15 низких и 0 и 2 высоких-так что, если у вас есть подтягивающий резистор на 0 и 2, и кнопка замыкается на землю при нажатии, и оттягивающий резистор на 15, и кнопка замыкается на vcc при нажатии, у вас не должно быть никаких проблем с использованием этих контактов., @Jaromanda X

забыл упомянуть, что все платы, которые я использовал (ESP07/12E/12F), уже имеют выдвижной резистор на GPIO15 - так что проверьте, прежде чем добавлять еще один, @Jaromanda X

@JaromandaX Я использовал ваш метод с подтягивающими резисторами для контактов 0 и 2, и это сработало, спасибо большое. У меня есть еще 1 вопрос о вашем ответе в другой команде о GPIO9 и GPIO10 . 10 работает нормально, но 9-нет, он не работает как выход или вход. Мне не нужен 9-й, но мой вопрос заключается в том, безопасен ли pin GPIO10 для кнопки, потому что 9 и 10 являются выводами SSD. *Все остальные контакты, о которых вы упомянули, используются, я должен был подумать об этом в начале моего проекта :D, @achahbar

Стол в https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/ может помочь, @Michel Keijzers


1 ответ


1

GPIO2-это NodeMCU D4, который является U1TXD, передача для второго UART, обычно доступна. GPIO3-это NodeMCU U0RXD, прием для первого UART, обычно доступен, если вы не используете последовательный. GPIO1-это NodeMCU U0TXD, передача для первого UART, обычно доступна, если вы не используете последовательный. GPIO9 является SPIHD NodeMCU и недоступен, так как он необходим для флэш-памяти. Все это хорошо задокументировано во многих местах. Вы можете легко использовать последовательный режим для перемещения данных между модулями или мультиплексировать входные данные в один модуль. Без более подробной информации невозможно дать много информации.

,

Спасибо вам за разъяснение выводов и ваш ответ. Проблема , с которой я сталкиваюсь с этими контактами, заключается в том, что, когда мой esp8266 находится во флэш-режиме (при загрузке и при загрузке), не может быть кнопки, подключающейся к этим контактам, когда он завершит загрузку /загрузку. Входные контакты работают идеально. Есть ли что-то в моем коде, что я могу сказать esp8266, чтобы он не проверял эти порты при загрузке. или другие решения., @achahbar

на nodemcu, похоже, доступны GPIO9(11) и GPIO10(12) - (номер индекса ввода-вывода mcu узла в скобках), возможно, только SDD0 и SDD1 подключены к флэш-памяти., @Jaromanda X

@JaromandaX в соответствии с [этой схемой контактов для NodeMCU](https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP8266-NodeMCU-kit-12-E-pinout-gpio-pin.png?ssl=1), GPIO10 также идентифицируется как **SDD3**, а GPIO9 идентифицируется как **SDD2**. Я думаю, что эти контакты могут быть связаны с подключением к флэш-памяти? Я видел предположения, что это может быть used но ничего определенного. Хотел бы я сам это знать., @S. Imp

@S. Imp - если вы используете режим прошивки DOUT или DIO, то GPIO9/10 "доступны" - это (возможно) верно для ЛЮБОЙ платы разработчика esp8266 (которая выводит эти контакты, т. Е. Не ESP01) - однако я читал, что они могут "надежно" использоваться только для ВЫХОДА или ВХОДА (извините, не помню, для чего, и прошли ГОДЫ с тех пор, как я беспокоился о таких вещах). Конечно, я также читал, что некоторые GPIO являются "лучшими" для ВХОДА, а другие "лучшими" для ВЫХОДА, и еще другие, которые могут пойти в любом случае - хотя, честно говоря, насколько мне известно, у любого GPIO действительно нет ограничений в отношении его направления, @Jaromanda X