Dependencies: Farbsensor IRSensorLib PID_Control Servo mbed PixyLib
main.cpp@2:dea0bab5e45c, 2017-05-10 (annotated)
- Committer:
- ZHAW_Prometheus
- Date:
- Wed May 10 18:12:34 2017 +0000
- Revision:
- 2:dea0bab5e45c
- Parent:
- 1:5c44e2462a8b
- Child:
- 3:017c85c4b14b
Prom_Roebi_V-0.3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ZHAW_Prometheus | 0:422088ad7fc5 | 1 | #include "mbed.h" |
ZHAW_Prometheus | 0:422088ad7fc5 | 2 | #include "cstdlib" |
ZHAW_Prometheus | 0:422088ad7fc5 | 3 | #include "IRSensor.h" |
ZHAW_Prometheus | 0:422088ad7fc5 | 4 | #include "Servo.h" |
ZHAW_Prometheus | 0:422088ad7fc5 | 5 | #include "Pixy.h" |
ZHAW_Prometheus | 0:422088ad7fc5 | 6 | #include "Farbauswertung.h" |
ZHAW_Prometheus | 1:5c44e2462a8b | 7 | #include "Fahren.h" |
ZHAW_Prometheus | 1:5c44e2462a8b | 8 | #include "liftAnsteuerung.h" |
ZHAW_Prometheus | 0:422088ad7fc5 | 9 | |
ZHAW_Prometheus | 0:422088ad7fc5 | 10 | /** |
ZHAW_Prometheus | 0:422088ad7fc5 | 11 | *Aus- und Eingänge initialisieren |
ZHAW_Prometheus | 0:422088ad7fc5 | 12 | */ |
ZHAW_Prometheus | 1:5c44e2462a8b | 13 | //Button |
ZHAW_Prometheus | 1:5c44e2462a8b | 14 | DigitalIn usrButton(USER_BUTTON); |
ZHAW_Prometheus | 0:422088ad7fc5 | 15 | //IRSensoren |
ZHAW_Prometheus | 0:422088ad7fc5 | 16 | DigitalOut enable(PC_1); |
ZHAW_Prometheus | 0:422088ad7fc5 | 17 | DigitalOut bit0(PH_1); |
ZHAW_Prometheus | 0:422088ad7fc5 | 18 | DigitalOut bit1(PC_2); |
ZHAW_Prometheus | 0:422088ad7fc5 | 19 | DigitalOut bit2(PC_3); |
ZHAW_Prometheus | 0:422088ad7fc5 | 20 | AnalogIn distance(PB_1); |
ZHAW_Prometheus | 0:422088ad7fc5 | 21 | //Motoren |
ZHAW_Prometheus | 0:422088ad7fc5 | 22 | DigitalOut enableMotorDriver(PB_2); |
ZHAW_Prometheus | 0:422088ad7fc5 | 23 | PwmOut pwmLeft(PA_8); |
ZHAW_Prometheus | 0:422088ad7fc5 | 24 | PwmOut pwmRight(PA_9); |
ZHAW_Prometheus | 0:422088ad7fc5 | 25 | //LED's |
ZHAW_Prometheus | 0:422088ad7fc5 | 26 | DigitalOut led0(PC_8); |
ZHAW_Prometheus | 0:422088ad7fc5 | 27 | DigitalOut led1(PC_6); |
ZHAW_Prometheus | 0:422088ad7fc5 | 28 | DigitalOut led5(PC_9); |
ZHAW_Prometheus | 1:5c44e2462a8b | 29 | DigitalOut led3(PA_7); |
ZHAW_Prometheus | 0:422088ad7fc5 | 30 | //Farbauswertung |
ZHAW_Prometheus | 0:422088ad7fc5 | 31 | AnalogIn SensorG(PA_0); |
ZHAW_Prometheus | 0:422088ad7fc5 | 32 | AnalogIn SensorR(PA_1); |
ZHAW_Prometheus | 0:422088ad7fc5 | 33 | Servo ServoAusw(PB_7); |
ZHAW_Prometheus | 1:5c44e2462a8b | 34 | Servo ServoFoerder(PC_7); |
ZHAW_Prometheus | 1:5c44e2462a8b | 35 | //Lift |
ZHAW_Prometheus | 1:5c44e2462a8b | 36 | Servo ServoLift(PA_6); |
ZHAW_Prometheus | 1:5c44e2462a8b | 37 | |
ZHAW_Prometheus | 0:422088ad7fc5 | 38 | //Serielle Ausgabe |
ZHAW_Prometheus | 0:422088ad7fc5 | 39 | Serial pc(SERIAL_TX,SERIAL_RX); |
ZHAW_Prometheus | 0:422088ad7fc5 | 40 | |
ZHAW_Prometheus | 1:5c44e2462a8b | 41 | Farbauswertung farbauswertung(&SensorG, &SensorR, &ServoAusw); |
ZHAW_Prometheus | 1:5c44e2462a8b | 42 | Fahren fahren(&enable, &bit0, &bit1, &bit2, &distance, &enableMotorDriver, &pwmLeft, &pwmRight); |
ZHAW_Prometheus | 2:dea0bab5e45c | 43 | LiftAnsteuerung lift(30, 5, &ServoLift); |
ZHAW_Prometheus | 0:422088ad7fc5 | 44 | |
ZHAW_Prometheus | 0:422088ad7fc5 | 45 | int main() |
ZHAW_Prometheus | 0:422088ad7fc5 | 46 | { |
ZHAW_Prometheus | 0:422088ad7fc5 | 47 | farbauswertung.setSerialOutput(&pc); |
ZHAW_Prometheus | 1:5c44e2462a8b | 48 | fahren.setSerialOutput(&pc); |
ZHAW_Prometheus | 1:5c44e2462a8b | 49 | |
ZHAW_Prometheus | 1:5c44e2462a8b | 50 | ServoLift = 1.2f; //1.2 |
ZHAW_Prometheus | 1:5c44e2462a8b | 51 | ServoFoerder = 0.1f; //0.1 |
ZHAW_Prometheus | 1:5c44e2462a8b | 52 | |
ZHAW_Prometheus | 1:5c44e2462a8b | 53 | fahren.fahrInit(); |
ZHAW_Prometheus | 0:422088ad7fc5 | 54 | |
ZHAW_Prometheus | 0:422088ad7fc5 | 55 | Ticker farbe; |
ZHAW_Prometheus | 0:422088ad7fc5 | 56 | farbe.attach(&farbauswertung, &Farbauswertung::auswertung, 0.5); |
ZHAW_Prometheus | 0:422088ad7fc5 | 57 | |
ZHAW_Prometheus | 1:5c44e2462a8b | 58 | Ticker drive; |
ZHAW_Prometheus | 1:5c44e2462a8b | 59 | drive.attach(&fahren, &Fahren::fahrRutine, 0.5); |
ZHAW_Prometheus | 1:5c44e2462a8b | 60 | |
ZHAW_Prometheus | 2:dea0bab5e45c | 61 | Ticker elevator; |
ZHAW_Prometheus | 2:dea0bab5e45c | 62 | elevator.attach(&lift, &LiftAnsteuerung::steuerung, 0.5); |
ZHAW_Prometheus | 1:5c44e2462a8b | 63 | |
ZHAW_Prometheus | 0:422088ad7fc5 | 64 | while (1) { |
ZHAW_Prometheus | 0:422088ad7fc5 | 65 | |
ZHAW_Prometheus | 0:422088ad7fc5 | 66 | wait(0.2); |
ZHAW_Prometheus | 0:422088ad7fc5 | 67 | } |
ZHAW_Prometheus | 0:422088ad7fc5 | 68 | } |