バッテリーの残量を見られたらいいなあと思って作りました

battery_monitoring.hpp

Committer:
Gaku0606
Date:
2017-03-05
Revision:
0:c5746f241457

File content as of revision 0:c5746f241457:

#ifndef BATTERY_MONITORING_HPP
#define BATTERY_MONITORING_HPP
/**
*  @bref バッテリー電圧クラス
*/
class battery_monitoring{
    
   public:

        battery_monitoring(float minV, float maxV, PinName pin);
   private:
        float _minV;
        float _maxV;
        AnalogIn _analog;
   public:
        float batteryLevel(); 
        float debug();
};

battery_monitoring::battery_monitoring(float minV, float maxV, PinName pin) : _analog(pin){
    _minV = minV;
    _maxV = maxV;   
}

float battery_monitoring::batteryLevel(){
    float v = 0;
    v = _analog.read();
    for(int i = 0; i < 1000; i++){
        v = (v + _analog.read()) / 2.0f;
    }
    v = 3.3f * v;
    return (v - _minV) / ( _maxV - _minV);
}   

float battery_monitoring::debug(){
    return _analog.read();   
}
#endif