Lauflichtbalken

Dependencies:   mbed

Committer:
corsa1600
Date:
Mon Feb 04 16:47:27 2019 +0000
Revision:
0:e344e306072b
Lauflichtbalken

Who changed what in which revision?

UserRevisionLine numberNew contents of line
corsa1600 0:e344e306072b 1 #include "mbed.h"
corsa1600 0:e344e306072b 2
corsa1600 0:e344e306072b 3 /********Beispiel 1*********************
corsa1600 0:e344e306072b 4 ledOn() // beide Leds einschalten
corsa1600 0:e344e306072b 5 ledOff() // beide Leds ausschalten
corsa1600 0:e344e306072b 6 ledX() // beide Leds gegengleich schalten
corsa1600 0:e344e306072b 7 printStatus() // Anzeigen ob Leds ein oder aus
corsa1600 0:e344e306072b 8 ******************************/
corsa1600 0:e344e306072b 9
corsa1600 0:e344e306072b 10
corsa1600 0:e344e306072b 11 /**********Beispiel 2***********************
corsa1600 0:e344e306072b 12 * //lauflicht()
corsa1600 0:e344e306072b 13 D1 D2 D3 D4
corsa1600 0:e344e306072b 14 - - - - Ein Durchgang dauert 2 sec
corsa1600 0:e344e306072b 15 X - - -
corsa1600 0:e344e306072b 16 - X - -
corsa1600 0:e344e306072b 17 - - X -
corsa1600 0:e344e306072b 18 - - - X
corsa1600 0:e344e306072b 19 - - - - X=ON - = off
corsa1600 0:e344e306072b 20 *********************************/
corsa1600 0:e344e306072b 21
corsa1600 0:e344e306072b 22 /***********Beispiel 3**********************
corsa1600 0:e344e306072b 23 * //lauflichtbalken()
corsa1600 0:e344e306072b 24 D1 D2 D3 D4
corsa1600 0:e344e306072b 25 - - - - Ein Durchgang dauert 2 sec
corsa1600 0:e344e306072b 26 X - - -
corsa1600 0:e344e306072b 27 X X - -
corsa1600 0:e344e306072b 28 X X X -
corsa1600 0:e344e306072b 29 X X X X
corsa1600 0:e344e306072b 30 - - - -
corsa1600 0:e344e306072b 31 X X X X X=ON - = off
corsa1600 0:e344e306072b 32 **********************************/
corsa1600 0:e344e306072b 33
corsa1600 0:e344e306072b 34 class LaufLichtBalken
corsa1600 0:e344e306072b 35 {
corsa1600 0:e344e306072b 36 public:
corsa1600 0:e344e306072b 37 LaufLichtBalken(PinName pin, PinName pin2, PinName pin3, PinName pin4 ) : _pin(pin) , _pin2(pin2), _pin3(pin3), _pin4(pin4) // initialisierungsliste ( muss gleich heissen wie der Konstruktor )
corsa1600 0:e344e306072b 38 {
corsa1600 0:e344e306072b 39 _pin=0; // initalisierung mit 0
corsa1600 0:e344e306072b 40 _pin2=0;
corsa1600 0:e344e306072b 41 _pin2=0;
corsa1600 0:e344e306072b 42 _pin2=0;
corsa1600 0:e344e306072b 43 }
corsa1600 0:e344e306072b 44
corsa1600 0:e344e306072b 45
corsa1600 0:e344e306072b 46
corsa1600 0:e344e306072b 47 void ledOff(void)
corsa1600 0:e344e306072b 48 {
corsa1600 0:e344e306072b 49 _pin=0;
corsa1600 0:e344e306072b 50 _pin2=0;
corsa1600 0:e344e306072b 51 _pin3=0;
corsa1600 0:e344e306072b 52 _pin4=0;
corsa1600 0:e344e306072b 53 }
corsa1600 0:e344e306072b 54
corsa1600 0:e344e306072b 55 void ledOn1(void)
corsa1600 0:e344e306072b 56 {
corsa1600 0:e344e306072b 57 _pin=1;
corsa1600 0:e344e306072b 58 _pin2=0;
corsa1600 0:e344e306072b 59 _pin3=0;
corsa1600 0:e344e306072b 60 _pin4=0;
corsa1600 0:e344e306072b 61 }
corsa1600 0:e344e306072b 62
corsa1600 0:e344e306072b 63 void ledOn2(void)
corsa1600 0:e344e306072b 64 {
corsa1600 0:e344e306072b 65 _pin=1;
corsa1600 0:e344e306072b 66 _pin2=1;
corsa1600 0:e344e306072b 67 _pin3=0;
corsa1600 0:e344e306072b 68 _pin4=0;
corsa1600 0:e344e306072b 69 }
corsa1600 0:e344e306072b 70
corsa1600 0:e344e306072b 71 void ledOn3(void)
corsa1600 0:e344e306072b 72 {
corsa1600 0:e344e306072b 73 _pin=1;
corsa1600 0:e344e306072b 74 _pin2=1;
corsa1600 0:e344e306072b 75 _pin3=1;
corsa1600 0:e344e306072b 76 _pin4=0;
corsa1600 0:e344e306072b 77 }
corsa1600 0:e344e306072b 78
corsa1600 0:e344e306072b 79 void ledOn4(void)
corsa1600 0:e344e306072b 80 {
corsa1600 0:e344e306072b 81 _pin=1;
corsa1600 0:e344e306072b 82 _pin2=1;
corsa1600 0:e344e306072b 83 _pin3=1;
corsa1600 0:e344e306072b 84 _pin4=1;
corsa1600 0:e344e306072b 85 }
corsa1600 0:e344e306072b 86
corsa1600 0:e344e306072b 87 void printStatus(void)
corsa1600 0:e344e306072b 88 {
corsa1600 0:e344e306072b 89 printf("Status Read:\nLED1 is now %d\nLED2 is now %d\nLED1 is now %d\nLED1 is now %d\n\n", _pin.read(), _pin2.read(), _pin3.read(), _pin4.read());
corsa1600 0:e344e306072b 90 // printf("Read LED is now %d\n", _pin2.read());
corsa1600 0:e344e306072b 91 }
corsa1600 0:e344e306072b 92 private:
corsa1600 0:e344e306072b 93 DigitalOut _pin; // _steht im Namen für privat, am Anfang oder am ende
corsa1600 0:e344e306072b 94 DigitalOut _pin2;
corsa1600 0:e344e306072b 95 DigitalOut _pin3;
corsa1600 0:e344e306072b 96 DigitalOut _pin4;
corsa1600 0:e344e306072b 97 };
corsa1600 0:e344e306072b 98
corsa1600 0:e344e306072b 99
corsa1600 0:e344e306072b 100 LaufLichtBalken lauflichtbalken(LED1, LED2, LED3, LED4);
corsa1600 0:e344e306072b 101 //DigitalOut led(LED1);
corsa1600 0:e344e306072b 102 /* MyLed myled1(LED1);
corsa1600 0:e344e306072b 103 MyLed myled2(LED2); // Instanzierung des Objects
corsa1600 0:e344e306072b 104 MyLed myled3(LED3);
corsa1600 0:e344e306072b 105 MyLed myled4(LED4);
corsa1600 0:e344e306072b 106 MyLed myled5(p5);
corsa1600 0:e344e306072b 107 */
corsa1600 0:e344e306072b 108
corsa1600 0:e344e306072b 109
corsa1600 0:e344e306072b 110
corsa1600 0:e344e306072b 111 int main()
corsa1600 0:e344e306072b 112 {
corsa1600 0:e344e306072b 113 while (1)
corsa1600 0:e344e306072b 114 {
corsa1600 0:e344e306072b 115
corsa1600 0:e344e306072b 116
corsa1600 0:e344e306072b 117 lauflichtbalken.ledOff(); // beide Leds ausschalten
corsa1600 0:e344e306072b 118 lauflichtbalken.printStatus(); // Anzeigen ob Leds ein oder aus
corsa1600 0:e344e306072b 119 wait_ms(333);
corsa1600 0:e344e306072b 120 lauflichtbalken.ledOn1(); // beide Leds einschalten
corsa1600 0:e344e306072b 121 lauflichtbalken.printStatus(); // Anzeigen ob Leds ein oder aus
corsa1600 0:e344e306072b 122 wait_ms(333);
corsa1600 0:e344e306072b 123 lauflichtbalken.ledOn2(); // beide Leds einschalten
corsa1600 0:e344e306072b 124 lauflichtbalken.printStatus(); // Anzeigen ob Leds ein oder aus
corsa1600 0:e344e306072b 125 wait_ms(333);
corsa1600 0:e344e306072b 126 lauflichtbalken.ledOn3(); // beide Leds einschalten
corsa1600 0:e344e306072b 127 lauflichtbalken.printStatus(); // Anzeigen ob Leds ein oder aus
corsa1600 0:e344e306072b 128 wait_ms(333);
corsa1600 0:e344e306072b 129 lauflichtbalken.ledOn4(); // beide Leds einschalten
corsa1600 0:e344e306072b 130 lauflichtbalken.printStatus(); // Anzeigen ob Leds ein oder aus
corsa1600 0:e344e306072b 131 wait_ms(333);
corsa1600 0:e344e306072b 132 lauflichtbalken.ledOff(); // beide Leds ausschalten
corsa1600 0:e344e306072b 133 lauflichtbalken.printStatus(); // Anzeigen ob Leds ein oder aus
corsa1600 0:e344e306072b 134 wait_ms(333);
corsa1600 0:e344e306072b 135 lauflichtbalken.ledOn4(); // beide Leds einschalten
corsa1600 0:e344e306072b 136 lauflichtbalken.printStatus(); // Anzeigen ob Leds ein oder aus
corsa1600 0:e344e306072b 137 wait_ms(333);
corsa1600 0:e344e306072b 138
corsa1600 0:e344e306072b 139 }
corsa1600 0:e344e306072b 140 }
corsa1600 0:e344e306072b 141
corsa1600 0:e344e306072b 142