Michael Fluck
/
MyClass
d
Fork of MyClass by
main.cpp@0:af3f2e5c9cd4, 2018-04-19 (annotated)
- Committer:
- fluckmi1
- Date:
- Thu Apr 19 11:53:52 2018 +0000
- Revision:
- 0:af3f2e5c9cd4
peace
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fluckmi1 | 0:af3f2e5c9cd4 | 1 | #include <mbed.h> |
fluckmi1 | 0:af3f2e5c9cd4 | 2 | #include "IRSensor.h" |
fluckmi1 | 0:af3f2e5c9cd4 | 3 | #include "Controller.h" |
fluckmi1 | 0:af3f2e5c9cd4 | 4 | #include "EncoderCounter.h" |
fluckmi1 | 0:af3f2e5c9cd4 | 5 | #include "LowpassFilter.h" |
fluckmi1 | 0:af3f2e5c9cd4 | 6 | |
fluckmi1 | 0:af3f2e5c9cd4 | 7 | DigitalOut enable(PC_1); |
fluckmi1 | 0:af3f2e5c9cd4 | 8 | DigitalOut led0(PC_8); |
fluckmi1 | 0:af3f2e5c9cd4 | 9 | DigitalOut led1(PC_6); |
fluckmi1 | 0:af3f2e5c9cd4 | 10 | DigitalOut led2(PB_12); |
fluckmi1 | 0:af3f2e5c9cd4 | 11 | DigitalOut led3(PA_7); |
fluckmi1 | 0:af3f2e5c9cd4 | 12 | DigitalOut led4(PC_0); |
fluckmi1 | 0:af3f2e5c9cd4 | 13 | DigitalOut led5(PC_9); |
fluckmi1 | 0:af3f2e5c9cd4 | 14 | |
fluckmi1 | 0:af3f2e5c9cd4 | 15 | DigitalOut enableMotorDriver(PB_2); |
fluckmi1 | 0:af3f2e5c9cd4 | 16 | |
fluckmi1 | 0:af3f2e5c9cd4 | 17 | DigitalIn motorDriverFault(PB_14); |
fluckmi1 | 0:af3f2e5c9cd4 | 18 | DigitalIn motorDriverWarning(PB_15); |
fluckmi1 | 0:af3f2e5c9cd4 | 19 | |
fluckmi1 | 0:af3f2e5c9cd4 | 20 | PwmOut pwmLeft(PA_8); |
fluckmi1 | 0:af3f2e5c9cd4 | 21 | PwmOut pwmRight(PA_9); |
fluckmi1 | 0:af3f2e5c9cd4 | 22 | |
fluckmi1 | 0:af3f2e5c9cd4 | 23 | EncoderCounter counterLeft(PB_6, PC_7); |
fluckmi1 | 0:af3f2e5c9cd4 | 24 | EncoderCounter counterRight(PA_6, PC_7); |
fluckmi1 | 0:af3f2e5c9cd4 | 25 | |
fluckmi1 | 0:af3f2e5c9cd4 | 26 | Controller controller(pwmLeft, pwmRight, counterLeft, counterRight); |
fluckmi1 | 0:af3f2e5c9cd4 | 27 | |
fluckmi1 | 0:af3f2e5c9cd4 | 28 | AnalogIn distance(PB_1); //Kriterien der Ein- und Ausgabeobjekte |
fluckmi1 | 0:af3f2e5c9cd4 | 29 | DigitalOut bit0(PH_1); |
fluckmi1 | 0:af3f2e5c9cd4 | 30 | DigitalOut bit1(PC_2); |
fluckmi1 | 0:af3f2e5c9cd4 | 31 | DigitalOut bit2(PC_3); |
fluckmi1 | 0:af3f2e5c9cd4 | 32 | |
fluckmi1 | 0:af3f2e5c9cd4 | 33 | IRSensor irSensor0(distance, bit0, bit1, bit2, 0); |
fluckmi1 | 0:af3f2e5c9cd4 | 34 | IRSensor irSensor1(distance, bit0, bit1, bit2, 1); |
fluckmi1 | 0:af3f2e5c9cd4 | 35 | IRSensor irSensor2(distance, bit0, bit1, bit2, 2); |
fluckmi1 | 0:af3f2e5c9cd4 | 36 | IRSensor irSensor3(distance, bit0, bit1, bit2, 3); |
fluckmi1 | 0:af3f2e5c9cd4 | 37 | IRSensor irSensor4(distance, bit0, bit1, bit2, 4); |
fluckmi1 | 0:af3f2e5c9cd4 | 38 | IRSensor irSensor5(distance, bit0, bit1, bit2, 5); |
fluckmi1 | 0:af3f2e5c9cd4 | 39 | |
fluckmi1 | 0:af3f2e5c9cd4 | 40 | int main() { |
fluckmi1 | 0:af3f2e5c9cd4 | 41 | |
fluckmi1 | 0:af3f2e5c9cd4 | 42 | enable = 1; |
fluckmi1 | 0:af3f2e5c9cd4 | 43 | |
fluckmi1 | 0:af3f2e5c9cd4 | 44 | controller.setDesiredSpeedLeft(10.0f); |
fluckmi1 | 0:af3f2e5c9cd4 | 45 | controller.setDesiredSpeedRight(-10.0f); |
fluckmi1 | 0:af3f2e5c9cd4 | 46 | enable=1; |
fluckmi1 | 0:af3f2e5c9cd4 | 47 | enableMotorDriver = 1; |
fluckmi1 | 0:af3f2e5c9cd4 | 48 | |
fluckmi1 | 0:af3f2e5c9cd4 | 49 | while(1) { |
fluckmi1 | 0:af3f2e5c9cd4 | 50 | float distance0 = irSensor0.read(); |
fluckmi1 | 0:af3f2e5c9cd4 | 51 | float distance1 = irSensor1.read(); |
fluckmi1 | 0:af3f2e5c9cd4 | 52 | float distance2 = irSensor2.read(); |
fluckmi1 | 0:af3f2e5c9cd4 | 53 | float distance3 = irSensor3.read(); |
fluckmi1 | 0:af3f2e5c9cd4 | 54 | float distance4 = irSensor4.read(); |
fluckmi1 | 0:af3f2e5c9cd4 | 55 | float distance5 = irSensor5.read(); |
fluckmi1 | 0:af3f2e5c9cd4 | 56 | |
fluckmi1 | 0:af3f2e5c9cd4 | 57 | wait(0.1f); //100ms |
fluckmi1 | 0:af3f2e5c9cd4 | 58 | |
fluckmi1 | 0:af3f2e5c9cd4 | 59 | |
fluckmi1 | 0:af3f2e5c9cd4 | 60 | if (irSensor0.read() < 0.2f) led0 =1; |
fluckmi1 | 0:af3f2e5c9cd4 | 61 | else led0 =0; |
fluckmi1 | 0:af3f2e5c9cd4 | 62 | if (irSensor1.read() < 0.2f) led1 =1; |
fluckmi1 | 0:af3f2e5c9cd4 | 63 | else led0 =0; |
fluckmi1 | 0:af3f2e5c9cd4 | 64 | if (irSensor2.read() < 0.2f) led2 =1; |
fluckmi1 | 0:af3f2e5c9cd4 | 65 | else led0 =0; |
fluckmi1 | 0:af3f2e5c9cd4 | 66 | if (irSensor3.read() < 0.2f) led3 =1; |
fluckmi1 | 0:af3f2e5c9cd4 | 67 | else led0 =0; |
fluckmi1 | 0:af3f2e5c9cd4 | 68 | if (irSensor4.read() < 0.2f) led4 =1; |
fluckmi1 | 0:af3f2e5c9cd4 | 69 | else led0 =0; |
fluckmi1 | 0:af3f2e5c9cd4 | 70 | if (irSensor5.read() < 0.2f) led5 =1; |
fluckmi1 | 0:af3f2e5c9cd4 | 71 | else led0 =0; |
fluckmi1 | 0:af3f2e5c9cd4 | 72 | } |
fluckmi1 | 0:af3f2e5c9cd4 | 73 | } |
fluckmi1 | 0:af3f2e5c9cd4 | 74 |