Dependencies:   Farbsensor IRSensorLib PID_Control Servo mbed PixyLib

main.cpp

Committer:
schuema4
Date:
2017-05-13
Revision:
3:017c85c4b14b
Parent:
2:dea0bab5e45c
Child:
5:4b409c37e81f
Child:
7:5949f408b6da

File content as of revision 3:017c85c4b14b:

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

//Serielle Ausgabe
Serial pc(SERIAL_TX,SERIAL_RX);

Farbauswertung  farbauswertung(&SensorG, &SensorR, &ServoAusw);
Fahren          fahren(&enable, &bit0, &bit1, &bit2, &distance, &enableMotorDriver, &pwmLeft, &pwmRight);
LiftAnsteuerung lift(30, 5, &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.5);
    
    while (1) {
        
        wait(0.001);
    }
}