BERTL_CHEL18
/
Func_Bertl_Ultra
ultra sonic sensor asdded
Fork of func_Bertl by
Diff: main.cpp
- Revision:
- 1:f2d7bec926ce
- Parent:
- 0:0b7c22955b8c
- Child:
- 2:43547160ab56
--- a/main.cpp Thu Nov 13 18:19:47 2014 +0000 +++ b/main.cpp Fri Jan 02 19:32:23 2015 +0000 @@ -1,34 +1,113 @@ /*********************************** -name: BERTL_2014_TEST -author: Gottfried Enenkel HTL BULME -email: ene@bulme.at +name: Karel +author: PE HTL BULME +email: pe@bulme.at description: - Der BERTL fährt 1 sec lang VORWÄRTS! - Danach steht er für 1 sec + Funktionen von Karel The Robot - Wenn an auf den Moter sieht, ist da + Zeichen - immer LINKS OBEN zu sehen ! + ***********************************/ #include "mbed.h" -// ************ DEKLARATIONEN ************** -DigitalOut MotorL_EN(p34); -DigitalOut MotorL_FORWARD(P1_1); -DigitalOut MotorL_REVERSE(P1_0); +void move() +{ + DigitalOut MotorL_EN(p34); + DigitalOut MotorL_FORWARD(P1_1); + //DigitalOut MotorL_REVERSE(P1_0); + + DigitalOut MotorR_EN(p36); + DigitalOut MotorR_FORWARD(P1_3); + //DigitalOut MotorR_REVERSE(P1_4); + + MotorR_EN=MotorL_EN=1; // Beide Motoren ENABLE + + MotorR_FORWARD = MotorL_FORWARD = 1; // Beide Motoren vorwärts EIN + wait_ms(250); // warte 0,25 Sekunde + MotorR_FORWARD = MotorL_FORWARD = 0; // Motoren AUS + //wait_ms(250); +} + +void moveSpeed(float speedy) +{ + DigitalOut MotorL_EN(p34); + DigitalOut MotorL_FORWARD(P1_1); + //DigitalOut MotorL_REVERSE(P1_0); -DigitalOut MotorR_EN(p36); -DigitalOut MotorR_FORWARD(P1_3); -DigitalOut MotorR_REVERSE(P1_4); + DigitalOut MotorR_EN(p36); + DigitalOut MotorR_FORWARD(P1_3); + //DigitalOut MotorR_REVERSE(P1_4); + PwmOut mg1(p34); //PWM Ausgang zum Motor + PwmOut mg2(p36); + mg1=mg2=speedy; + + MotorR_EN=MotorL_EN=1; // Beide Motoren ENABLE + + MotorR_FORWARD = MotorL_FORWARD = 1; // Beide Motoren vorwärts EIN + wait_ms(2000); // warte 0,25 Sekunde + MotorR_FORWARD = MotorL_FORWARD = 0; // Motoren AUS + MotorR_EN=MotorL_EN=0; // Beide Motoren ENABLE + wait_ms(500); +} +void move(int anzahl) +{ + + for(int i=0; i < anzahl; i++) + move(); + +} + +void turnLeft() +{ +// DigitalOut MotorL_EN(p34); +// DigitalOut MotorL_FORWARD(P1_1); +// DigitalOut MotorL_REVERSE(P1_0); + + DigitalOut MotorR_EN(p36); + DigitalOut MotorR_FORWARD(P1_3); +// DigitalOut MotorR_REVERSE(P1_4); +// MotorL_EN=1; + + MotorR_EN=1; // rechten Motor ENABLE + + MotorR_FORWARD = 1; // rechter Motor vorwärts EIN + wait_ms(750); // warte (90°) + MotorR_FORWARD = 0; // Motoren AUS +} // ************* Hauptprogramm ************ -int main() { // Start Hauptprogramm - MotorR_EN=MotorL_EN=1; // Beide Motoren ENABLE - while(1) { // Anfang der Schleife (ohne Abbruch) - MotorR_FORWARD = MotorL_FORWARD = 1; // Beide Motoren vorwärts EIN - wait (1); // warte 1 Sekunde - MotorR_FORWARD = MotorL_FORWARD = 0; // Motoren AUS - wait (1); // warte 1 Sekunde - } // Springe zum Anfang der Schleife -} +int main() +{ + //move(); + //turnLeft(); + DigitalOut LED_D10(P1_8); // LED D10 und D13 definieren + DigitalOut LED_D11(P1_9); // LED D10 und D13 definieren + DigitalOut LED_D12(P1_10); // LED D10 und D13 definieren + DigitalOut LED_D13(P1_11); // -// ************** ENDE ************* + moveSpeed(0.25); + LED_D10 = 1; + moveSpeed(0.3); + LED_D11 = 1; + moveSpeed(0.4); + LED_D12 = 1; + moveSpeed(0.5); + LED_D13 = 1; + moveSpeed(0.6); + LED_D10 = LED_D11 = LED_D12 = LED_D13 = 0; + moveSpeed(0.7); + LED_D10 = 1; + moveSpeed(0.8); + LED_D11 = 1; + moveSpeed(0.9); + LED_D12 = 1; + moveSpeed(1.0); + LED_D10 = LED_D11 = LED_D12 = LED_D13 = 1; + //wait(2); + //turnLeft(); + //move(); + //turnLeft(); + //move(5); + + //wait(2); + return 0; +}