Antonia Baumgartner / Mbed 2 deprecated YB_copy

Dependencies:   mbed

Fork of Versuch21 by Antonia Baumgartner

Committer:
baumgant
Date:
Tue May 01 11:42:38 2018 +0000
Revision:
4:3c6d2c035243
Parent:
3:f44ef28cfb2d
Child:
5:93d3efe46493
PES2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
baumgant 0:b886f13e4ac6 1 #include <mbed.h>
baumgant 0:b886f13e4ac6 2 #include "EncoderCounter.h"
baumgant 0:b886f13e4ac6 3 #include "Controller.h"
baumgant 0:b886f13e4ac6 4 #include "IRSensorG.h"
baumgant 0:b886f13e4ac6 5 #include "IRSensorGF.h"
baumgant 0:b886f13e4ac6 6 #include "IRSensorK.h"
baumgant 0:b886f13e4ac6 7 #include "IRSensorZ.h"
baumgant 0:b886f13e4ac6 8 #include "Spurhaltung.h"
baumgant 0:b886f13e4ac6 9 #include "LHR.h"
mrbb2 1:6ef5bc60e69c 10 #include "Motion.h"
baumgant 0:b886f13e4ac6 11
baumgant 2:efa9a78591da 12 //------------------------------------------------------------------------------
baumgant 2:efa9a78591da 13
baumgant 0:b886f13e4ac6 14 //Motorbefehle von LHR
baumgant 4:3c6d2c035243 15 int D, sl, sr;
baumgant 0:b886f13e4ac6 16 Timer timey;
baumgant 0:b886f13e4ac6 17
baumgant 2:efa9a78591da 18 //------------------------------------------------------------------------------
baumgant 0:b886f13e4ac6 19
baumgant 0:b886f13e4ac6 20 AnalogIn sensorValue1(PC_2); // Frontsensor mitte
baumgant 0:b886f13e4ac6 21 AnalogIn sensorValue2(PC_3); // Frontsensor links
baumgant 0:b886f13e4ac6 22 AnalogIn sensorValue3(PC_5); // Frontsensor rechts
baumgant 0:b886f13e4ac6 23 AnalogIn sensorValue4(PB_1); // Seitlicher Sensor links
baumgant 0:b886f13e4ac6 24 AnalogIn sensorValue5(PA_4); // Seitlicher Sensor rechts
baumgant 0:b886f13e4ac6 25 AnalogIn sensorValue6(PB_0); // Helligkeitssensor
baumgant 4:3c6d2c035243 26 //DigitalOut myled(LED1); // LED 1
baumgant 4:3c6d2c035243 27 //InterruptIn button(USER_BUTTON); // Startknopf
baumgant 4:3c6d2c035243 28 DigitalIn mybutton(USER_BUTTON);
baumgant 4:3c6d2c035243 29 DigitalOut myled(LED1);
baumgant 0:b886f13e4ac6 30 DigitalOut power_5v(PC_4); // 5V auf Sensoren, geschalten
baumgant 0:b886f13e4ac6 31
baumgant 0:b886f13e4ac6 32 DigitalOut enable(PC_1);
baumgant 0:b886f13e4ac6 33
baumgant 0:b886f13e4ac6 34 DigitalOut enableMotorDriver(PB_2);
baumgant 0:b886f13e4ac6 35 DigitalIn motorDriverFault(PB_14);
baumgant 0:b886f13e4ac6 36 DigitalIn motorDriverWarning(PB_15);
baumgant 0:b886f13e4ac6 37
baumgant 2:efa9a78591da 38 PwmOut pwmRight(PA_8);
baumgant 2:efa9a78591da 39 PwmOut pwmLeft(PA_9);
baumgant 0:b886f13e4ac6 40
baumgant 2:efa9a78591da 41 EncoderCounter counterLeft(PB_6, PB_7);
baumgant 2:efa9a78591da 42 EncoderCounter counterRight(PA_6, PC_7);
baumgant 0:b886f13e4ac6 43
baumgant 2:efa9a78591da 44 //------------------------------------------------------------------------------
baumgant 0:b886f13e4ac6 45
baumgant 0:b886f13e4ac6 46 Controller controller(pwmLeft, pwmRight, counterLeft, counterRight);
baumgant 0:b886f13e4ac6 47
baumgant 0:b886f13e4ac6 48 // Grosse Sensoren aufrufen
baumgant 0:b886f13e4ac6 49 IRSensorGF Sensor1(sensorValue1);
baumgant 0:b886f13e4ac6 50 IRSensorG Sensor2(sensorValue2);
baumgant 0:b886f13e4ac6 51 IRSensorG Sensor3(sensorValue3);
baumgant 0:b886f13e4ac6 52 // Kleine Sensoren aufrufen
baumgant 0:b886f13e4ac6 53 IRSensorK Sensor4(sensorValue4);
baumgant 0:b886f13e4ac6 54 IRSensorK Sensor5(sensorValue5);
baumgant 0:b886f13e4ac6 55 // Helligkeitssensor aufrufen
baumgant 0:b886f13e4ac6 56 IRSensorZ Sensor6(sensorValue6);
baumgant 0:b886f13e4ac6 57
baumgant 2:efa9a78591da 58 //------------------------------------------------------------------------------
baumgant 0:b886f13e4ac6 59
baumgant 0:b886f13e4ac6 60 int main()
baumgant 0:b886f13e4ac6 61 {
baumgant 0:b886f13e4ac6 62 power_5v = 1; // Einschalten 5V Speisung der Sensoren
baumgant 0:b886f13e4ac6 63 enable = 1;
baumgant 0:b886f13e4ac6 64 enableMotorDriver = 1; //Schaltet den Leistungstreiber ein
baumgant 0:b886f13e4ac6 65 LHR LHR(Sensor1, Sensor2, Sensor3, Sensor4, Sensor5, Sensor6);
baumgant 0:b886f13e4ac6 66 Spurhaltung spurhaltung(Sensor2, Sensor3);
mrbb2 1:6ef5bc60e69c 67 Motion motion(counterLeft, counterRight, controller, spurhaltung, Sensor1, Sensor2, Sensor3, Sensor4, Sensor5, Sensor6);
baumgant 4:3c6d2c035243 68
baumgant 4:3c6d2c035243 69 while(1) {
baumgant 0:b886f13e4ac6 70
baumgant 4:3c6d2c035243 71 if (mybutton == 0) { // Button is pressed
baumgant 4:3c6d2c035243 72 wait(1);
baumgant 4:3c6d2c035243 73 while (1) {
baumgant 4:3c6d2c035243 74 D = LHR.moving();
baumgant 4:3c6d2c035243 75 motion.switching(D);
baumgant 4:3c6d2c035243 76 wait(0.2);
baumgant 4:3c6d2c035243 77 }
baumgant 4:3c6d2c035243 78 }
baumgant 0:b886f13e4ac6 79 }
baumgant 4:3c6d2c035243 80 }