Helvijs Kiselis
/
MicromousePES2
main.cpp: Sensoren einlesen und Motoren ansteuern
IRSensor.cpp@5:47262622a9bf, 2018-04-16 (annotated)
- Committer:
- Helvis
- Date:
- Mon Apr 16 12:44:48 2018 +0000
- Revision:
- 5:47262622a9bf
- Parent:
- 1:1adf5dfcc7bb
testtestest;
Who changed what in which revision?
User | Revision | Line number | New 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(){} |