Yeffry Zakizon / Mbed 2 deprecated mbed_lpc1768_tempSensor

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
yzakizon
Date:
Wed Nov 06 07:31:40 2013 +0000
Commit message:
Initial release to get MCP9700 temperature sensor

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Nov 06 07:31:40 2013 +0000
@@ -0,0 +1,65 @@
+#include "mbed.h"
+
+DigitalOut myled(LED1);
+Serial pc(USBTX, USBRX);
+AnalogIn tempPin(p15);
+
+float tempTotal;
+uint32_t tempDiv;
+
+#define MAX_TEMP_AVG 10
+
+void sampleTemperature();
+void sampleTemperatures();
+void resetTemperatureSamples();
+float getAvgTemperature();
+
+void sampleTemperature()
+{
+        tempTotal += tempPin; //we use 3.3V from VOUT
+        tempDiv++;
+}
+
+void sampleTemperatures()
+{
+    for(int i=0;i<MAX_TEMP_AVG;i++) {
+        sampleTemperature();
+        wait(0.1);
+    }
+}
+
+void resetTemperatureSamples()
+{
+    tempTotal = 0.0;
+    tempDiv = 0;
+}
+float getAvgTemperature()
+{
+    /* Temperature calculations is (VOut - V0)/Tc 
+    * VOut = V out from sensor
+    * V0 = Voltage on 0 Celcius, 500mv for MCP9700
+    * Tc = Temperatur constant, 10mV/C
+    */
+    float tempAvg = (((tempTotal*3300)/(float)tempDiv)-500.0)/10.0;
+    return tempAvg;
+}
+
+int main() {
+tempDiv = 0;
+    pc.printf("MBED ready..\r\n");
+    sampleTemperatures();
+    pc.printf("Temp: %.2f.\r\n",getAvgTemperature());
+    while(1) {
+        sampleTemperature();
+        
+        myled = 1;
+        wait(0.5);
+        myled = 0;
+        wait(0.5);
+        
+        if (tempDiv > MAX_TEMP_AVG) {
+            pc.printf("Temp: %.2f.\r\n",getAvgTemperature());
+            resetTemperatureSamples();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Nov 06 07:31:40 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/a9913a65894f
\ No newline at end of file