Tasten, LED; RGB und LDR Test
Dependencies: mbed
Fork of _Lektion_6 by
Diff: main.cpp
- Revision:
- 1:d6e5f9c188d3
- Parent:
- 0:7bf2f1754883
- Child:
- 2:b09f7006a9b3
diff -r 7bf2f1754883 -r d6e5f9c188d3 main.cpp --- a/main.cpp Mon Feb 02 11:38:41 2015 +0000 +++ b/main.cpp Tue Apr 28 07:25:09 2015 +0000 @@ -1,66 +1,178 @@ -// _lektion6 TASTEN einlesen +// HIMBED _TEST1 // BUKME Graz, by Enenkel 26.2.2014 -// Aufgabe: -// Schreibe die Software so um, dass: -// Bei drücken der Taste 1 die LED1 leuchtet -// Bei drücken der Taste 2 die LED2 leuchtet -// Bei drücken der Taste 3 die LED3 leuchtet -// Bei drücken der Taste 4 die LED4 leuchtet - + + #include "mbed.h" - -DigitalOut ledD1(LED1); -DigitalOut ledD2(LED2); -DigitalOut ledD3(LED3); -DigitalOut ledD4(LED4); -DigitalOut ledD5(P1_0); -DigitalOut ledD6(P1_1); - +// ******** Definitionen ********** +Serial pc(USBTX, USBRX); // Definition der Taster (Switches) -DigitalIn sw4(P0_15); // SW1 -> sein IO Pin ist laut Schaltplan der P0_15 -DigitalIn sw3(P0_10); // Die Pins werden hier mit DigitalIn belegt ! -DigitalIn sw2(P0_23); -DigitalIn sw1(P1_16); +DigitalIn sw1(P0_10); //SW1 +DigitalIn sw2(P0_15); //SW2 -> sein IO Pin ist laut Schaltplan der P0_15 +DigitalIn sw3(P0_23); //SW3 +DigitalIn sw4(P1_16); //SW4 + +// Definition der 12 LED's +DigitalOut ledD1(P1_8); +DigitalOut ledD2(P1_9); +DigitalOut ledD3(P1_10); +DigitalOut ledD4(P1_11); +DigitalOut ledD13(P1_0); +DigitalOut ledD14(P1_1); +DigitalOut ledD15(P1_3); +DigitalOut ledD16(P1_4); +DigitalOut ledD17(P1_6); +DigitalOut ledD18(P1_7); +DigitalOut ledD19(P1_12); +DigitalOut ledD20(P1_13); + +// RGB LED +DigitalOut ledGR(P0_9); // grüne LED wenn es anders ist bitte mir melden ! ! ! +DigitalOut ledBL(P1_15); // blaue LED +DigitalOut ledRT(P0_21); // rote LED +// LDR Input +AnalogIn LDR(P0_12); // Analoges einlesen des LDR +int a; -// *** Hauptprogramm *** -int main() { - while(1) { - if (sw1==1) //IF .... ELSE ... // Wenn SW1 (die Taste1) gedrückt ist, dann: +// Hauptprogramm +int main() +{ + char readChar = 0; + pc.printf("Welcome to BERTL14\n\r"); + +/******************** RGB LED TEST ************************/ + pc.printf("RGB TEST WEIS - ROT GRÜN BLAU\n\r"); + ledGR = 0; // Alle RGB LED EIN + ledBL = 0; + ledRT = 0; + wait(2); // Warte 1 sec. + + ledRT = 0; // Rote LED einschalten -> INVERSE LOGIG ! + ledGR = 1; // andere LED ausschalten + ledBL = 1; // (nicht nötig, da sie schon AUS sind !) + wait(1); + + ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG ! + ledGR = 0; // Grüne LED = EIN + ledBL = 1; + wait(1); + + ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG ! + ledGR = 1; + ledBL = 0; // Blaue LED = EIN + wait(1); + + ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG ! + ledGR = 1; + ledBL = 1; + wait(0.1); + /********************* 2x Lauflicht der LEDS *************/ + pc.printf("LAUFLICHT ÜBER 12 LED \n\r"); + a=1; + while (a<3) { + ledD1=1; + wait(0.5); + ledD1=0; + ledD2=1; + wait (0.2); + ledD2=0; + ledD3=1; + wait (0.2); + ledD3=0; + ledD4=1; + wait (0.2); + ledD4=0; + ledD13=1; + wait (0.2); + ledD13=0; + ledD14=1; + wait (0.2); + ledD14=0; + ledD15=1; + wait (0.2); + ledD15=0; + ledD16=1; + wait (0.2); + ledD16=0; + ledD17=1; + wait (0.2); + ledD17=0; + ledD18=1; + wait (0.2); + ledD18=0; + ledD19=1; + wait (0.2); + ledD19=0; + ledD20=1; + wait (0.2); + ledD20=0; + a=a++; + } + +// **************** TASTER TEST ******************** + pc.printf("TASTER und LDR TEST\n\r"); + while(1) { + if (sw4==1) // SW4 (die Taste1) gedrückt ist, dann: ledD1=1; - // LED1 on else { - // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist - ledD1=0; // LED1 off - } // } beendet die Anweisungen für die else - Bedingungen - wait (0.001); // Pause von 0,1 sec vor nächster Abfrage. - // in dieser Zeit erfolgt kein EINLESEN des Schalters - // und die LED bleiben wie sie sind. - - if (sw2==1) //IF .... ELSE ... - // Wenn SW1 (die Taste1) gedrückt ist, dann: - ledD2=1; // LED1 on + ledD1=0; // LED1 off + } + wait (0.001); // Pause von 0,1 sec vor nächster Abfrage. + + if (sw3==1) + ledD2=1; else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist ledD2=0; - // LED1 off - } + } wait (0.001); - if (sw3==1) //IF .... ELSE ... - // Wenn SW1 (die Taste1) gedrückt ist, dann: - ledD3=1; // LED1 on + if (sw2==1) //IF .... ELSE ... + ledD4=1; else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist - ledD3=0; } + ledD4=0; } wait (0.001); - if (sw4==1) //IF .... ELSE ... - // Wenn SW1 (die Taste1) gedrückt ist, dann: - ledD4=1; // LED1 on - else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist - ledD4=0; + + if (sw1==1) //IF .... ELSE ... + ledD3=1; // LED1 on + else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist + ledD3=0; } // } beendet die Anweisungen für die else - Bedingungen wait (0.001); // Pause von 0,1 sec vor nächster Abfrage. - // in dieser Zeit erfolgt kein EINLESEN des Schalters - // und die LED bleiben wie sie sind. - -}} - + +/*************** LDR TEST *******************************/ + if(LDR <= 0.2) + ledD1=1; + else + ledD1=0; + + if(LDR <= 0.07) // Ab einer Lichtstärke von 0.15 oder kleiner + ledD4 = 1; // Ist die LED D1 EIN + else + ledD4 = 0; + + if (LDR <= 0.1) + ledD3=1; + else + ledD3=0; + + if (LDR <= 0.15) + ledD2=1; + else + ledD2=0; + + wait (0.01); + /************************** *********************/ + /* readChar = pc.getc(); + if(readChar >= 65 && readChar <= 90){ // Großbuchstaben in Kleinbuchstaben umwandeln + pc.putc(readChar + 32); + } else if(readChar >= 97 && readChar <= 122){ // Kleinbuchstaben in Großbuchstaben umwandeln + pc.putc(readChar - 32); + } else { // Sonst schicke was gekommen ist + pc.putc(readChar); + } + */ + +} +} +/***********/ +/******************** ENDE ***********************/ \ No newline at end of file