![](/media/cache/profiles/26e12e8ce3cf76d35b5ab714143378cd.jpg.50x50_q85.jpg)
Show 1
main.cpp
- Committer:
- Enenkel
- Date:
- 2016-01-13
- Revision:
- 2:f799412fe395
- Parent:
- 1:d6e5f9c188d3
- Child:
- 3:00e484173b1f
File content as of revision 2:f799412fe395:
// HIMBED _TEST1_V2 // Diese Software testet die verschiedenen Funktionen des M0 Boards // BULME Graz, by Enenkel 26.12.2015 /* zuerst __ RGB TEST; dann ___ D1 bis D13 2x getestet __ Taster Testen ___ LDR Testen __ FTDI TEST (mit RES) ___ POTI Test __ TEMP Test --- fehlt nur noch UHR und RAM */ #include "mbed.h" #include "LM75B.h" // ******** Definitionen ********** Serial pc(USBTX, USBRX); // Definition der Taster (Switches) 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 AnalogIn POTI (P0_11); // Analog in des POTI //Create an LM75B object at the default address (ADDRESS_0) LM75B sensor(p28, p27); //i²C Sensor Leitungen int b; // Wert für POTI int a; // ********** Hauptprogramm ************** int main() { // char readChar = 0; pc.printf("Welcome to HIMBED TEST V2 \n\r"); wait (2); /******************** RGB & LED TEST *********************/ /***********************************************************/ pc.printf("RGB TEST WEIS - ROT GRUN 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 UBER 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"); pc.printf(" für POTI TEST drücke sw1 & sw2 \n\r"); pc.printf(" -- POTI von 0-1 regelbar !\n\r"); while(1) { if (sw4==1) // SW4 (die Taste1) gedrückt ist, dann: ledD1=1; else { 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; } wait (0.001); if (sw2==1) //IF .... ELSE ... ledD4=1; else { // beginn der ELSE Bedingung... wenn die Taste NICHT gedrückt ist ledD4=0; } wait (0.001); 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. /*************** 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); /*********** POTI - TEST ***********/ // Printet den Wert des POTI auf den CRT // Poti Wert verändern, Ändert Wert if (sw1==1) { if (sw2==1) { printf ("POTI = %.3f \n\r",(float)POTI); wait(2); } } // LM75B Temperatur auslesen und anzeigen // Finger auf den BIM und Wert ändert sich if (sw2==1) { if (sw3==1) { pc.printf ("Temp = %.3f \n\r",(float)sensor); // pc.printf ("Temp= %.3f \n\r",LM75B_Temp); wait(2); } } /* 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 ***********************/