Аналоговое чтение не работает при использовании WiFi
У меня есть ESP32, текущая программа, запущенная на нем, использует Wi-Fi, но если я использую Wi-Fi и аналоговое чтение одновременно, аналоговое чтение не работает.
Почему это происходит и как это обойти?
Аппаратное обеспечение - ESP32, вывод 25 для АЦП
Код-
#include <WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.begin("You really", "Want to know"); // Если эта строка закомментирована, то она работает
}
void loop() {
Serial.println(analogRead(25));
}
@Coder9390, 👍0
Обсуждение1 ответ
Лучший ответ:
ESP32 имеет два АЦП. Один из них, ADC2, активно используется Wi-Fi.
Из документации ЦАХАЛа:
Поскольку модуль ADC2 также используется Wi-Fi, только один из них может получить преимущество при совместном использовании, что означает, что adc2_get_raw() может быть заблокирован до тех пор, пока Wi-Fi не остановится, и наоборот.
Это означает, что вы не можете использовать АЦП ни на одном из каналов ADC2 при включенном Wi-Fi: GPIO4, GPIO0, GPIO2, GPIO15, GPIO13, GPIO12, GPIO14, GPIO27, GPIO25 и GPIO26.
Но вы можете использовать ADC1, который использует контакты GPIO36, GPIO37, GPIO38, GPIO39, GPIO32, GPIO33, GPIO34 и GPIO35.
- ESP32 чтение аналоговый 2,4 ГГц
- ESP32 - "Детектор Браунаута был активирован" при запуске Wi-Fi
- Контакты RX и TX на esp32
- Почему OTA не работает с платой ESP32-CAM Ai-Thinker?
- ESP32 открывает "captive portal" при подключении
- Автоматическая веб-страница ESP32 AP
- Чтение данных из Google Таблиц с помощью Nodemcu
- WiFiClient::connected() не работает
Что вы имеете в виду под “analogRead не работает”? Что происходит, когда вы пытаетесь считывать аналоговое значение с вывода? Пожалуйста, опишите настройку вашего оборудования и покажите код, демонстрирующий проблему., @StarCat
Когда используется Wi Fi значения analogRead остаются на уровне 0 независимо от того подключен ли он к 3,3 или 100 вольтам, @Coder9390
Это ненормальное поведение, так что, вероятно, оно вызвано вашей конкретной настройкой. Пожалуйста, предоставьте еще немного информации. А как насчет вашего кода и настройки оборудования? Используете ли вы правильный контакт(ы)? Если вы подключили аналоговый порт к 100 вольтам, вы, вероятно, убили свой ESP32., @StarCat
я обновлю вопрос кодом "100 Вольт", который должен был быть саркастичным, поскольку он показывает только 0 подключенных к любому напряжению, @Coder9390
Этот код является упрощенной версией, но проблема существует и здесь, @Coder9390
Пожалуйста, будьте конкретны в отношении оборудования. Здесь нет ничего, чем мы могли бы помочь. Возможно, имеет смысл устранить проблему с Wi-Fi; без какого-либо контекста я предполагаю, что это либо сбой, либо цикл., @Dave Newton
Модуль Esp32 Wroom в форм-факторе nodemcu, больше ничего, @Coder9390
.. Можете ли вы предоставить схему? И будьте *конкретны* насчет трех советов? Обобщения не помогают при обсуждении конкретных вопросов. Wi-Fi обычно не отключал аналог, поэтому я подозреваю проблему инициализации. Вы использовали Wi-Fi *без* чего-либо еще?, @Dave Newton