Sensoren auslesen/umwandeln/codieren und State Maschine
Dependencies: mbed
Fork of StateMachine_1 by
main.cpp@4:91a9737e4821, 2018-04-20 (annotated)
- Committer:
- ahlervin
- Date:
- Fri Apr 20 17:49:36 2018 +0000
- Revision:
- 4:91a9737e4821
- Parent:
- 2:a227732e1412
Sensoren auswerten, Codieren und State Machine
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jacqueline | 0:e611a0b9f02a | 1 | |
ahlervin | 4:91a9737e4821 | 2 | // Main zum Testen der IR Sensoren |
ahlervin | 4:91a9737e4821 | 3 | //V04.18 |
ahlervin | 4:91a9737e4821 | 4 | // V. Ahlers |
Jacqueline | 0:e611a0b9f02a | 5 | |
ahlervin | 4:91a9737e4821 | 6 | #include <mbed.h> |
ahlervin | 4:91a9737e4821 | 7 | #include "IRSensor.h" |
ahlervin | 4:91a9737e4821 | 8 | #include"StateMachine.h" |
Jacqueline | 0:e611a0b9f02a | 9 | |
Jacqueline | 0:e611a0b9f02a | 10 | |
ahlervin | 4:91a9737e4821 | 11 | AnalogIn IrRight(PC_3); |
ahlervin | 4:91a9737e4821 | 12 | AnalogIn IrLeft (PC_5); |
ahlervin | 4:91a9737e4821 | 13 | AnalogIn IrFront(PC_2); |
ahlervin | 4:91a9737e4821 | 14 | float disR = 0; |
ahlervin | 4:91a9737e4821 | 15 | float disL = 0; |
ahlervin | 4:91a9737e4821 | 16 | float disF = 0; |
Jacqueline | 0:e611a0b9f02a | 17 | |
ahlervin | 4:91a9737e4821 | 18 | float dis2R = 0; |
ahlervin | 4:91a9737e4821 | 19 | float dis2L = 0; |
ahlervin | 4:91a9737e4821 | 20 | float dis2F = 0; |
ahlervin | 4:91a9737e4821 | 21 | int IrR = 0; |
ahlervin | 4:91a9737e4821 | 22 | int IrL = 0; |
ahlervin | 4:91a9737e4821 | 23 | int IrF = 0; |
ahlervin | 4:91a9737e4821 | 24 | int caseDrive = 0; |
Jacqueline | 0:e611a0b9f02a | 25 | |
ahlervin | 4:91a9737e4821 | 26 | IRSensor iRSensor(IrRight, IrLeft, IrFront, dis2R, dis2L, dis2F); |
ahlervin | 4:91a9737e4821 | 27 | StateMachine stateMachine(IrR, IrL, IrF); |
Jacqueline | 0:e611a0b9f02a | 28 | |
ahlervin | 4:91a9737e4821 | 29 | |
Jacqueline | 0:e611a0b9f02a | 30 | |
ahlervin | 4:91a9737e4821 | 31 | int main() { |
ahlervin | 4:91a9737e4821 | 32 | |
ahlervin | 4:91a9737e4821 | 33 | |
ahlervin | 4:91a9737e4821 | 34 | printf("\n die Distanzen sind\n"); |
Jacqueline | 0:e611a0b9f02a | 35 | while(1) { |
ahlervin | 4:91a9737e4821 | 36 | float disR = iRSensor.readR(); // Distanz in mm |
ahlervin | 4:91a9737e4821 | 37 | float disL = iRSensor.readL(); |
ahlervin | 4:91a9737e4821 | 38 | float disF = iRSensor.readF(); |
ahlervin | 4:91a9737e4821 | 39 | dis2R = disR; |
ahlervin | 4:91a9737e4821 | 40 | dis2L = disL; |
ahlervin | 4:91a9737e4821 | 41 | dis2F = disF; |
ahlervin | 4:91a9737e4821 | 42 | int IrR = iRSensor.codeR(); // min Distanz unterschritten = 1 |
ahlervin | 4:91a9737e4821 | 43 | int IrL = iRSensor.codeL(); |
ahlervin | 4:91a9737e4821 | 44 | int IrF = iRSensor.codeF(); |
ahlervin | 4:91a9737e4821 | 45 | int caseDrive = stateMachine.drive(); //entscheidung welcher Drive Case |
Jacqueline | 0:e611a0b9f02a | 46 | |
Jacqueline | 0:e611a0b9f02a | 47 | |
ahlervin | 4:91a9737e4821 | 48 | printf ("IR Right = %f \n", disR); |
ahlervin | 4:91a9737e4821 | 49 | printf("IR Left = %f \n",disL); |
ahlervin | 4:91a9737e4821 | 50 | printf("IR Front = %f\n",disF); |
ahlervin | 4:91a9737e4821 | 51 | |
ahlervin | 4:91a9737e4821 | 52 | wait (1.0); |
Jacqueline | 0:e611a0b9f02a | 53 | } |
ahlervin | 4:91a9737e4821 | 54 | } |