M0Board_WF / Mbed 2 deprecated WF_lektion9-LM75B_State_temp

Dependencies:   LM75B mbed

Committer:
bulmenwt
Date:
Wed Jan 28 07:48:27 2015 +0000
Revision:
0:311bb45bd2b4
a

Who changed what in which revision?

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