![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Roboter
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); } }