B17 fährt ein 4 ECK mit LICHT (DigitalOut & wait)

Dependencies:   mbed

Fork of _B15_T4_Motor by Gottfried Enenkel

main.cpp

Committer:
Enenkel
Date:
2017-05-13
Revision:
3:ae92df7a1e88
Parent:
2:416e90645a22

File content as of revision 3:ae92df7a1e88:

/***************************************************************************
Name:   B17_Lektion03c                                4 ECK fahren mit LICHT
Author: Gottfried Enenkel   HTL BULME
Email:  ene@bulme.at
Aufgabe:
    Ändere die Software so, dass
    schalte die beiden Scheinwerfer ein  (D1 und D4)
    der BERTL 0,5 sec vor fährt
    bleib stehen und blinke 2x mit der richtigen gelben LED(z.B. D2)
    und dann eine 90° Drehung macht ( nur ein Motor kurz ein)
    Die Übung ist fertig, wenn er ein schönes 4 Eck fährt
    die Scheinwerfer an sind,
    und er jedesmal VOR dem Abbiegen brav blinkt.
    Die Zeiten sind anzupassen.

    Vatiante 2
    Lass ihn einmal links herum fahren und einmal rechts herum !

***************************************************************************/
#include "mbed.h"

// ************ DEKLARATIONEN **************
DigitalOut Von (P2_13);          // 10 V Versorgung einschalten !

// Motor MG1
DigitalOut MotorL_EN(P1_19);     // Enable
DigitalOut MotorL_FORWARD(P2_14);// Vorwerts
DigitalOut MotorL_REVERSE(P2_15);// Rückwerts
// MOTOR MG2
DigitalOut MotorR_EN(P2_19);      // Enable
DigitalOut MotorR_FORWARD(P2_20); // Vorwerts
DigitalOut MotorR_REVERSE(P1_4);  // Rückwerts

DigitalOut LedD1 (P1_10);         // weiße LED D1 definieren

// Den Rest schreibst selber !  guckst du in den Schaltplan Seite 1

// *************  Hauptprogramm ************
int main()                       // Start Hauptprogramm
{
    Von=1;                       // Motor Versorgunga Spannung EIN
    MotorR_EN=MotorL_EN=1;       // Beide Motoren ENABLE

    LedD1=1;                     // einen Scheinwerfer einschalten
    // hier kommt der andere Scheinwerfer hin

    while(1) {                   // Anfang der Schleife (ohne Abbruch)
        MotorR_FORWARD = 1;      // RECHTER Motor vorwärts EIN
        MotorL_FORWARD = 1;      // LINKER Motoren vorwärts EIN
        wait (1.0);              // warte 1 Sekunde  fährt 1 sec vor
        MotorR_FORWARD = 0;      // RECHTER Motor STOP
        MotorL_FORWARD = 0;      // LINKER Motoren STOP
        //Da kommt das BLINKEN der BLINKER rein !
               // ein
               // wait
               // aus
               // wait
               // ein
               // wait 0.1
               // aus
        // mach Kurve 90°


    }                            // Springe zum Anfang der Schleife
}                                // Ende des Hauptprogrammes

// ****************************     ENDE     *********************************