Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Versuch21 by
main.cpp@0:b886f13e4ac6, 2018-04-22 (annotated)
- Committer:
- baumgant
- Date:
- Sun Apr 22 16:14:54 2018 +0000
- Revision:
- 0:b886f13e4ac6
- Child:
- 1:6ef5bc60e69c
Roebi
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |
