Dependencies: Farbsensor IRSensorLib PID_Control Servo mbed PixyLib
main.cpp
- Committer:
- ZHAW_Prometheus
- Date:
- 2017-05-24
- Revision:
- 15:26dbcd6ff48d
- Parent:
- 14:bee8101aad45
- Child:
- 16:ad45ef4fee04
File content as of revision 15:26dbcd6ff48d:
#include "mbed.h" #include "cstdlib" #include "IRSensor.h" #include "Servo.h" //#include "Pixy.h" #include "Farbauswertung.h" #include "Fahren.h" #include "liftAnsteuerung.h" #include "Pixy.h" #include "PID_Control.h" /** *Aus- und Eingänge initialisieren */ //Button DigitalIn usrButton(USER_BUTTON); //Serielle Ports deklarieren Serial pc(USBTX,USBRX); Serial cam(PA_9, PA_10); //Berechnungsklassen PID_Control pid; //IRSensoren DigitalOut enable(PC_1); DigitalOut bit0(PH_1); DigitalOut bit1(PC_2); DigitalOut bit2(PC_3); AnalogIn distance(PB_1); //Motoren DigitalOut enableMotorDriver(PB_2); PwmOut pwmLeft(PA_8); PwmOut pwmRight(PA_9); //Farbauswertung AnalogIn SensorG(PA_0); AnalogIn SensorR(PA_1); Servo ServoAusw(PB_7); Servo ServoFoerder(PC_7); //Lift Servo ServoLift(PB_6); //Kamera Pixy pixy(cam); //Robotersteuerung Farbauswertung farbauswertung(&SensorG, &SensorR, ServoAusw, ServoFoerder, 4, 8); Fahren fahren(enable, bit0, bit1, bit2, distance, enableMotorDriver, pwmLeft, pwmRight, pixy, pid); LiftAnsteuerung lift(7, 1, ServoLift); int main() { /* *Für Konsolenausgaben diese Zeilen aktivieren und in der While die dementsprechende Methode aufrufen. */ //farbauswertung.setSerialOutput(&pc); //fahren.setSerialOutput(&pc); Ticker farbe; Ticker drive; Ticker elevator; pid.setPIDValues( 0.001f, 0.001f, 0.00015f, 0.3f, -0.3f, 1000); fahren.fahrInit(); while(usrButton){ wait(1.0); } farbe.attach(&farbauswertung, &Farbauswertung::auswertung, 0.5); drive.attach(&fahren, &Fahren::fahrRutine, 0.02); elevator.attach(&lift, &LiftAnsteuerung::steuerung, 2); while (1) { wait(10.0); //farbauswertung.printState(); //fahren.printState(); } }