For coursework of group 3 in SOFT564Z
Dependencies: Motordriver ros_lib_kinetic
Battery_Monitor.cpp@2:b9a495b330fd, 2019-11-28 (annotated)
- Committer:
- firnenenrif
- Date:
- Thu Nov 28 13:04:30 2019 +0000
- Revision:
- 2:b9a495b330fd
- Child:
- 3:7da9888ac8dc
Added battery monitoring code;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
firnenenrif | 2:b9a495b330fd | 1 | #include "mbed.h" |
firnenenrif | 2:b9a495b330fd | 2 | |
firnenenrif | 2:b9a495b330fd | 3 | AnalogIn v_bat(PB_1); |
firnenenrif | 2:b9a495b330fd | 4 | AnalogIn v_5(PC_2); |
firnenenrif | 2:b9a495b330fd | 5 | AnalogIn v_3(PF_4); |
firnenenrif | 2:b9a495b330fd | 6 | //A2 and A3 for top and base battery charges respectively |
firnenenrif | 2:b9a495b330fd | 7 | //cut off voltage at 3.3v or higher - technical max is 4.2v, |
firnenenrif | 2:b9a495b330fd | 8 | //but there is no built-in hardware cutoff! |
firnenenrif | 2:b9a495b330fd | 9 | |
firnenenrif | 2:b9a495b330fd | 10 | //MON_VBATT PB_1 |
firnenenrif | 2:b9a495b330fd | 11 | //MON_5V0 PC_2 |
firnenenrif | 2:b9a495b330fd | 12 | //MON_3V3 PF_4 |
firnenenrif | 2:b9a495b330fd | 13 | |
firnenenrif | 2:b9a495b330fd | 14 | void battCheck(void); |
firnenenrif | 2:b9a495b330fd | 15 | |
firnenenrif | 2:b9a495b330fd | 16 | Ticker t1; |
firnenenrif | 2:b9a495b330fd | 17 | Serial pc(USBTX, USBRX); |
firnenenrif | 2:b9a495b330fd | 18 | |
firnenenrif | 2:b9a495b330fd | 19 | int main() { |
firnenenrif | 2:b9a495b330fd | 20 | t1.attach(&battCheck, 1.0); |
firnenenrif | 2:b9a495b330fd | 21 | while(1) { |
firnenenrif | 2:b9a495b330fd | 22 | //Do shit |
firnenenrif | 2:b9a495b330fd | 23 | } |
firnenenrif | 2:b9a495b330fd | 24 | } |
firnenenrif | 2:b9a495b330fd | 25 | |
firnenenrif | 2:b9a495b330fd | 26 | void battCheck(void) |
firnenenrif | 2:b9a495b330fd | 27 | { |
firnenenrif | 2:b9a495b330fd | 28 | float analogue5V = v_5.read(); |
firnenenrif | 2:b9a495b330fd | 29 | float analogue33V = v_3.read(); |
firnenenrif | 2:b9a495b330fd | 30 | float analogueValue = v_bat.read(); |
firnenenrif | 2:b9a495b330fd | 31 | pc.printf("Voltage readings are: VBATT: %f 5V0: %f 3V3: %f\n\r", analogueValue, analogue5V, analogue33V); |
firnenenrif | 2:b9a495b330fd | 32 | } |