Sensoren auslesen/umwandeln/codieren und State Maschine

Dependencies:   mbed

Fork of StateMachine_1 by Roboshark

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?

UserRevisionLine numberNew 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 }