Добрый день. Делаю простейшую схемку для контроля напряжения батареи. На входе аналогового контакта стоит делитель 1/2 (2 резистора по 22К). Батарея - 4 аккумулятора по 1,5 В. На данный момент дают 5В. Когда проверяю напряжение вольтметром, то на выходе делителя четко показывает 2,5В. Когда проверяю из программы, то идет 2.7 - 2.8В. Т.е. завышение аж на 0.3В. Не понимаю, почему. Может чего подскажете? С чем это связано? Вот скетч. Ничего экстраординарного. Код (C++): #define pinPWR A6 //Номер вывода датчика заряда батареи float DCcost = 5.0/1023.0; void setup() { Serial.begin(9600); while(!Serial){ }; Serial.println("Ready"); } void loop() { int val = analogRead(pinPWR); float PWRval = val*DCcost; Serial.print("Power: "); Serial.print(val); Serial.print(" / "); Serial.print(DCcost, 6); Serial.print(" = "); Serial.println(PWRval, 1); }
Спасибо за ссылку. Читал запоем. Заработало. Несколько расстраивает необходимость подгонки константы для конкретного устройства. Хочу попробовать с внешним опорным напряжением.