Исчерпание GPIO и поиск предложений
Я работаю над проектом, используя NodeMCU, и у меня быстро заканчиваются контакты GPIO. Я пытаюсь решить, каким путем пойти, чтобы завершить это.
Прямо сейчас у меня есть MCU, подключенный к термопаре MAX31856 PT100 (SPI), выходу PWM, транзистору (действующему как переключатель), одной кнопке и одному светодиоду. Мне нужно добавить как минимум еще 2 MAX31856, дисплей (либо I2C, либо SPI) и поворотный энкодер/кнопку.
Я изучил расширители GPIO, но сомневаюсь, что доступные библиотеки для дополнительного оборудования будут работать через расширители. У меня есть Mega, которая без сомнения будет работать, но тогда у меня будут проблемы с WiFi & MQTT. Я посмотрел на Mega со встроенным Wi-Fi, но я так запутался, читая, как его программировать, настраивать DIP-переключатели и т. д., что это не кажется правильным выбором.
Кто-нибудь может подсказать?
@Malaki86, 👍0
Обсуждение1 ответ
Мне приходят в голову два основных решения:
- Расширитель GPIO (как вы упомянули). Их действительно легко использовать в качестве цифровых входов или выходов. Таким образом, вы можете подключить кнопку, светодиод, транзистор и, возможно, даже дисплей (вы не указали тип дисплея, поэтому я предполагаю, что это стандартный ЖК-дисплей 1602 или 2004 года). Также к расширителю можно подключить сигналы SPI-CS, но это зависит от используемых библиотек...
- Вспомогательный Arduino, например, Nano. Arduino можно использовать для измерения температуры и прочего, а NodeMCU — для связи. В этом случае вам необходимо реализовать какую-либо связь между этими двумя платами (SPI, I2C или UART).
- NodeMCU - Vin контакт как выход 5V?
- ESP8266 не подключается к Wi-Fi
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- WebSocketsServer.h: No such file or directory
- Каково использование зарезервированных контактов и контактов SDD2, SDD3 NodeMCU?
- Как получить текущий уровень сигнала WiFi?
- Обнаружение ESP8266 в сети
- Какие входные контакты я могу использовать на ESP8266 NodeMCU
MAX31856 — это SPI, поэтому используйте дисплей SPI., @Juraj
Я бы переместил менее используемое интерфейсное оборудование в приложение, чтобы снизить стоимость и освободить контакты. я бы также использовать i2c все. Вы можете использовать GPIO10 в качестве входа. вы можете использовать A0 для кнопки. Вы можете использовать GPIO3 для ввода и GPIO1 для вывода, если вы не используете Serial. Вы можете использовать GPIO0 для кнопки поворотного энкодера, если она никогда не нажималась при загрузке., @dandavis