Здравствуйте. Имеется 2 esp32 c алиэкспресса. Так как имел дело только с ардуинами и esp8266, решил проверить работу аналоговых входов таким скетчем в среде ArduinoIDE: Спойлер Код (C++): const int potPin36 = 36; const int potPin39 = 39; const int potPin34 = 34; const int potPin35 = 35; const int potPin32 = 32; const int potPin33 = 33; const int potPin25 = 25; const int potPin26 = 26; const int potPin27 = 27; const int potPin14 = 14; const int potPin12 = 12; const int potPin13 = 13; int potValue36 = 0; int potValue39 = 0; int potValue34 = 0; int potValue35 = 0; int potValue32 = 0; int potValue33 = 0; int potValue25 = 0; int potValue26 = 0; int potValue27 = 0; int potValue14 = 0; int potValue12 = 0; int potValue13 = 0; void setup() { Serial.begin(115200); delay(1000); } void loop() { potValue36 = analogRead(potPin36); potValue39 = analogRead(potPin39); potValue34 = analogRead(potPin34); potValue35 = analogRead(potPin35); potValue32 = analogRead(potPin32); potValue33 = analogRead(potPin33); potValue25 = analogRead(potPin25); potValue26 = analogRead(potPin26); potValue27 = analogRead(potPin27); potValue14 = analogRead(potPin14); potValue12 = analogRead(potPin12); potValue13 = analogRead(potPin13); Serial.print("36 = "); Serial.println(potValue36); Serial.print("39 = "); Serial.println(potValue39); Serial.print("34 = "); Serial.println(potValue34); Serial.print("35 = "); Serial.println(potValue35); Serial.print("32 = "); Serial.println(potValue32); Serial.print("33 = "); Serial.println(potValue33); Serial.print("25 = "); Serial.println(potValue25); Serial.print("26 = "); Serial.println(potValue26); Serial.print("27 = "); Serial.println(potValue27); Serial.print("14 = "); Serial.println(potValue14); Serial.print("12 = "); Serial.println(potValue12); Serial.print("13 = "); Serial.println(potValue13); Serial.println(" "); delay(1000); } Когда пины висят в воздухе, монитор порта выдает такие значения: Спойлер 36 = 0 39 = 0 34 = 0 35 = 109 32 = 398 33 = 174 25 = 4095 26 = 4095 27 = 4095 14 = 4095 12 = 4095 13 = 4095 Проблема заключается в том, что на первой espшке (та что с type-c) при подаче GND на входы 25, 26, 27, 14, 12, 13 в мониторе порта вместо нулевого значения, показатели прыгают от 10 до 60 едениц. На остальных входах все хорошо: подаешь 3.3 - получаешь 4095, соеденяешь с GND - получаешь 0. На другой esp32 таких проблемм нет. Из-за чего такое может быть и можно ли как то решить эту проблемму?
Когда пины висят в воздухе, порт может выдавать любые значения, это совершенно нормально. Или в чем вопрос?
Я же все в топике описал: при подаче GND на входы 25, 26, 27, 14, 12, 13 в мониторе порта вместо нулевого значения, показатели прыгают от 10 до 60 едениц
Нет. Правильно - понять как работает ADC ESP32 и в чем отличие от АТМеги. Русский перевод по ссылке выше.