Tasten, LED; RGB und LDR Test
Dependencies: mbed
Fork of _Lektion_6 by
main.cpp@1:d6e5f9c188d3, 2015-04-28 (annotated)
- Committer:
- Enenkel
- Date:
- Tue Apr 28 07:25:09 2015 +0000
- Revision:
- 1:d6e5f9c188d3
- Parent:
- 0:7bf2f1754883
- Child:
- 2:b09f7006a9b3
HIMBED TEST1 PELIMINARY
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Enenkel | 1:d6e5f9c188d3 | 1 | // HIMBED _TEST1 |
Enenkel | 0:7bf2f1754883 | 2 | // BUKME Graz, by Enenkel 26.2.2014 |
Enenkel | 1:d6e5f9c188d3 | 3 | |
Enenkel | 1:d6e5f9c188d3 | 4 | |
Enenkel | 0:7bf2f1754883 | 5 | #include "mbed.h" |
Enenkel | 1:d6e5f9c188d3 | 6 | // ******** Definitionen ********** |
Enenkel | 1:d6e5f9c188d3 | 7 | Serial pc(USBTX, USBRX); |
Enenkel | 0:7bf2f1754883 | 8 | |
Enenkel | 0:7bf2f1754883 | 9 | // Definition der Taster (Switches) |
Enenkel | 1:d6e5f9c188d3 | 10 | DigitalIn sw1(P0_10); //SW1 |
Enenkel | 1:d6e5f9c188d3 | 11 | DigitalIn sw2(P0_15); //SW2 -> sein IO Pin ist laut Schaltplan der P0_15 |
Enenkel | 1:d6e5f9c188d3 | 12 | DigitalIn sw3(P0_23); //SW3 |
Enenkel | 1:d6e5f9c188d3 | 13 | DigitalIn sw4(P1_16); //SW4 |
Enenkel | 1:d6e5f9c188d3 | 14 | |
Enenkel | 1:d6e5f9c188d3 | 15 | // Definition der 12 LED's |
Enenkel | 1:d6e5f9c188d3 | 16 | DigitalOut ledD1(P1_8); |
Enenkel | 1:d6e5f9c188d3 | 17 | DigitalOut ledD2(P1_9); |
Enenkel | 1:d6e5f9c188d3 | 18 | DigitalOut ledD3(P1_10); |
Enenkel | 1:d6e5f9c188d3 | 19 | DigitalOut ledD4(P1_11); |
Enenkel | 1:d6e5f9c188d3 | 20 | DigitalOut ledD13(P1_0); |
Enenkel | 1:d6e5f9c188d3 | 21 | DigitalOut ledD14(P1_1); |
Enenkel | 1:d6e5f9c188d3 | 22 | DigitalOut ledD15(P1_3); |
Enenkel | 1:d6e5f9c188d3 | 23 | DigitalOut ledD16(P1_4); |
Enenkel | 1:d6e5f9c188d3 | 24 | DigitalOut ledD17(P1_6); |
Enenkel | 1:d6e5f9c188d3 | 25 | DigitalOut ledD18(P1_7); |
Enenkel | 1:d6e5f9c188d3 | 26 | DigitalOut ledD19(P1_12); |
Enenkel | 1:d6e5f9c188d3 | 27 | DigitalOut ledD20(P1_13); |
Enenkel | 1:d6e5f9c188d3 | 28 | |
Enenkel | 1:d6e5f9c188d3 | 29 | // RGB LED |
Enenkel | 1:d6e5f9c188d3 | 30 | DigitalOut ledGR(P0_9); // grüne LED wenn es anders ist bitte mir melden ! ! ! |
Enenkel | 1:d6e5f9c188d3 | 31 | DigitalOut ledBL(P1_15); // blaue LED |
Enenkel | 1:d6e5f9c188d3 | 32 | DigitalOut ledRT(P0_21); // rote LED |
Enenkel | 1:d6e5f9c188d3 | 33 | // LDR Input |
Enenkel | 1:d6e5f9c188d3 | 34 | AnalogIn LDR(P0_12); // Analoges einlesen des LDR |
Enenkel | 1:d6e5f9c188d3 | 35 | int a; |
Enenkel | 0:7bf2f1754883 | 36 | |
Enenkel | 0:7bf2f1754883 | 37 | |
Enenkel | 1:d6e5f9c188d3 | 38 | // Hauptprogramm |
Enenkel | 1:d6e5f9c188d3 | 39 | int main() |
Enenkel | 1:d6e5f9c188d3 | 40 | { |
Enenkel | 1:d6e5f9c188d3 | 41 | char readChar = 0; |
Enenkel | 1:d6e5f9c188d3 | 42 | pc.printf("Welcome to BERTL14\n\r"); |
Enenkel | 1:d6e5f9c188d3 | 43 | |
Enenkel | 1:d6e5f9c188d3 | 44 | /******************** RGB LED TEST ************************/ |
Enenkel | 1:d6e5f9c188d3 | 45 | pc.printf("RGB TEST WEIS - ROT GRÜN BLAU\n\r"); |
Enenkel | 1:d6e5f9c188d3 | 46 | ledGR = 0; // Alle RGB LED EIN |
Enenkel | 1:d6e5f9c188d3 | 47 | ledBL = 0; |
Enenkel | 1:d6e5f9c188d3 | 48 | ledRT = 0; |
Enenkel | 1:d6e5f9c188d3 | 49 | wait(2); // Warte 1 sec. |
Enenkel | 1:d6e5f9c188d3 | 50 | |
Enenkel | 1:d6e5f9c188d3 | 51 | ledRT = 0; // Rote LED einschalten -> INVERSE LOGIG ! |
Enenkel | 1:d6e5f9c188d3 | 52 | ledGR = 1; // andere LED ausschalten |
Enenkel | 1:d6e5f9c188d3 | 53 | ledBL = 1; // (nicht nötig, da sie schon AUS sind !) |
Enenkel | 1:d6e5f9c188d3 | 54 | wait(1); |
Enenkel | 1:d6e5f9c188d3 | 55 | |
Enenkel | 1:d6e5f9c188d3 | 56 | ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG ! |
Enenkel | 1:d6e5f9c188d3 | 57 | ledGR = 0; // Grüne LED = EIN |
Enenkel | 1:d6e5f9c188d3 | 58 | ledBL = 1; |
Enenkel | 1:d6e5f9c188d3 | 59 | wait(1); |
Enenkel | 1:d6e5f9c188d3 | 60 | |
Enenkel | 1:d6e5f9c188d3 | 61 | ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG ! |
Enenkel | 1:d6e5f9c188d3 | 62 | ledGR = 1; |
Enenkel | 1:d6e5f9c188d3 | 63 | ledBL = 0; // Blaue LED = EIN |
Enenkel | 1:d6e5f9c188d3 | 64 | wait(1); |
Enenkel | 1:d6e5f9c188d3 | 65 | |
Enenkel | 1:d6e5f9c188d3 | 66 | ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG ! |
Enenkel | 1:d6e5f9c188d3 | 67 | ledGR = 1; |
Enenkel | 1:d6e5f9c188d3 | 68 | ledBL = 1; |
Enenkel | 1:d6e5f9c188d3 | 69 | wait(0.1); |
Enenkel | 1:d6e5f9c188d3 | 70 | /********************* 2x Lauflicht der LEDS *************/ |
Enenkel | 1:d6e5f9c188d3 | 71 | pc.printf("LAUFLICHT ÜBER 12 LED \n\r"); |
Enenkel | 1:d6e5f9c188d3 | 72 | a=1; |
Enenkel | 1:d6e5f9c188d3 | 73 | while (a<3) { |
Enenkel | 1:d6e5f9c188d3 | 74 | ledD1=1; |
Enenkel | 1:d6e5f9c188d3 | 75 | wait(0.5); |
Enenkel | 1:d6e5f9c188d3 | 76 | ledD1=0; |
Enenkel | 1:d6e5f9c188d3 | 77 | ledD2=1; |
Enenkel | 1:d6e5f9c188d3 | 78 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 79 | ledD2=0; |
Enenkel | 1:d6e5f9c188d3 | 80 | ledD3=1; |
Enenkel | 1:d6e5f9c188d3 | 81 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 82 | ledD3=0; |
Enenkel | 1:d6e5f9c188d3 | 83 | ledD4=1; |
Enenkel | 1:d6e5f9c188d3 | 84 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 85 | ledD4=0; |
Enenkel | 1:d6e5f9c188d3 | 86 | ledD13=1; |
Enenkel | 1:d6e5f9c188d3 | 87 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 88 | ledD13=0; |
Enenkel | 1:d6e5f9c188d3 | 89 | ledD14=1; |
Enenkel | 1:d6e5f9c188d3 | 90 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 91 | ledD14=0; |
Enenkel | 1:d6e5f9c188d3 | 92 | ledD15=1; |
Enenkel | 1:d6e5f9c188d3 | 93 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 94 | ledD15=0; |
Enenkel | 1:d6e5f9c188d3 | 95 | ledD16=1; |
Enenkel | 1:d6e5f9c188d3 | 96 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 97 | ledD16=0; |
Enenkel | 1:d6e5f9c188d3 | 98 | ledD17=1; |
Enenkel | 1:d6e5f9c188d3 | 99 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 100 | ledD17=0; |
Enenkel | 1:d6e5f9c188d3 | 101 | ledD18=1; |
Enenkel | 1:d6e5f9c188d3 | 102 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 103 | ledD18=0; |
Enenkel | 1:d6e5f9c188d3 | 104 | ledD19=1; |
Enenkel | 1:d6e5f9c188d3 | 105 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 106 | ledD19=0; |
Enenkel | 1:d6e5f9c188d3 | 107 | ledD20=1; |
Enenkel | 1:d6e5f9c188d3 | 108 | wait (0.2); |
Enenkel | 1:d6e5f9c188d3 | 109 | ledD20=0; |
Enenkel | 1:d6e5f9c188d3 | 110 | a=a++; |
Enenkel | 1:d6e5f9c188d3 | 111 | } |
Enenkel | 1:d6e5f9c188d3 | 112 | |
Enenkel | 1:d6e5f9c188d3 | 113 | // **************** TASTER TEST ******************** |
Enenkel | 1:d6e5f9c188d3 | 114 | pc.printf("TASTER und LDR TEST\n\r"); |
Enenkel | 1:d6e5f9c188d3 | 115 | while(1) { |
Enenkel | 1:d6e5f9c188d3 | 116 | if (sw4==1) // SW4 (die Taste1) gedrückt ist, dann: |
Enenkel | 0:7bf2f1754883 | 117 | ledD1=1; |
Enenkel | 0:7bf2f1754883 | 118 | else { |
Enenkel | 1:d6e5f9c188d3 | 119 | ledD1=0; // LED1 off |
Enenkel | 1:d6e5f9c188d3 | 120 | } |
Enenkel | 1:d6e5f9c188d3 | 121 | wait (0.001); // Pause von 0,1 sec vor nächster Abfrage. |
Enenkel | 1:d6e5f9c188d3 | 122 | |
Enenkel | 1:d6e5f9c188d3 | 123 | if (sw3==1) |
Enenkel | 1:d6e5f9c188d3 | 124 | ledD2=1; |
Enenkel | 0:7bf2f1754883 | 125 | else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist |
Enenkel | 0:7bf2f1754883 | 126 | ledD2=0; |
Enenkel | 1:d6e5f9c188d3 | 127 | } |
Enenkel | 0:7bf2f1754883 | 128 | wait (0.001); |
Enenkel | 1:d6e5f9c188d3 | 129 | if (sw2==1) //IF .... ELSE ... |
Enenkel | 1:d6e5f9c188d3 | 130 | ledD4=1; |
Enenkel | 0:7bf2f1754883 | 131 | else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist |
Enenkel | 1:d6e5f9c188d3 | 132 | ledD4=0; } |
Enenkel | 0:7bf2f1754883 | 133 | wait (0.001); |
Enenkel | 1:d6e5f9c188d3 | 134 | |
Enenkel | 1:d6e5f9c188d3 | 135 | if (sw1==1) //IF .... ELSE ... |
Enenkel | 1:d6e5f9c188d3 | 136 | ledD3=1; // LED1 on |
Enenkel | 1:d6e5f9c188d3 | 137 | else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist |
Enenkel | 1:d6e5f9c188d3 | 138 | ledD3=0; |
Enenkel | 0:7bf2f1754883 | 139 | } // } beendet die Anweisungen für die else - Bedingungen |
Enenkel | 0:7bf2f1754883 | 140 | wait (0.001); // Pause von 0,1 sec vor nächster Abfrage. |
Enenkel | 1:d6e5f9c188d3 | 141 | |
Enenkel | 1:d6e5f9c188d3 | 142 | /*************** LDR TEST *******************************/ |
Enenkel | 1:d6e5f9c188d3 | 143 | if(LDR <= 0.2) |
Enenkel | 1:d6e5f9c188d3 | 144 | ledD1=1; |
Enenkel | 1:d6e5f9c188d3 | 145 | else |
Enenkel | 1:d6e5f9c188d3 | 146 | ledD1=0; |
Enenkel | 1:d6e5f9c188d3 | 147 | |
Enenkel | 1:d6e5f9c188d3 | 148 | if(LDR <= 0.07) // Ab einer Lichtstärke von 0.15 oder kleiner |
Enenkel | 1:d6e5f9c188d3 | 149 | ledD4 = 1; // Ist die LED D1 EIN |
Enenkel | 1:d6e5f9c188d3 | 150 | else |
Enenkel | 1:d6e5f9c188d3 | 151 | ledD4 = 0; |
Enenkel | 1:d6e5f9c188d3 | 152 | |
Enenkel | 1:d6e5f9c188d3 | 153 | if (LDR <= 0.1) |
Enenkel | 1:d6e5f9c188d3 | 154 | ledD3=1; |
Enenkel | 1:d6e5f9c188d3 | 155 | else |
Enenkel | 1:d6e5f9c188d3 | 156 | ledD3=0; |
Enenkel | 1:d6e5f9c188d3 | 157 | |
Enenkel | 1:d6e5f9c188d3 | 158 | if (LDR <= 0.15) |
Enenkel | 1:d6e5f9c188d3 | 159 | ledD2=1; |
Enenkel | 1:d6e5f9c188d3 | 160 | else |
Enenkel | 1:d6e5f9c188d3 | 161 | ledD2=0; |
Enenkel | 1:d6e5f9c188d3 | 162 | |
Enenkel | 1:d6e5f9c188d3 | 163 | wait (0.01); |
Enenkel | 1:d6e5f9c188d3 | 164 | /************************** *********************/ |
Enenkel | 1:d6e5f9c188d3 | 165 | /* readChar = pc.getc(); |
Enenkel | 1:d6e5f9c188d3 | 166 | if(readChar >= 65 && readChar <= 90){ // Großbuchstaben in Kleinbuchstaben umwandeln |
Enenkel | 1:d6e5f9c188d3 | 167 | pc.putc(readChar + 32); |
Enenkel | 1:d6e5f9c188d3 | 168 | } else if(readChar >= 97 && readChar <= 122){ // Kleinbuchstaben in Großbuchstaben umwandeln |
Enenkel | 1:d6e5f9c188d3 | 169 | pc.putc(readChar - 32); |
Enenkel | 1:d6e5f9c188d3 | 170 | } else { // Sonst schicke was gekommen ist |
Enenkel | 1:d6e5f9c188d3 | 171 | pc.putc(readChar); |
Enenkel | 1:d6e5f9c188d3 | 172 | } |
Enenkel | 1:d6e5f9c188d3 | 173 | */ |
Enenkel | 1:d6e5f9c188d3 | 174 | |
Enenkel | 1:d6e5f9c188d3 | 175 | } |
Enenkel | 1:d6e5f9c188d3 | 176 | } |
Enenkel | 1:d6e5f9c188d3 | 177 | /***********/ |
Enenkel | 1:d6e5f9c188d3 | 178 | /******************** ENDE ***********************/ |