Testet alle HIMBED Funktionen

Dependencies:   mbed

Fork of _HIMBED_TEST1 by BULME_HIMBED

Committer:
Enenkel
Date:
Tue Oct 10 09:16:19 2017 +0000
Revision:
2:145755cf7bef
Parent:
1:d6e5f9c188d3
HIMBED_TEST1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Enenkel 1:d6e5f9c188d3 1 // HIMBED _TEST1
Enenkel 2:145755cf7bef 2 // BULME 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 2:145755cf7bef 35 AnalogIn POTI (P0_11); // Analog in des POTI
Enenkel 2:145755cf7bef 36 int b; // Wert für POTI
Enenkel 2:145755cf7bef 37 int a;
Enenkel 0:7bf2f1754883 38
Enenkel 1:d6e5f9c188d3 39 // Hauptprogramm
Enenkel 1:d6e5f9c188d3 40 int main()
Enenkel 1:d6e5f9c188d3 41 {
Enenkel 1:d6e5f9c188d3 42 char readChar = 0;
Enenkel 2:145755cf7bef 43 pc.printf("Welcome to HIMBED\n\r");
Enenkel 2:145755cf7bef 44 wait (2);
Enenkel 1:d6e5f9c188d3 45
Enenkel 1:d6e5f9c188d3 46 /******************** RGB LED TEST ************************/
Enenkel 2:145755cf7bef 47 pc.printf("RGB TEST WEIS - ROT GRUN BLAU\n\r");
Enenkel 1:d6e5f9c188d3 48 ledGR = 0; // Alle RGB LED EIN
Enenkel 1:d6e5f9c188d3 49 ledBL = 0;
Enenkel 1:d6e5f9c188d3 50 ledRT = 0;
Enenkel 1:d6e5f9c188d3 51 wait(2); // Warte 1 sec.
Enenkel 1:d6e5f9c188d3 52
Enenkel 1:d6e5f9c188d3 53 ledRT = 0; // Rote LED einschalten -> INVERSE LOGIG !
Enenkel 1:d6e5f9c188d3 54 ledGR = 1; // andere LED ausschalten
Enenkel 1:d6e5f9c188d3 55 ledBL = 1; // (nicht nötig, da sie schon AUS sind !)
Enenkel 1:d6e5f9c188d3 56 wait(1);
Enenkel 1:d6e5f9c188d3 57
Enenkel 1:d6e5f9c188d3 58 ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG !
Enenkel 1:d6e5f9c188d3 59 ledGR = 0; // Grüne LED = EIN
Enenkel 1:d6e5f9c188d3 60 ledBL = 1;
Enenkel 1:d6e5f9c188d3 61 wait(1);
Enenkel 1:d6e5f9c188d3 62
Enenkel 1:d6e5f9c188d3 63 ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG !
Enenkel 1:d6e5f9c188d3 64 ledGR = 1;
Enenkel 1:d6e5f9c188d3 65 ledBL = 0; // Blaue LED = EIN
Enenkel 1:d6e5f9c188d3 66 wait(1);
Enenkel 1:d6e5f9c188d3 67
Enenkel 1:d6e5f9c188d3 68 ledRT = 1; // Alle LED ausschalten -> INVERSE LOGIG !
Enenkel 1:d6e5f9c188d3 69 ledGR = 1;
Enenkel 1:d6e5f9c188d3 70 ledBL = 1;
Enenkel 1:d6e5f9c188d3 71 wait(0.1);
Enenkel 1:d6e5f9c188d3 72 /********************* 2x Lauflicht der LEDS *************/
Enenkel 2:145755cf7bef 73 pc.printf("LAUFLICHT UBER 12 LED \n\r");
Enenkel 1:d6e5f9c188d3 74 a=1;
Enenkel 1:d6e5f9c188d3 75 while (a<3) {
Enenkel 1:d6e5f9c188d3 76 ledD1=1;
Enenkel 1:d6e5f9c188d3 77 wait(0.5);
Enenkel 1:d6e5f9c188d3 78 ledD1=0;
Enenkel 1:d6e5f9c188d3 79 ledD2=1;
Enenkel 1:d6e5f9c188d3 80 wait (0.2);
Enenkel 1:d6e5f9c188d3 81 ledD2=0;
Enenkel 1:d6e5f9c188d3 82 ledD3=1;
Enenkel 1:d6e5f9c188d3 83 wait (0.2);
Enenkel 1:d6e5f9c188d3 84 ledD3=0;
Enenkel 1:d6e5f9c188d3 85 ledD4=1;
Enenkel 1:d6e5f9c188d3 86 wait (0.2);
Enenkel 1:d6e5f9c188d3 87 ledD4=0;
Enenkel 1:d6e5f9c188d3 88 ledD13=1;
Enenkel 1:d6e5f9c188d3 89 wait (0.2);
Enenkel 1:d6e5f9c188d3 90 ledD13=0;
Enenkel 1:d6e5f9c188d3 91 ledD14=1;
Enenkel 1:d6e5f9c188d3 92 wait (0.2);
Enenkel 1:d6e5f9c188d3 93 ledD14=0;
Enenkel 1:d6e5f9c188d3 94 ledD15=1;
Enenkel 1:d6e5f9c188d3 95 wait (0.2);
Enenkel 1:d6e5f9c188d3 96 ledD15=0;
Enenkel 1:d6e5f9c188d3 97 ledD16=1;
Enenkel 1:d6e5f9c188d3 98 wait (0.2);
Enenkel 1:d6e5f9c188d3 99 ledD16=0;
Enenkel 1:d6e5f9c188d3 100 ledD17=1;
Enenkel 1:d6e5f9c188d3 101 wait (0.2);
Enenkel 1:d6e5f9c188d3 102 ledD17=0;
Enenkel 1:d6e5f9c188d3 103 ledD18=1;
Enenkel 1:d6e5f9c188d3 104 wait (0.2);
Enenkel 1:d6e5f9c188d3 105 ledD18=0;
Enenkel 1:d6e5f9c188d3 106 ledD19=1;
Enenkel 1:d6e5f9c188d3 107 wait (0.2);
Enenkel 1:d6e5f9c188d3 108 ledD19=0;
Enenkel 1:d6e5f9c188d3 109 ledD20=1;
Enenkel 1:d6e5f9c188d3 110 wait (0.2);
Enenkel 1:d6e5f9c188d3 111 ledD20=0;
Enenkel 1:d6e5f9c188d3 112 a=a++;
Enenkel 1:d6e5f9c188d3 113 }
Enenkel 1:d6e5f9c188d3 114
Enenkel 1:d6e5f9c188d3 115 // **************** TASTER TEST ********************
Enenkel 1:d6e5f9c188d3 116 pc.printf("TASTER und LDR TEST\n\r");
Enenkel 1:d6e5f9c188d3 117 while(1) {
Enenkel 1:d6e5f9c188d3 118 if (sw4==1) // SW4 (die Taste1) gedrückt ist, dann:
Enenkel 0:7bf2f1754883 119 ledD1=1;
Enenkel 0:7bf2f1754883 120 else {
Enenkel 1:d6e5f9c188d3 121 ledD1=0; // LED1 off
Enenkel 1:d6e5f9c188d3 122 }
Enenkel 1:d6e5f9c188d3 123 wait (0.001); // Pause von 0,1 sec vor nächster Abfrage.
Enenkel 1:d6e5f9c188d3 124
Enenkel 1:d6e5f9c188d3 125 if (sw3==1)
Enenkel 1:d6e5f9c188d3 126 ledD2=1;
Enenkel 0:7bf2f1754883 127 else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist
Enenkel 0:7bf2f1754883 128 ledD2=0;
Enenkel 1:d6e5f9c188d3 129 }
Enenkel 0:7bf2f1754883 130 wait (0.001);
Enenkel 1:d6e5f9c188d3 131 if (sw2==1) //IF .... ELSE ...
Enenkel 1:d6e5f9c188d3 132 ledD4=1;
Enenkel 0:7bf2f1754883 133 else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist
Enenkel 1:d6e5f9c188d3 134 ledD4=0; }
Enenkel 0:7bf2f1754883 135 wait (0.001);
Enenkel 1:d6e5f9c188d3 136
Enenkel 1:d6e5f9c188d3 137 if (sw1==1) //IF .... ELSE ...
Enenkel 1:d6e5f9c188d3 138 ledD3=1; // LED1 on
Enenkel 1:d6e5f9c188d3 139 else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist
Enenkel 1:d6e5f9c188d3 140 ledD3=0;
Enenkel 0:7bf2f1754883 141 } // } beendet die Anweisungen für die else - Bedingungen
Enenkel 0:7bf2f1754883 142 wait (0.001); // Pause von 0,1 sec vor nächster Abfrage.
Enenkel 1:d6e5f9c188d3 143
Enenkel 1:d6e5f9c188d3 144 /*************** LDR TEST *******************************/
Enenkel 1:d6e5f9c188d3 145 if(LDR <= 0.2)
Enenkel 1:d6e5f9c188d3 146 ledD1=1;
Enenkel 1:d6e5f9c188d3 147 else
Enenkel 1:d6e5f9c188d3 148 ledD1=0;
Enenkel 1:d6e5f9c188d3 149
Enenkel 1:d6e5f9c188d3 150 if(LDR <= 0.07) // Ab einer Lichtstärke von 0.15 oder kleiner
Enenkel 1:d6e5f9c188d3 151 ledD4 = 1; // Ist die LED D1 EIN
Enenkel 1:d6e5f9c188d3 152 else
Enenkel 1:d6e5f9c188d3 153 ledD4 = 0;
Enenkel 1:d6e5f9c188d3 154
Enenkel 1:d6e5f9c188d3 155 if (LDR <= 0.1)
Enenkel 1:d6e5f9c188d3 156 ledD3=1;
Enenkel 1:d6e5f9c188d3 157 else
Enenkel 1:d6e5f9c188d3 158 ledD3=0;
Enenkel 1:d6e5f9c188d3 159
Enenkel 1:d6e5f9c188d3 160 if (LDR <= 0.15)
Enenkel 1:d6e5f9c188d3 161 ledD2=1;
Enenkel 1:d6e5f9c188d3 162 else
Enenkel 1:d6e5f9c188d3 163 ledD2=0;
Enenkel 1:d6e5f9c188d3 164
Enenkel 1:d6e5f9c188d3 165 wait (0.01);
Enenkel 2:145755cf7bef 166
Enenkel 2:145755cf7bef 167 /*********** POTI ***********
Enenkel 2:145755cf7bef 168
Enenkel 2:145755cf7bef 169
Enenkel 1:d6e5f9c188d3 170 /************************** *********************/
Enenkel 1:d6e5f9c188d3 171 /* readChar = pc.getc();
Enenkel 1:d6e5f9c188d3 172 if(readChar >= 65 && readChar <= 90){ // Großbuchstaben in Kleinbuchstaben umwandeln
Enenkel 1:d6e5f9c188d3 173 pc.putc(readChar + 32);
Enenkel 1:d6e5f9c188d3 174 } else if(readChar >= 97 && readChar <= 122){ // Kleinbuchstaben in Großbuchstaben umwandeln
Enenkel 1:d6e5f9c188d3 175 pc.putc(readChar - 32);
Enenkel 1:d6e5f9c188d3 176 } else { // Sonst schicke was gekommen ist
Enenkel 1:d6e5f9c188d3 177 pc.putc(readChar);
Enenkel 1:d6e5f9c188d3 178 }
Enenkel 1:d6e5f9c188d3 179 */
Enenkel 1:d6e5f9c188d3 180
Enenkel 1:d6e5f9c188d3 181 }
Enenkel 1:d6e5f9c188d3 182 }
Enenkel 1:d6e5f9c188d3 183 /***********/
Enenkel 1:d6e5f9c188d3 184 /******************** ENDE ***********************/