Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of _HIMBED_TEST1 by
Diff: main.cpp
- 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
