Tasten, LED; RGB und LDR Test

Dependencies:   mbed

Fork of _Lektion_6 by BULME_CHEL19

Revision:
1:d6e5f9c188d3
Parent:
0:7bf2f1754883
Child:
2:b09f7006a9b3
--- 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