Show 1

Dependencies:   mbed

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