BatteryPanel
Revision 0:0da335319419, committed 2019-06-04
- Comitter:
- williequesada
- Date:
- Tue Jun 04 16:02:10 2019 +0000
- Commit message:
- compartir a Pablo
Changed in this revision
BatteryPanel.cpp | Show annotated file Show diff for this revision Revisions of this file |
BatteryPanel.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 0da335319419 BatteryPanel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BatteryPanel.cpp Tue Jun 04 16:02:10 2019 +0000 @@ -0,0 +1,82 @@ +#include "BatteryPanel.h" +#include "mbed.h" + +float ValorLectura; +float ValorCalculado; +float ValorCalculado2; +float ValorCalculado3; +int BatteryState=1; + +BATTERY_PANEL::BATTERY_PANEL(PinName AnalogBattery, PinName AnalogPanel, PinName Control) : _AnalogBattery(AnalogBattery), _AnalogPanel(AnalogPanel), _Control(Control) +{ + _Control = 0; +} + +float BATTERY_PANEL::BatteryRead() +{ + ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range) + ValorCalculado = ValorLectura*23; // Converts value in the 0V-3.3V range + return ValorCalculado; +} + +float BATTERY_PANEL::PanelRead() +{ + ValorLectura = _AnalogPanel.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range) + ValorCalculado = ValorLectura*23; // Converts value in the 0V-3.3V range + return ValorCalculado; +} + +float BATTERY_PANEL::BatteryAnalog() +{ + ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range) + ValorCalculado = ValorLectura*3.3; // Converts value in the 0V-3.3V range + return ValorCalculado; +} + +float BATTERY_PANEL::PanelAnalog() +{ + ValorLectura = _AnalogPanel.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range) + ValorCalculado = ValorLectura*3.3; // Converts value in the 0V-3.3V range + return ValorCalculado; +} + +int BATTERY_PANEL::Control() +{ + ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range) + ValorCalculado = ValorLectura*23; + + ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range) + ValorCalculado2= ValorLectura*23; + + ValorLectura = _AnalogBattery.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range) + ValorCalculado3 = ValorLectura*23; + + if(ValorCalculado2>ValorCalculado){ + ValorCalculado=ValorCalculado2; + } + if(ValorCalculado3>ValorCalculado){ + ValorCalculado=ValorCalculado3; + } + + if(ValorCalculado>15){ + _Control=0; + BatteryState=2; + } else if((ValorCalculado<=15)&&(ValorCalculado>=12)){ + _Control=1; + BatteryState=1; + } else if(ValorCalculado<12){ + _Control=1; + BatteryState=0; + } + return BatteryState; +} + +void BATTERY_PANEL::ControlOff(){ + _Control=0; +} + +void BATTERY_PANEL::ControlOn(){ + _Control=1; +} + +
diff -r 000000000000 -r 0da335319419 BatteryPanel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BatteryPanel.h Tue Jun 04 16:02:10 2019 +0000 @@ -0,0 +1,27 @@ + +#ifndef MBED_BATTERYPANEL_H +#define MBED_BATTERYPANEL_H + +#include "mbed.h" + +class BATTERY_PANEL { +public: + BATTERY_PANEL(PinName AnalogBattery, PinName AnalogPanel, PinName Control); + + float PanelRead(); + float BatteryRead(); + float PanelAnalog(); + float BatteryAnalog(); + int Control(); + void ControlOn(); + void ControlOff(); + +private: + AnalogIn _AnalogBattery; + AnalogIn _AnalogPanel; + DigitalOut _Control; +}; + +#endif + + \ No newline at end of file