app6

Dependencies:   mbed

Committer:
joGenie
Date:
Tue Apr 01 14:08:27 2014 +0000
Revision:
1:770d7fd69e4f
Parent:
0:ac91697dd6e0
New Version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RufflesAllD 0:ac91697dd6e0 1 #include "mbed.h"
RufflesAllD 0:ac91697dd6e0 2
RufflesAllD 0:ac91697dd6e0 3 AnalogIn in(p20);
RufflesAllD 0:ac91697dd6e0 4 Serial pc(USBTX, USBRX);
RufflesAllD 0:ac91697dd6e0 5
joGenie 1:770d7fd69e4f 6 double facteur[6] = { 111.38, 0.1759, 0.0002, -1*pow(10, -7), 4*pow(10, -11), -4*pow(10, -15) }
joGenie 1:770d7fd69e4f 7
joGenie 1:770d7fd69e4f 8 unsigned short calculDistance(unsigned short volt)
joGenie 1:770d7fd69e4f 9 {
joGenie 1:770d7fd69e4f 10 unsigned short distance;
joGenie 1:770d7fd69e4f 11
joGenie 1:770d7fd69e4f 12 for (int i = 0; i < 5; i++)
joGenie 1:770d7fd69e4f 13 distance += facteur[i]*pow(volt, i);
joGenie 1:770d7fd69e4f 14
joGenie 1:770d7fd69e4f 15 return distance;
joGenie 1:770d7fd69e4f 16 }
joGenie 1:770d7fd69e4f 17
RufflesAllD 0:ac91697dd6e0 18 int main()
RufflesAllD 0:ac91697dd6e0 19 {
RufflesAllD 0:ac91697dd6e0 20 unsigned short volt;
RufflesAllD 0:ac91697dd6e0 21 int d;
RufflesAllD 0:ac91697dd6e0 22
RufflesAllD 0:ac91697dd6e0 23 while(1)
RufflesAllD 0:ac91697dd6e0 24 {
RufflesAllD 0:ac91697dd6e0 25 volt = in.read_u16();
joGenie 1:770d7fd69e4f 26 d = calculDistance(volt);
RufflesAllD 0:ac91697dd6e0 27 pc.printf("V: %d, d: %d", volt, d);
RufflesAllD 0:ac91697dd6e0 28 wait(0.1);
RufflesAllD 0:ac91697dd6e0 29 }
RufflesAllD 0:ac91697dd6e0 30 }