xx

Dependencies:   Servo mbed pixy

Fork of PES1 by Gruppe 3

main.cpp

Committer:
schneju2
Date:
2017-04-11
Revision:
5:f48b2609c328
Parent:
4:fdcf3b5009c6
Child:
6:4af735d26b7a

File content as of revision 5:f48b2609c328:

#include <mbed.h>
#include "Roboter.h"

DigitalOut led(LED1);

//Periphery for distance sensors
AnalogIn distance(PB_1);
DigitalOut enable(PC_1);
DigitalOut bit0(PH_1);
DigitalOut bit1(PC_2);
DigitalOut bit2(PC_3);
IRSensor sensors[6];

// Periphery for servos
Servo servos1(PB_7);
Servo servos2(PA_6);

//Periphery for limit switch 
DigitalIn limitSwitch1(PA_10);
DigitalIn limitSwitch2(PB_13); 

//Periphery for Swich ON/OFF

DigitalIn swichOnOFF (USER_BUTTON); 

//motor stuff
DigitalOut enableMotorDriver(PB_2);
PwmOut pwmL( PA_8 );
PwmOut pwmR( PA_9 );

//indicator leds arround robot
DigitalOut leds[] = { PC_8, PC_6, PB_12, PA_7, PC_0, PC_9 };

Roboter roboter1(&distance, &bit0, &bit1, &bit2, &pwmL, &pwmR, &servos1,&servos2, &limitSwitch1, &limitSwitch2);

int main()
{
    enable = 1;  // Sensoren einschalten 
    enableMotorDriver = 1; // Schaltet die Motoren ein 
    pwmL->period(0.00005f); // Setzt die Periode auf 50 μs
    pwmR->period(0.00005f);
    
    int state = 0; // Diese Variable gibt an in welchem State man sich befindet

if ( kamera() == 1){ state = 4;) // Die Kamera erkennt ein grünen Klotz 
    while(1) {

    swich(state){
      
      case 1: // Roboter Anschalten mit Knopf 
      
      if (swichOnOff == 1){
          state = 2;}
      if (swichOnOff ==0){
          state =1;) 
      
      break; 
      
      case 2: // Im Kreis drehen
       
        ....
      break;
        
      case 3: // gerade aus fahren 
      
      ....
      break; 
      
      case 4: // Roboter erkennt gründer Klotz, Klotz wird angefahren 
      
      ...
      break;
      
      case 5: // Aufnehmen des Klotzes 
      
      
      .....
      break; 
      
      
      default 
      
      ... break ; }

        wait(0.1f);

    }

}