Dependencies:   Farbsensor IRSensorLib PID_Control Servo mbed PixyLib

main.cpp

Committer:
ZHAW_Prometheus
Date:
2017-05-17
Revision:
7:5949f408b6da
Parent:
3:017c85c4b14b
Child:
8:077d0bb213a2

File content as of revision 7:5949f408b6da:

#include "mbed.h"
#include "cstdlib"
#include "IRSensor.h"
#include "Servo.h"
//#include "Pixy.h"
#include "Farbauswertung.h"
#include "Fahren.h"
#include "liftAnsteuerung.h"
#include "CamAusw.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);

Camauswertung   cam(1);
Farbauswertung  farbauswertung(&SensorG, &SensorR, &ServoAusw);
Fahren          fahren(&enable, &bit0, &bit1, &bit2, &distance, &enableMotorDriver, &pwmLeft, &pwmRight, &cam);
LiftAnsteuerung lift(100, 10, &ServoLift);

int main() 
{
    farbauswertung.setSerialOutput(&pc);
    fahren.setSerialOutput(&pc);
    
    ServoLift = 1.2f; //1.2
    ServoFoerder = 0.1f; //0.1
    
    fahren.fahrInit();
    
    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);
    
    Ticker camausw;
    camausw.attach(&cam, &Camauswertung::auswertung, 0.01);
    
    while (1) {
        
        wait(0.001);
    }
}