Ohms law basic calculations for calculating R2 in voltage divider when R1 is known and to calculate voltage drop ratio when both R1 and R2 are known.

Committer:
joeata2wh
Date:
Mon Mar 07 23:27:37 2016 +0000
Revision:
0:fe642275688d
Child:
2:1c29960a42c6
Child:
3:b4592b0ae1e3
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joeata2wh 0:fe642275688d 1 #include "mbed.h"
joeata2wh 0:fe642275688d 2 //#include "ohms.h"
joeata2wh 0:fe642275688d 3
joeata2wh 0:fe642275688d 4
joeata2wh 0:fe642275688d 5 float volDivideCalcRatio(long r1, long r2) {
joeata2wh 0:fe642275688d 6 return ((float) r2 / (float) (r1 + r2));
joeata2wh 0:fe642275688d 7 }
joeata2wh 0:fe642275688d 8 float voltDivideAdjVolt(float vin, long r1, long r2) {
joeata2wh 0:fe642275688d 9 float ratio = ((float) r2 / (float) (r1 + r2));
joeata2wh 0:fe642275688d 10 return vin / ratio;
joeata2wh 0:fe642275688d 11 }
joeata2wh 0:fe642275688d 12
joeata2wh 0:fe642275688d 13
joeata2wh 0:fe642275688d 14
joeata2wh 0:fe642275688d 15
joeata2wh 0:fe642275688d 16 long calcResistV(long refResistR1, float maxV, float measuredV) {
joeata2wh 0:fe642275688d 17 float VDrop = maxV - measuredV;
joeata2wh 0:fe642275688d 18 float dropRatio = measuredV / VDrop;
joeata2wh 0:fe642275688d 19 return (long) (refResistR1 * dropRatio);
joeata2wh 0:fe642275688d 20 }
joeata2wh 0:fe642275688d 21
joeata2wh 0:fe642275688d 22
joeata2wh 0:fe642275688d 23 /*
joeata2wh 0:fe642275688d 24
joeata2wh 0:fe642275688d 25 adjVoltDivide::adjVoltDivide(long r1, long r2, float refVolt) {
joeata2wh 0:fe642275688d 26 _r1 = r1;
joeata2wh 0:fe642275688d 27 _r2 = r2;
joeata2wh 0:fe642275688d 28 _refVolt = refVolt;
joeata2wh 0:fe642275688d 29 _ratio = volDivideRatio(r1, r2);
joeata2wh 0:fe642275688d 30 }
joeata2wh 0:fe642275688d 31
joeata2wh 0:fe642275688d 32 float adjVoltDivide::read(AnalogIn apin) {
joeata2wh 0:fe642275688d 33 return apin.read() / _ratio;
joeata2wh 0:fe642275688d 34 }
joeata2wh 0:fe642275688d 35
joeata2wh 0:fe642275688d 36 uint16_t adjVoltDivide::read_u16(AnalogIn apin) {
joeata2wh 0:fe642275688d 37 return (int) ((float) apin.read_u16() / _ratio);
joeata2wh 0:fe642275688d 38 }
joeata2wh 0:fe642275688d 39
joeata2wh 0:fe642275688d 40 */