a

Dependencies:   LM75B mbed

main.cpp

Committer:
bulmenwt
Date:
2015-01-28
Revision:
0:620c051199c6

File content as of revision 0:620c051199c6:

/*M0-BOARD LPC11U24 VERSION 1.0 / HI/ENE/WF 09_2014
BULME Graz / Elektronik 29
Alternativ ohne Library für LM75B
*/
#include "mbed.h"
#include "LM75B.h"

DigitalOut  Led1(LED1);
DigitalOut  Led2(LED2);
DigitalOut  Led3(LED3);
DigitalOut  Led4(LED4);

typedef enum { led_on, temp, led_off} state_t ;

state_t state = led_on;

/* function declaration */
void maxTemp();
void stateMachine();


//Create an LM75B object at the default address (ADDRESS_0)
LM75B sensor(p28, p27);
int main()
{
//Try to open the LM75B
    if (sensor.open()) {
        printf("Device detected!\n\r");
    while (1) {
        
        
     Led4=1;
     wait(0.2);
     Led4=0;
     wait(0.2); 
     
     maxTemp() ;
     stateMachine();
     wait(1); 
               
    //Print the current temperature
   // printf("Temp = %.3f\n\r", (float)sensor);
    //Sleep for 0.5 seconds
    wait(0.5);
    }
    } else {
     error("Device not detected!\n");
    }  
}


/* function declaration */
void maxTemp();

void stateMachine()
{
  switch( state ) {
    case led_on:
       printf("STATE:  led_on!\n\r");
       Led2=1;
       Led3=1;
       state = temp;
       break;
 
    case temp:
      printf("STATE:  temp!\n\r");
      printf("Temp = %.3f\n\r", (float)sensor);
      wait(0.5);
      state = led_off;
      break;
 
    case led_off:
       printf("STATE:  led_off!\n\r");
       Led2=0;
       Led3=0;
       state = led_on;
       break;
  }
}

void maxTemp() 
{
   /* local variable declaration */
   
 
   if (sensor > 29.0) {
      Led1=1; 
      }
   else
      Led1=0; 
 
   //return 0; 
   
}