a

Dependencies:   LM75B mbed

Revision:
0:311bb45bd2b4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jan 28 07:48:27 2015 +0000
@@ -0,0 +1,80 @@
+/*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);
+            // Funktionsaufruf
+            maxTemp();
+            stateMachine();
+
+            //Print the current temperature
+           // printf("Temp = %.1f\n\r", (float)sensor);
+            //Sleep for 0.5 seconds
+            wait(0.5);
+        }
+    } else {
+        error("Device not detected!\n");
+    }
+}
+
+
+void maxTemp()
+{
+    /* local variable declaration */
+    if (sensor > 29.0) {
+        Led1=1;
+    } else
+        Led1=0;
+    //return 0;
+}
+
+void stateMachine(){
+    
+   switch (state) {
+        case led_on:
+            printf("STATE: led_on!\n\r");
+            led2=1;
+            led3=1;
+            wait(2);
+            state=temp;
+            break;
+        
+        case temp:
+            printf("STATE: led_on!\n\r");
+            printf("Temp = %.1f\n\r", (float)sensor);
+            wait(2);
+            state=led_off;
+            break;   
+            
+        
+     
+    
+    
+ }   
\ No newline at end of file