Basic library for Pololu's Sharp GP2Y0A51SK0F
Dependencies: mbed
Dependents: GrabTest R5 2016 Robotics Team 1
DistanceSensor.cpp@2:6ebd72287e97, 2016-04-08 (annotated)
- Committer:
- j_j205
- Date:
- Fri Apr 08 01:35:57 2016 +0000
- Revision:
- 2:6ebd72287e97
- Parent:
- 1:8db052ec94f1
latest localization
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Hypna | 0:d03df6dd14d6 | 1 | #include "DistanceSensor.h" |
Hypna | 0:d03df6dd14d6 | 2 | #include <cmath> |
Hypna | 0:d03df6dd14d6 | 3 | |
Hypna | 1:8db052ec94f1 | 4 | DistanceSensor::DistanceSensor(PinName ai, int profNum) : voltage(ai) |
Hypna | 1:8db052ec94f1 | 5 | { |
Hypna | 1:8db052ec94f1 | 6 | if(profNum > -1 && profNum < 4) |
Hypna | 1:8db052ec94f1 | 7 | prof = profNum; |
Hypna | 1:8db052ec94f1 | 8 | else |
Hypna | 1:8db052ec94f1 | 9 | prof = 1; |
Hypna | 1:8db052ec94f1 | 10 | } |
Hypna | 0:d03df6dd14d6 | 11 | |
Hypna | 1:8db052ec94f1 | 12 | double DistanceSensor::getDistance() |
Hypna | 0:d03df6dd14d6 | 13 | { |
Hypna | 1:8db052ec94f1 | 14 | double v = voltage.read(); |
Hypna | 1:8db052ec94f1 | 15 | double dist; |
Hypna | 1:8db052ec94f1 | 16 | double k1 = 1.1577767608; |
Hypna | 1:8db052ec94f1 | 17 | // double k2; |
Hypna | 1:8db052ec94f1 | 18 | double k3 = 1.1672866347; |
Hypna | 1:8db052ec94f1 | 19 | double p1 = -1.1971310749; |
Hypna | 1:8db052ec94f1 | 20 | // double p2; |
Hypna | 1:8db052ec94f1 | 21 | double p3 = -1.2007193388; |
Hypna | 1:8db052ec94f1 | 22 | |
Hypna | 1:8db052ec94f1 | 23 | switch(prof) |
Hypna | 1:8db052ec94f1 | 24 | { |
Hypna | 1:8db052ec94f1 | 25 | case(1) : dist = k1*pow(v, p1); |
Hypna | 1:8db052ec94f1 | 26 | break; |
Hypna | 1:8db052ec94f1 | 27 | case(2) : dist = 0; // placeholder until unit 2 gets redone |
Hypna | 1:8db052ec94f1 | 28 | break; |
Hypna | 1:8db052ec94f1 | 29 | case(3) : dist = k3*pow(v, p3); |
Hypna | 1:8db052ec94f1 | 30 | break; |
Hypna | 1:8db052ec94f1 | 31 | default : dist = 0; |
Hypna | 1:8db052ec94f1 | 32 | } |
Hypna | 1:8db052ec94f1 | 33 | |
Hypna | 1:8db052ec94f1 | 34 | return dist; |
Hypna | 0:d03df6dd14d6 | 35 | } |