Tasten, LED; RGB und LDR Test

Dependencies:   mbed

Fork of _Lektion_6 by BULME_CHEL19

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?

UserRevisionLine numberNew 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 ***********************/