• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32 вольтметр

Vypra

Member
Попробовал сделать вольтметр на ESP32 чтоб отслеживать заряд аккумулятора 18650 до 4,2В.
На 34 пин вход через делитель 100К-10К.
Но при заряде батареи 3,7В показывает итоговое значение замера 2,2В. Сначала прыгали показания. подкинул 0,1мкф к пину, стало стабильней, но все же 2,2В.

Код:
#include <driver/adc.h>

float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // resistance of R1 (100K)
float R2 = 10000.0;  // resistance of R2 (10K)


void setup()
{
  Serial.begin(9600);
  adc1_config_width(ADC_WIDTH_BIT_12);
  adc1_config_channel_atten(ADC1_CHANNEL_6, ADC_ATTEN_DB_11);
}
void loop()
{
  delay(500);
  float value = adc1_get_raw(ADC1_CHANNEL_6);
 
  vout = (value * 3.3) / 4095.0;
  vin = (vout / (R2 / (R1 + R2)));
 
  Serial.println("Read ADC pin [" + String(ADC1_CHANNEL_6_GPIO_NUM) + "]: " + " [" + String(value) + "]" + " [" + String(vin) + "]");
}
Что не так?
 
Сверху Снизу