Antonia Baumgartner / Mbed 2 deprecated YB_copy

Dependencies:   mbed

Fork of Versuch21 by Antonia Baumgartner

Committer:
baumgant
Date:
Sun Apr 22 16:14:54 2018 +0000
Revision:
0:b886f13e4ac6
Child:
1:6ef5bc60e69c
Roebi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
baumgant 0:b886f13e4ac6 1 #include <mbed.h>
baumgant 0:b886f13e4ac6 2
baumgant 0:b886f13e4ac6 3 #include "EncoderCounter.h"
baumgant 0:b886f13e4ac6 4 #include "Controller.h"
baumgant 0:b886f13e4ac6 5 #include "IRSensorG.h"
baumgant 0:b886f13e4ac6 6 #include "IRSensorGF.h"
baumgant 0:b886f13e4ac6 7 #include "IRSensorK.h"
baumgant 0:b886f13e4ac6 8 #include "IRSensorZ.h"
baumgant 0:b886f13e4ac6 9 #include "Spurhaltung.h"
baumgant 0:b886f13e4ac6 10 #include "LHR.h"
baumgant 0:b886f13e4ac6 11 #include <Motion.h>
baumgant 0:b886f13e4ac6 12
baumgant 0:b886f13e4ac6 13 //Motorbefehle von LHR
baumgant 0:b886f13e4ac6 14 int D, sl, sr;
baumgant 0:b886f13e4ac6 15 Timer timey;
baumgant 0:b886f13e4ac6 16
baumgant 0:b886f13e4ac6 17
baumgant 0:b886f13e4ac6 18 AnalogIn sensorValue1(PC_2); // Frontsensor mitte
baumgant 0:b886f13e4ac6 19 AnalogIn sensorValue2(PC_3); // Frontsensor links
baumgant 0:b886f13e4ac6 20 AnalogIn sensorValue3(PC_5); // Frontsensor rechts
baumgant 0:b886f13e4ac6 21 AnalogIn sensorValue4(PB_1); // Seitlicher Sensor links
baumgant 0:b886f13e4ac6 22 AnalogIn sensorValue5(PA_4); // Seitlicher Sensor rechts
baumgant 0:b886f13e4ac6 23 AnalogIn sensorValue6(PB_0); // Helligkeitssensor
baumgant 0:b886f13e4ac6 24 DigitalOut myled(LED1); // LED 1
baumgant 0:b886f13e4ac6 25 DigitalIn button(PC_13); // Startknopf
baumgant 0:b886f13e4ac6 26 DigitalOut power_5v(PC_4); // 5V auf Sensoren, geschalten
baumgant 0:b886f13e4ac6 27
baumgant 0:b886f13e4ac6 28 DigitalOut enable(PC_1);
baumgant 0:b886f13e4ac6 29
baumgant 0:b886f13e4ac6 30 DigitalOut enableMotorDriver(PB_2);
baumgant 0:b886f13e4ac6 31 DigitalIn motorDriverFault(PB_14);
baumgant 0:b886f13e4ac6 32 DigitalIn motorDriverWarning(PB_15);
baumgant 0:b886f13e4ac6 33
baumgant 0:b886f13e4ac6 34 PwmOut pwmLeft(PA_8);
baumgant 0:b886f13e4ac6 35 PwmOut pwmRight(PA_9);
baumgant 0:b886f13e4ac6 36
baumgant 0:b886f13e4ac6 37 EncoderCounter counterRight(PB_6, PB_7);
baumgant 0:b886f13e4ac6 38 EncoderCounter counterLeft(PA_6, PC_7);
baumgant 0:b886f13e4ac6 39
baumgant 0:b886f13e4ac6 40
baumgant 0:b886f13e4ac6 41 Controller controller(pwmLeft, pwmRight, counterLeft, counterRight);
baumgant 0:b886f13e4ac6 42
baumgant 0:b886f13e4ac6 43 // Grosse Sensoren aufrufen
baumgant 0:b886f13e4ac6 44 IRSensorGF Sensor1(sensorValue1);
baumgant 0:b886f13e4ac6 45 IRSensorG Sensor2(sensorValue2);
baumgant 0:b886f13e4ac6 46 IRSensorG Sensor3(sensorValue3);
baumgant 0:b886f13e4ac6 47 // Kleine Sensoren aufrufen
baumgant 0:b886f13e4ac6 48 IRSensorK Sensor4(sensorValue4);
baumgant 0:b886f13e4ac6 49 IRSensorK Sensor5(sensorValue5);
baumgant 0:b886f13e4ac6 50 // Helligkeitssensor aufrufen
baumgant 0:b886f13e4ac6 51 IRSensorZ Sensor6(sensorValue6);
baumgant 0:b886f13e4ac6 52 //Spurhaltung aufrufen
baumgant 0:b886f13e4ac6 53 //Spurhaltung x(sensorValue2, sensorValue3);
baumgant 0:b886f13e4ac6 54 //LHR
baumgant 0:b886f13e4ac6 55 //LHR LHR(Sensor1, Sensor2, Sensor3, Sensor4, Sensor5, Sensor6);
baumgant 0:b886f13e4ac6 56
baumgant 0:b886f13e4ac6 57 // Motion
baumgant 0:b886f13e4ac6 58 //Motion motion(D, counterLeft, counterRight, controller);
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 /* while (Sensor1.read() == 0){
baumgant 0:b886f13e4ac6 66 controller.setDesiredSpeedLeft(150.0f); //Drehzahl in [rpm]
baumgant 0:b886f13e4ac6 67 controller.setDesiredSpeedRight(-150.0f);
baumgant 0:b886f13e4ac6 68 printf("Sensor1: %d", Sensor1.read());
baumgant 0:b886f13e4ac6 69 }*/
baumgant 0:b886f13e4ac6 70 LHR LHR(Sensor1, Sensor2, Sensor3, Sensor4, Sensor5, Sensor6);
baumgant 0:b886f13e4ac6 71 Spurhaltung spurhaltung(Sensor2, Sensor3);
baumgant 0:b886f13e4ac6 72 Motion motion(counterLeft, counterRight, controller, spurhaltung);
baumgant 0:b886f13e4ac6 73
baumgant 0:b886f13e4ac6 74 D = 2;
baumgant 0:b886f13e4ac6 75 if(button==1) {
baumgant 0:b886f13e4ac6 76
baumgant 0:b886f13e4ac6 77 while (1) {
baumgant 0:b886f13e4ac6 78
baumgant 0:b886f13e4ac6 79 D = LHR.moving();
baumgant 0:b886f13e4ac6 80 //D = 2;
baumgant 0:b886f13e4ac6 81 //printf("D: %d\n", D);
baumgant 0:b886f13e4ac6 82 //printf("Distanz rechts: %d\r\n", Sensor3.read());
baumgant 0:b886f13e4ac6 83 sl = spurhaltung.speedr();
baumgant 0:b886f13e4ac6 84 printf("Status: %d\r\n", button);
baumgant 0:b886f13e4ac6 85 sr = spurhaltung.speedl();
baumgant 0:b886f13e4ac6 86 motion.switching(D);
baumgant 0:b886f13e4ac6 87 }
baumgant 0:b886f13e4ac6 88 }
baumgant 0:b886f13e4ac6 89 }