Dependencies: Farbsensor IRSensorLib PID_Control Servo mbed PixyLib
main.cpp
- Committer:
- ZHAW_Prometheus
- Date:
- 2017-05-18
- Revision:
- 8:077d0bb213a2
- Parent:
- 7:5949f408b6da
- Child:
- 9:b83994ef4b08
File content as of revision 8:077d0bb213a2:
#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); //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); //LED's DigitalOut led0(PC_8); DigitalOut led1(PC_6); DigitalOut led5(PC_9); DigitalOut led3(PA_7); //Farbauswertung AnalogIn SensorG(PA_0); AnalogIn SensorR(PA_1); Servo ServoAusw(PB_7); Servo ServoFoerder(PC_7); //Lift Servo ServoLift(PA_6); //Kamera //Serielle Ausgabe Serial pc(SERIAL_TX,SERIAL_RX); //Kamera Serial cam(PC_5, PB_10); Pixy pixy(cam); PID_Control pid; //Robotersteuerung Farbauswertung farbauswertung(&SensorG, &SensorR, &ServoAusw); Fahren fahren(&enable, &bit0, &bit1, &bit2, &distance, &enableMotorDriver, &pwmLeft, &pwmRight, &pixy, &pid); LiftAnsteuerung lift(100, 10, &ServoLift); int main() { farbauswertung.setSerialOutput(&pc); fahren.setSerialOutput(&pc); pid.setPIDValues( 0.001f, 0.001f, 0.00015f, 0.3f, -0.3f, 1000); //ServoLift = 1.2f; //1.2 ServoFoerder = 0.1f; //0.1 fahren.fahrInit(); //Ticker camausw; //camausw.attach(&cam, &Camauswertung::auswertung, 0.5); Ticker farbe; farbe.attach(&farbauswertung, &Farbauswertung::auswertung, 0.01); Ticker drive; drive.attach(&fahren, &Fahren::fahrRutine, 0.01); Ticker elevator; elevator.attach(&lift, &LiftAnsteuerung::steuerung, 0.01); while (1) { wait(0.001); } }