main.cpp: Sensoren einlesen und Motoren ansteuern

Dependencies:   mbed

Committer:
Helvis
Date:
Mon Apr 16 12:44:48 2018 +0000
Revision:
5:47262622a9bf
Parent:
1:1adf5dfcc7bb
testtestest;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helvis 0:9a3e7847a4be 1 #include <cmath>
Helvis 0:9a3e7847a4be 2 #include "IRSensor.h"
Helvis 0:9a3e7847a4be 3
Helvis 0:9a3e7847a4be 4 using namespace std;
Helvis 0:9a3e7847a4be 5
Helvis 0:9a3e7847a4be 6 IRSensor::IRSensor(AnalogIn& distance) :
Helvis 0:9a3e7847a4be 7 distance(distance){}
Helvis 0:9a3e7847a4be 8
Helvis 0:9a3e7847a4be 9 IRSensor::~IRSensor() {}
Helvis 0:9a3e7847a4be 10
Helvis 5:47262622a9bf 11 float IRSensor::readL() {
Helvis 5:47262622a9bf 12 //Links B2
Helvis 5:47262622a9bf 13 float a1 = -4.474f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 14 float a2 = 8.415f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 15 float a3 = -6.279f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 16 float a4 = 2.36f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 17 float a5 = -4670.0f;
Helvis 5:47262622a9bf 18 float a6 = 445.1f;
Helvis 5:47262622a9bf 19
Helvis 5:47262622a9bf 20
Helvis 5:47262622a9bf 21 float d2 = a1*pow(distance,5) + a2*pow(distance,4) + a3*pow(distance,3) + a4*pow(distance,2) + a5*distance + a6;
Helvis 5:47262622a9bf 22
Helvis 5:47262622a9bf 23 return d2;
Helvis 0:9a3e7847a4be 24
Helvis 5:47262622a9bf 25 }
Helvis 5:47262622a9bf 26
Helvis 5:47262622a9bf 27 float IRSensor::readR(){
Helvis 5:47262622a9bf 28 //Rechts B1
Helvis 5:47262622a9bf 29 float b1 = -1.079f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 30 float b2 = 2.404f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 31 float b3 = -2.179f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 32 float b4 = 1.012f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 33 float b5 = -2519.0f;
Helvis 5:47262622a9bf 34 float b6 = 310.8f;
Helvis 5:47262622a9bf 35
Helvis 5:47262622a9bf 36 float d1 = b1*pow(distance,5) + b2*pow(distance,4) + b3*pow(distance,3) + b4*pow(distance,2) + b5*distance + b6;
Helvis 0:9a3e7847a4be 37
Helvis 5:47262622a9bf 38 return d1;
Helvis 5:47262622a9bf 39 }
Helvis 5:47262622a9bf 40
Helvis 5:47262622a9bf 41 float IRSensor::readC(){
Helvis 5:47262622a9bf 42 //Vorne B4
Helvis 5:47262622a9bf 43 float c1 = -2.681f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 44 float c2 = 6.007f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 45 float c3 = -5.32f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 46 float c4 = 2.377f*pow(10.0f,4.0f);
Helvis 5:47262622a9bf 47 float c5 = -5686.0f;
Helvis 5:47262622a9bf 48 float c6 = 697.8f;
Helvis 0:9a3e7847a4be 49
Helvis 5:47262622a9bf 50 float d4 = c1*pow(distance,5) + c2*pow(distance,4) + c3*pow(distance,3) + c4*pow(distance,2) + c5*distance + c6;
Helvis 5:47262622a9bf 51
Helvis 5:47262622a9bf 52 return d4;
Helvis 5:47262622a9bf 53 }
Helvis 5:47262622a9bf 54
Helvis 5:47262622a9bf 55 //float IRSensor::readB(){}