Basic library for Pololu's Sharp GP2Y0A51SK0F

Dependencies:   mbed

Dependents:   GrabTest R5 2016 Robotics Team 1

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?

UserRevisionLine numberNew 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 }