Helvijs Kiselis
/
MicromousePES2
main.cpp: Sensoren einlesen und Motoren ansteuern
main.cpp@0:9a3e7847a4be, 2018-04-09 (annotated)
- Committer:
- Helvis
- Date:
- Mon Apr 09 19:26:46 2018 +0000
- Revision:
- 0:9a3e7847a4be
- Child:
- 1:1adf5dfcc7bb
V0.1 Test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Helvis | 0:9a3e7847a4be | 1 | #include <mbed.h> |
Helvis | 0:9a3e7847a4be | 2 | |
Helvis | 0:9a3e7847a4be | 3 | #include "EncoderCounter.h" |
Helvis | 0:9a3e7847a4be | 4 | #include "Controller.h" |
Helvis | 0:9a3e7847a4be | 5 | #include "IRSensor.h" |
Helvis | 0:9a3e7847a4be | 6 | |
Helvis | 0:9a3e7847a4be | 7 | //Sensor I/O: |
Helvis | 0:9a3e7847a4be | 8 | |
Helvis | 0:9a3e7847a4be | 9 | AnalogIn lineSensor(PA_0); |
Helvis | 0:9a3e7847a4be | 10 | AnalogIn distance1(PA_1); |
Helvis | 0:9a3e7847a4be | 11 | AnalogIn distance2(PA_4); |
Helvis | 0:9a3e7847a4be | 12 | AnalogIn distance3(PB_0); |
Helvis | 0:9a3e7847a4be | 13 | |
Helvis | 0:9a3e7847a4be | 14 | IRSensor irSensorL (distance1); |
Helvis | 0:9a3e7847a4be | 15 | IRSensor irSensorC (distance2); |
Helvis | 0:9a3e7847a4be | 16 | IRSensor irSensorR (distance3); |
Helvis | 0:9a3e7847a4be | 17 | |
Helvis | 0:9a3e7847a4be | 18 | //Motor I/O: |
Helvis | 0:9a3e7847a4be | 19 | DigitalOut myled(LED1); |
Helvis | 0:9a3e7847a4be | 20 | |
Helvis | 0:9a3e7847a4be | 21 | DigitalOut enableMotorDriver(PB_2); |
Helvis | 0:9a3e7847a4be | 22 | |
Helvis | 0:9a3e7847a4be | 23 | DigitalIn motorDriverFault(PB_14); |
Helvis | 0:9a3e7847a4be | 24 | DigitalIn motorDriverWarning(PB_15); |
Helvis | 0:9a3e7847a4be | 25 | |
Helvis | 0:9a3e7847a4be | 26 | PwmOut pwmLeft(PA_8); |
Helvis | 0:9a3e7847a4be | 27 | PwmOut pwmRight(PA_9); |
Helvis | 0:9a3e7847a4be | 28 | |
Helvis | 0:9a3e7847a4be | 29 | EncoderCounter counterLeft(PB_6, PB_7); |
Helvis | 0:9a3e7847a4be | 30 | EncoderCounter counterRight(PA_6, PC_7); |
Helvis | 0:9a3e7847a4be | 31 | |
Helvis | 0:9a3e7847a4be | 32 | Controller controller(pwmLeft, pwmRight, counterLeft, counterRight); |
Helvis | 0:9a3e7847a4be | 33 | |
Helvis | 0:9a3e7847a4be | 34 | int main() { |
Helvis | 0:9a3e7847a4be | 35 | |
Helvis | 0:9a3e7847a4be | 36 | /* Micromouse Test */ |
Helvis | 0:9a3e7847a4be | 37 | |
Helvis | 0:9a3e7847a4be | 38 | |
Helvis | 0:9a3e7847a4be | 39 | //Sensoren |
Helvis | 0:9a3e7847a4be | 40 | while(1) { |
Helvis | 0:9a3e7847a4be | 41 | |
Helvis | 0:9a3e7847a4be | 42 | float distanceL = irSensorL.read(); |
Helvis | 0:9a3e7847a4be | 43 | float distanceC = irSensorC.read(); |
Helvis | 0:9a3e7847a4be | 44 | float distanceR = irSensorR.read(); |
Helvis | 0:9a3e7847a4be | 45 | printf("Rechts: %f Mitte: %f Links: %f Line: %f\n", |
Helvis | 0:9a3e7847a4be | 46 | distanceL, distanceC, distanceR, lineSensor); |
Helvis | 0:9a3e7847a4be | 47 | |
Helvis | 0:9a3e7847a4be | 48 | wait(0.5f); |
Helvis | 0:9a3e7847a4be | 49 | } |
Helvis | 0:9a3e7847a4be | 50 | |
Helvis | 0:9a3e7847a4be | 51 | //Motoren |
Helvis | 0:9a3e7847a4be | 52 | while(0) { |
Helvis | 0:9a3e7847a4be | 53 | |
Helvis | 0:9a3e7847a4be | 54 | controller.setDesiredSpeedLeft(50.0f); //Drehzahl in [rpm] |
Helvis | 0:9a3e7847a4be | 55 | controller.setDesiredSpeedRIght(50.0f); |
Helvis | 0:9a3e7847a4be | 56 | enableMotorDriver = 1; //Schaltet den Leistungstreiber ein |
Helvis | 0:9a3e7847a4be | 57 | while(1) { |
Helvis | 0:9a3e7847a4be | 58 | |
Helvis | 0:9a3e7847a4be | 59 | myled =! myled; |
Helvis | 0:9a3e7847a4be | 60 | wait(0.1f); //200 ms |
Helvis | 0:9a3e7847a4be | 61 | } |
Helvis | 0:9a3e7847a4be | 62 | |
Helvis | 0:9a3e7847a4be | 63 | } |
Helvis | 0:9a3e7847a4be | 64 | |
Helvis | 0:9a3e7847a4be | 65 | } |
Helvis | 0:9a3e7847a4be | 66 | |
Helvis | 0:9a3e7847a4be | 67 | |
Helvis | 0:9a3e7847a4be | 68 | |
Helvis | 0:9a3e7847a4be | 69 | |
Helvis | 0:9a3e7847a4be | 70 | |
Helvis | 0:9a3e7847a4be | 71 | |
Helvis | 0:9a3e7847a4be | 72 |