a

Dependencies:   LM75B mbed

Committer:
bulmenwt
Date:
Wed Jan 28 07:48:11 2015 +0000
Revision:
0:620c051199c6
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bulmenwt 0:620c051199c6 1 /*M0-BOARD LPC11U24 VERSION 1.0 / HI/ENE/WF 09_2014
bulmenwt 0:620c051199c6 2 BULME Graz / Elektronik 29
bulmenwt 0:620c051199c6 3 Alternativ ohne Library für LM75B
bulmenwt 0:620c051199c6 4 */
bulmenwt 0:620c051199c6 5 #include "mbed.h"
bulmenwt 0:620c051199c6 6 #include "LM75B.h"
bulmenwt 0:620c051199c6 7
bulmenwt 0:620c051199c6 8 DigitalOut Led1(LED1);
bulmenwt 0:620c051199c6 9 DigitalOut Led2(LED2);
bulmenwt 0:620c051199c6 10 DigitalOut Led3(LED3);
bulmenwt 0:620c051199c6 11 DigitalOut Led4(LED4);
bulmenwt 0:620c051199c6 12
bulmenwt 0:620c051199c6 13 typedef enum { led_on, temp, led_off} state_t ;
bulmenwt 0:620c051199c6 14
bulmenwt 0:620c051199c6 15 state_t state = led_on;
bulmenwt 0:620c051199c6 16
bulmenwt 0:620c051199c6 17 /* function declaration */
bulmenwt 0:620c051199c6 18 void maxTemp();
bulmenwt 0:620c051199c6 19 void stateMachine();
bulmenwt 0:620c051199c6 20
bulmenwt 0:620c051199c6 21
bulmenwt 0:620c051199c6 22 //Create an LM75B object at the default address (ADDRESS_0)
bulmenwt 0:620c051199c6 23 LM75B sensor(p28, p27);
bulmenwt 0:620c051199c6 24 int main()
bulmenwt 0:620c051199c6 25 {
bulmenwt 0:620c051199c6 26 //Try to open the LM75B
bulmenwt 0:620c051199c6 27 if (sensor.open()) {
bulmenwt 0:620c051199c6 28 printf("Device detected!\n\r");
bulmenwt 0:620c051199c6 29 while (1) {
bulmenwt 0:620c051199c6 30
bulmenwt 0:620c051199c6 31
bulmenwt 0:620c051199c6 32 Led4=1;
bulmenwt 0:620c051199c6 33 wait(0.2);
bulmenwt 0:620c051199c6 34 Led4=0;
bulmenwt 0:620c051199c6 35 wait(0.2);
bulmenwt 0:620c051199c6 36
bulmenwt 0:620c051199c6 37 maxTemp() ;
bulmenwt 0:620c051199c6 38 stateMachine();
bulmenwt 0:620c051199c6 39 wait(1);
bulmenwt 0:620c051199c6 40
bulmenwt 0:620c051199c6 41 //Print the current temperature
bulmenwt 0:620c051199c6 42 // printf("Temp = %.3f\n\r", (float)sensor);
bulmenwt 0:620c051199c6 43 //Sleep for 0.5 seconds
bulmenwt 0:620c051199c6 44 wait(0.5);
bulmenwt 0:620c051199c6 45 }
bulmenwt 0:620c051199c6 46 } else {
bulmenwt 0:620c051199c6 47 error("Device not detected!\n");
bulmenwt 0:620c051199c6 48 }
bulmenwt 0:620c051199c6 49 }
bulmenwt 0:620c051199c6 50
bulmenwt 0:620c051199c6 51
bulmenwt 0:620c051199c6 52 /* function declaration */
bulmenwt 0:620c051199c6 53 void maxTemp();
bulmenwt 0:620c051199c6 54
bulmenwt 0:620c051199c6 55 void stateMachine()
bulmenwt 0:620c051199c6 56 {
bulmenwt 0:620c051199c6 57 switch( state ) {
bulmenwt 0:620c051199c6 58 case led_on:
bulmenwt 0:620c051199c6 59 printf("STATE: led_on!\n\r");
bulmenwt 0:620c051199c6 60 Led2=1;
bulmenwt 0:620c051199c6 61 Led3=1;
bulmenwt 0:620c051199c6 62 state = temp;
bulmenwt 0:620c051199c6 63 break;
bulmenwt 0:620c051199c6 64
bulmenwt 0:620c051199c6 65 case temp:
bulmenwt 0:620c051199c6 66 printf("STATE: temp!\n\r");
bulmenwt 0:620c051199c6 67 printf("Temp = %.3f\n\r", (float)sensor);
bulmenwt 0:620c051199c6 68 wait(0.5);
bulmenwt 0:620c051199c6 69 state = led_off;
bulmenwt 0:620c051199c6 70 break;
bulmenwt 0:620c051199c6 71
bulmenwt 0:620c051199c6 72 case led_off:
bulmenwt 0:620c051199c6 73 printf("STATE: led_off!\n\r");
bulmenwt 0:620c051199c6 74 Led2=0;
bulmenwt 0:620c051199c6 75 Led3=0;
bulmenwt 0:620c051199c6 76 state = led_on;
bulmenwt 0:620c051199c6 77 break;
bulmenwt 0:620c051199c6 78 }
bulmenwt 0:620c051199c6 79 }
bulmenwt 0:620c051199c6 80
bulmenwt 0:620c051199c6 81 void maxTemp()
bulmenwt 0:620c051199c6 82 {
bulmenwt 0:620c051199c6 83 /* local variable declaration */
bulmenwt 0:620c051199c6 84
bulmenwt 0:620c051199c6 85
bulmenwt 0:620c051199c6 86 if (sensor > 29.0) {
bulmenwt 0:620c051199c6 87 Led1=1;
bulmenwt 0:620c051199c6 88 }
bulmenwt 0:620c051199c6 89 else
bulmenwt 0:620c051199c6 90 Led1=0;
bulmenwt 0:620c051199c6 91
bulmenwt 0:620c051199c6 92 //return 0;
bulmenwt 0:620c051199c6 93
bulmenwt 0:620c051199c6 94 }