Cases eingefügt

Dependencies:   mbed

Committer:
Jacqueline
Date:
Mon Apr 16 13:29:27 2018 +0000
Revision:
0:e611a0b9f02a
Child:
2:a227732e1412
StateMachine: Cases eingef?gt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jacqueline 0:e611a0b9f02a 1 #include <mbed.h>
Jacqueline 0:e611a0b9f02a 2
Jacqueline 0:e611a0b9f02a 3 #include "EncoderCounter.h"
Jacqueline 0:e611a0b9f02a 4 #include "Controller.h"
Jacqueline 0:e611a0b9f02a 5 #include "IRSensor.h"
Jacqueline 0:e611a0b9f02a 6
Jacqueline 0:e611a0b9f02a 7 DigitalOut myled(LED1);
Jacqueline 0:e611a0b9f02a 8
Jacqueline 0:e611a0b9f02a 9 DigitalOut led0(PC_8);
Jacqueline 0:e611a0b9f02a 10 DigitalOut led1(PC_6);
Jacqueline 0:e611a0b9f02a 11 DigitalOut led2(PB_12);
Jacqueline 0:e611a0b9f02a 12 DigitalOut led3(PA_7);
Jacqueline 0:e611a0b9f02a 13 DigitalOut led4(PC_0);
Jacqueline 0:e611a0b9f02a 14 DigitalOut led5(PC_9);
Jacqueline 0:e611a0b9f02a 15
Jacqueline 0:e611a0b9f02a 16 AnalogIn distance(PB_1);
Jacqueline 0:e611a0b9f02a 17 DigitalOut enable(PC_1);
Jacqueline 0:e611a0b9f02a 18 DigitalOut bit0(PH_1);
Jacqueline 0:e611a0b9f02a 19 DigitalOut bit1(PC_2);
Jacqueline 0:e611a0b9f02a 20 DigitalOut bit2(PC_3);
Jacqueline 0:e611a0b9f02a 21
Jacqueline 0:e611a0b9f02a 22 IRSensor irSensor0(distance, bit0, bit1, bit2, 0);
Jacqueline 0:e611a0b9f02a 23 IRSensor irSensor1(distance, bit0, bit1, bit2, 1);
Jacqueline 0:e611a0b9f02a 24 IRSensor irSensor2(distance, bit0, bit1, bit2, 2);
Jacqueline 0:e611a0b9f02a 25 IRSensor irSensor3(distance, bit0, bit1, bit2, 3);
Jacqueline 0:e611a0b9f02a 26 IRSensor irSensor4(distance, bit0, bit1, bit2, 4);
Jacqueline 0:e611a0b9f02a 27 IRSensor irSensor5(distance, bit0, bit1, bit2, 5);
Jacqueline 0:e611a0b9f02a 28
Jacqueline 0:e611a0b9f02a 29
Jacqueline 0:e611a0b9f02a 30 DigitalOut enableMotorDriver(PB_2);
Jacqueline 0:e611a0b9f02a 31 DigitalIn motorDriverFault(PB_14);
Jacqueline 0:e611a0b9f02a 32 DigitalIn motorDriverWarning(PB_15);
Jacqueline 0:e611a0b9f02a 33
Jacqueline 0:e611a0b9f02a 34 PwmOut pwmLeft(PA_8);
Jacqueline 0:e611a0b9f02a 35 PwmOut pwmRight(PA_9);
Jacqueline 0:e611a0b9f02a 36
Jacqueline 0:e611a0b9f02a 37 EncoderCounter counterLeft(PB_6, PB_7);
Jacqueline 0:e611a0b9f02a 38 EncoderCounter counterRight(PA_6, PC_7);
Jacqueline 0:e611a0b9f02a 39
Jacqueline 0:e611a0b9f02a 40 Controller controller(pwmLeft, pwmRight, counterLeft, counterRight);
Jacqueline 0:e611a0b9f02a 41
Jacqueline 0:e611a0b9f02a 42 int main()
Jacqueline 0:e611a0b9f02a 43 {
Jacqueline 0:e611a0b9f02a 44
Jacqueline 0:e611a0b9f02a 45 controller.setDesiredSpeedLeft(150.0f); // Drehzahl in [rpm]
Jacqueline 0:e611a0b9f02a 46 controller.setDesiredSpeedRight(-150.0f);
Jacqueline 0:e611a0b9f02a 47 enable = 1;
Jacqueline 0:e611a0b9f02a 48 enableMotorDriver = 1; // Schaltet den Leistungstreiber ein
Jacqueline 0:e611a0b9f02a 49
Jacqueline 0:e611a0b9f02a 50 while(1) {
Jacqueline 0:e611a0b9f02a 51
Jacqueline 0:e611a0b9f02a 52 myled =! myled;
Jacqueline 0:e611a0b9f02a 53
Jacqueline 0:e611a0b9f02a 54 if (irSensor0.read() < 0.2f) led0 = 1;
Jacqueline 0:e611a0b9f02a 55 else led0 = 0;
Jacqueline 0:e611a0b9f02a 56
Jacqueline 0:e611a0b9f02a 57 if (irSensor1.read() < 0.2f) led1 = 1;
Jacqueline 0:e611a0b9f02a 58 else led1 = 0;
Jacqueline 0:e611a0b9f02a 59
Jacqueline 0:e611a0b9f02a 60 if (irSensor2.read() < 0.2f) led2 = 1;
Jacqueline 0:e611a0b9f02a 61 else led2 = 0;
Jacqueline 0:e611a0b9f02a 62
Jacqueline 0:e611a0b9f02a 63 if (irSensor3.read() < 0.2f) led3 = 1;
Jacqueline 0:e611a0b9f02a 64 else led3 = 0;
Jacqueline 0:e611a0b9f02a 65
Jacqueline 0:e611a0b9f02a 66 if (irSensor4.read() < 0.2f) led4 = 1;
Jacqueline 0:e611a0b9f02a 67 else led4 = 0;
Jacqueline 0:e611a0b9f02a 68
Jacqueline 0:e611a0b9f02a 69 if (irSensor5.read() < 0.2f) led5 = 1;
Jacqueline 0:e611a0b9f02a 70 else led0 = 5;
Jacqueline 0:e611a0b9f02a 71
Jacqueline 0:e611a0b9f02a 72 printf("iSumLeft: %f, iSumRight: %f, counterDiff; %d \n\r", controller.getIntegralLeft(), controller.getIntegralRight(), (counterLeft.read()+counterRight.read()));
Jacqueline 0:e611a0b9f02a 73
Jacqueline 0:e611a0b9f02a 74 wait(0.2f); // 100 ms
Jacqueline 0:e611a0b9f02a 75
Jacqueline 0:e611a0b9f02a 76 }
Jacqueline 0:e611a0b9f02a 77 }