8266 AnalogRead(A0) всегда 1024
уважаемый участник. У меня есть 4 ESP-12, все в порядке, но один чип ведет себя странно. всегда возвращать 1024 в AnalogRead(A0); один раз использовать ADC_MODE(ADC_VCC) и перепрошить с помощью ADC_MODE(ADC_TOUT); и никогда не вернется в норму, это ошибка моего чипа..?
FM 4MB
АрдуиноIDE 1.8.13
115 200 руб.
ПС 80МГц
int iVal = 0;
void setup() {
Serial.begin(115200);
delay(999);
pinMode(A0,INPUT) ;
pinMode(LED_BUILTIN, OUTPUT);
}
// процедура цикла выполняется снова и снова навсегда:
void loop() {
iVal=analogRead(A0);
Serial.println(iVal);
if (iVal > 900) digitalWrite(LED_BUILTIN,HIGH);
else digitalWrite(LED_BUILTIN,LOW);
delay(720);
}
@Rendra_HMD, 👍2
Обсуждение1 ответ
Лучший ответ:
Сначала убедитесь, что напряжение на аналоговом входе меньше 1 В и больше нуля, что соответствует диапазону входного сигнала. Если ничего не подключено, нет гарантии, что вы получите. Просто предположение, без схемы или определения.
У меня есть делитель напряжения, также тест мультиметра, пытающийся измерить 0,6 вольта, все еще возвращает 1024. также вход 0,8 вольта и измерение после того, как делитель напряжения получает 0,2 вольта, все еще возвращает 1024., @Rendra_HMD
Я предполагаю, что вы говорите, что получаете показания 0,6 В на выводе с помощью мультиметра, если это так, учтите тост устройства. Вероятно, подходит для цифрового использования, но для аналого-цифрового преобразования вам понадобится другая плата. Единственный реальный тест — попробовать другую плату или добавить внешний аналого-цифровой преобразователь., @Gil
согласен с тобой @Gil, я заказал другую плату, отпусти эту или используй без АЦП. кажется, что АЦП моей платы был перегружен ... потому что странно при тестировании: вывод АЦП плавающий (без связи), измерение с помощью вольтметра всегда 2,8 Вольт, @Rendra_HMD
На самом деле вы проделали хорошую работу и большую часть работы. Эти вещи очень трудно диагностировать, если они не находятся на лабораторном столе перед вами., @Gil
- ESP8266: system_adc_read_fast() всегда возвращает 1024
- Arduino/ESP8266 нет данных SPI, поступающих от MCP3008
- Где определение system_adc_read() в коде esp8266 Arduino?
- Любой способ использовать DMA для передачи данных на SD - карту в ESP8266
- ADS1115, ACS712 и ESP8266
- Измерение уровня заряда батареи с уже используемым АЦП
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
ADC_MODE (ADC_TOUT); по-прежнему возвращать 1024 для AnalogRead(A0); в то время как другие 3 чипа просто отлично, @Rendra_HMD
Если 4 устройства работают правильно, а 1 устройство не работает с одной и той же программой, видимо есть аппаратная разница. Проверьте на наличие коротких замыканий, обрывов проводов, плохой пайки и так далее. Возможно, у вас даже есть неисправное устройство., @the busybee
Мне кажется, что АЦП был перегружен, а диод защиты от электростатического разряда вышел из строя., @Majenko
@ Маженко, так что, я должен отпустить это? ты прав. однажды у меня была авария с переключателем питания между vcc и землей около 2 минут. это проблема? и как принять ваш комментарий как решенный?, @Rendra_HMD