Определение питающего напряжения

Для контроля расхода батареи нужно контролировать падение напряжения на источнике питания,
можно делать так

void setup() 
{
  Serial.begin(115200);
}

void loop() 
{
  double Value = readVcc()/100.;
  Serial.println(Value);
  delay(100);
}



int readVcc() 
{
  ADMUX = (1<<REFS0) | (1<<MUX3) | (1<<MUX2) | (1<<MUX1); 
  delay(10);
  ADCSRA |= _BV(ADSC);
  while (ADCSRA & (1<<ADSC)); 
  uint8_t low  = ADCL; 
  uint8_t high = ADCH;
  long result = (high<<8) | low;
  result = 1125300L / result /10 ; // Calculate Vcc (in mV); 1125300 = 1.1*1023*100 0
  return result; 
}
Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.