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:
Sat Apr 02 03:48:37 2016 +0000
Revision:
3:b4592b0ae1e3
Parent:
0:fe642275688d
basic data log working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joeata2wh 0:fe642275688d 1 #include "mbed.h"
joeata2wh 3:b4592b0ae1e3 2
joeata2wh 3:b4592b0ae1e3 3 /* By Joseph Ellsworth CTO of A2WH
joeata2wh 3:b4592b0ae1e3 4 Take a look at A2WH.com Producing Water from Air using Solar Energy
joeata2wh 3:b4592b0ae1e3 5 March-2016 License: https://developer.mbed.org/handbook/MIT-Licence
joeata2wh 3:b4592b0ae1e3 6 Please contact us http://a2wh.com for help with custom design projects.
joeata2wh 3:b4592b0ae1e3 7
joeata2wh 0:fe642275688d 8
joeata2wh 3:b4592b0ae1e3 9 */
joeata2wh 3:b4592b0ae1e3 10
joeata2wh 3:b4592b0ae1e3 11 #include "ohms.h"
joeata2wh 0:fe642275688d 12
joeata2wh 0:fe642275688d 13 float volDivideCalcRatio(long r1, long r2) {
joeata2wh 0:fe642275688d 14 return ((float) r2 / (float) (r1 + r2));
joeata2wh 0:fe642275688d 15 }
joeata2wh 0:fe642275688d 16 float voltDivideAdjVolt(float vin, long r1, long r2) {
joeata2wh 0:fe642275688d 17 float ratio = ((float) r2 / (float) (r1 + r2));
joeata2wh 0:fe642275688d 18 return vin / ratio;
joeata2wh 0:fe642275688d 19 }
joeata2wh 0:fe642275688d 20
joeata2wh 0:fe642275688d 21
joeata2wh 0:fe642275688d 22 long calcResistV(long refResistR1, float maxV, float measuredV) {
joeata2wh 0:fe642275688d 23 float VDrop = maxV - measuredV;
joeata2wh 0:fe642275688d 24 float dropRatio = measuredV / VDrop;
joeata2wh 0:fe642275688d 25 return (long) (refResistR1 * dropRatio);
joeata2wh 0:fe642275688d 26 }
joeata2wh 0:fe642275688d 27
joeata2wh 0:fe642275688d 28
joeata2wh 0:fe642275688d 29 /*
joeata2wh 0:fe642275688d 30
joeata2wh 0:fe642275688d 31 adjVoltDivide::adjVoltDivide(long r1, long r2, float refVolt) {
joeata2wh 0:fe642275688d 32 _r1 = r1;
joeata2wh 0:fe642275688d 33 _r2 = r2;
joeata2wh 0:fe642275688d 34 _refVolt = refVolt;
joeata2wh 0:fe642275688d 35 _ratio = volDivideRatio(r1, r2);
joeata2wh 0:fe642275688d 36 }
joeata2wh 0:fe642275688d 37
joeata2wh 0:fe642275688d 38 float adjVoltDivide::read(AnalogIn apin) {
joeata2wh 0:fe642275688d 39 return apin.read() / _ratio;
joeata2wh 0:fe642275688d 40 }
joeata2wh 0:fe642275688d 41
joeata2wh 0:fe642275688d 42 uint16_t adjVoltDivide::read_u16(AnalogIn apin) {
joeata2wh 0:fe642275688d 43 return (int) ((float) apin.read_u16() / _ratio);
joeata2wh 0:fe642275688d 44 }
joeata2wh 0:fe642275688d 45
joeata2wh 0:fe642275688d 46 */