Контакты A1-A5, не объявленные в этой области, ошибка

Когда я устанавливаю на своей плате значение "Универсальный модуль ESP8266", тогда работает только вывод A0 arduino, в то время как все остальные аналоговые контакты выходят за рамки, когда я устанавливаю плату на "arduino / genuino uno",
затем "Ошибка компиляции для платы Arduino / Genuino Uno". эта ошибка появляется как настроить плату так, чтобы все аналоговые контакты с ESP8266 работали? [When board is set to Arduino/Genuino Uno

When board is set to Generic ESP8266 module

, 👍2

Обсуждение

Насколько мне известно, ESP8266 имеет только 1 аналоговый входной контакт, поэтому остальные, находящиеся вне поля зрения, абсолютно верны, потому что они просто не существуют на этой плате, @chrisl

и для какой платы вы хотите скомпилировать и загрузить?, @Juraj


1 ответ


1

Если вы посмотрите на схему распиновки ESP8266 (например, здесь), вы найдете только 1 аналоговый вход: A0. Это потому, что ESP8266 просто имеет 1 аналоговый вход. IDE Arduino указывает, что A1-A5 выходят за рамки, потому что на этой плате эти входы просто не существуют. Это совершенно верно.

Также: когда вы пытаетесь скомпилировать код, предназначенный для ESP, для платы Arduino Uno, он, естественно, потерпит неудачу, потому что это просто другое оборудование. Базовый код ESP просто не может выполняться на Uno.

Вам нужно будет скомпилировать код для платы, которую вы на самом деле хотите использовать, И вы можете использовать только коды / библиотеки, предназначенные для вашей платы. Вы не можете смешивать их в целом. Только некоторые функции могут быть переданы (если это так, это будет непросто), и Wi-Fi определенно не подходит для передачи в Uno, у которого нет для этого оборудования.

,

спасибо за вашу помощь, есть ли какой-нибудь способ, которым я могу использовать два аналоговых вывода на arduino, а также использовать Wi-Fi и подключаться к Интернету, @Lakhan Malviya

Вы можете попытаться мультиплексировать один аналоговый вывод, подключая к входу только 1 аналоговый сигнал одновременно (например, переключаемый через MOSFET выводом GPIO). Затем вам нужно активировать этот входной сигнал с помощью кода, выполнить измерение с помощью АЦП, переключиться на второй входной сигнал и выполнить измерение и там. В зависимости от того, что вы хотите подключить к аналоговому контакту, также может быть возможно одновременное питание только одного из датчиков., @chrisl

Или вы можете вместо этого использовать ESP32, который, по-видимому, имеет 2 отдельных АЦП, каждый из которых имеет много полезных контактов., @chrisl

используйте два аналоговых вывода на arduino вам только что сказали, что ESP8266 имеет только один, @Jaromanda X