Software for wall mounted dew point sensor

Dependencies:   mbed HYT Watchdog TextLCD

Files at this revision

API Documentation at this revision

Comitter:
koosvanderwat
Date:
Fri Nov 29 10:18:58 2019 +0000
Parent:
2:ad0b044d0a10
Commit message:
No changes

Changed in this revision

HYT.lib Show annotated file Show diff for this revision Revisions of this file
TextLCD.lib Show annotated file Show diff for this revision Revisions of this file
Watchdog.lib Show annotated file Show diff for this revision Revisions of this file
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
diff -r ad0b044d0a10 -r 25b7f448750d HYT.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HYT.lib	Fri Nov 29 10:18:58 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/koosvanderwat/code/HYT/#2d50976e2506
diff -r ad0b044d0a10 -r 25b7f448750d TextLCD.lib
--- a/TextLCD.lib	Sat Dec 04 11:31:07 2010 +0000
+++ b/TextLCD.lib	Fri Nov 29 10:18:58 2019 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/simon/code/TextLCD/#e4cb7ddee0d3
+http://mbed.org/users/simon/code/TextLCD/#308d188a2d3a
diff -r ad0b044d0a10 -r 25b7f448750d Watchdog.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Watchdog.lib	Fri Nov 29 10:18:58 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/koosvanderwat/code/Watchdog/#3036dfbb2ab7
diff -r ad0b044d0a10 -r 25b7f448750d main.cpp
--- a/main.cpp	Sat Dec 04 11:31:07 2010 +0000
+++ b/main.cpp	Fri Nov 29 10:18:58 2019 +0000
@@ -1,10 +1,134 @@
-// Hello World! for the TextLCD
-
 #include "mbed.h"
 #include "TextLCD.h"
+#include "HYT.h"
+#include "Watchdog.h"
 
-TextLCD lcd(p15, p16, p17, p18, p19, p20); // rs, e, d4-d7
+// Setup Hardware
+HYT SENSOR (D0,D1); //Nucleo (SDA,SCL) (D0,D1) (D4,D5)
+TextLCD lcd(D9, D6, D5, D4, D3, D2); // rs, e, d4-d7
+
+// Setup Watchdog
+Watchdog wd;
+
+//Define Pins
+AnalogOut AOUT(A3);
+DigitalOut my_led(LED1);
+DigitalOut Alarm_led(A7);
+
+//Setup Timer
+Ticker timeKeeping;
+
+//Setup Variables
+float Calibration = 0; // RH correction value
+float SetPoint = 5; // Max Dew Point in Celsius to trigger alarm.
+int Counter = 0;
+float RHValue = 0;
+float TempValue = 0;
+float A = 0;
+float DewPoint = -50;
+float sample = 0;
+float test = 0;
 
 int main() {
-    lcd.printf("Hello World!\n");
-}
+    //lcd.printf("Hello World5!\n");
+    Alarm_led=1;
+    //lcd.setBacklight(TextLCD::LightOn);
+    //lcd.setCursor(TextLCD::CurOff_BlkOff);
+    wd.Configure(4.0);
+
+    wait_ms(100);
+
+    lcd.printf("TegnonEfficiency\n");
+    lcd.locate(0,1);
+    lcd.printf("Dew Point Sensor\n");
+
+    wait_ms(1000);
+
+    lcd.cls();
+
+    lcd.printf("Dew Point:");
+    lcd.locate(0,1);
+    lcd.printf("RH:");
+    lcd.locate(8,1);
+    lcd.printf("T:");
+
+while(1) {
+        Counter = Counter + 1;
+        wait(1);
+        wd.Service();
+        my_led = !my_led;
+
+if(Counter == 10)
+{
+    lcd.cls();
+    lcd.printf("Dew Point:");
+    lcd.locate(0,1);
+    lcd.printf("RH:");
+    lcd.locate(8,1);
+    lcd.printf("T:");
+    Counter = 0;
+    }
+
+        if(DewPoint > SetPoint) {
+            Alarm_led = !Alarm_led;
+        } else {
+            Alarm_led=1;
+        }
+
+        SENSOR.MRCommand();
+        wait_ms(100);
+        SENSOR.DFCommand();
+        wait_ms(100);
+              
+            RHValue = (SENSOR.humidity);
+            TempValue = (SENSOR.temperature);
+
+ if(RHValue > 1)
+ {      
+
+            A = log( RHValue * 0.01 * pow(10, 7.5*TempValue/(237.2+TempValue) )  );
+            DewPoint = ( 23720 * A/(17.269-A))/100;
+
+            if(DewPoint < -50) {
+                DewPoint = -50;
+            }
+
+            if(DewPoint > 20) {
+                DewPoint = 20;
+            }
+
+        test = 0.01428728*DewPoint+0.714364;
+
+            lcd.locate(10,0);
+            lcd.printf("      ");
+            lcd.locate(10,0);
+            lcd.printf("%.1f%", DewPoint);
+            lcd.printf("C");
+            lcd.locate(3,1);
+            lcd.printf("     ");
+            lcd.locate(3,1);
+            lcd.printf("%.1f%", RHValue);
+            lcd.locate(10,1);
+            lcd.printf("      ");
+            lcd.locate(10,1);
+            lcd.printf("%.1f%", TempValue);
+            lcd.printf("C\n");
+
+            AOUT = 0.0142857142857143*DewPoint+0.7142857143;
+        
+            }
+            else
+            {
+                AOUT = 0;
+                lcd.cls();
+                wait_ms(1000);
+                lcd.locate(0,0);
+                lcd.printf("     Sensor     \n");
+                lcd.locate(0,1);
+                lcd.printf("      Error     \n");
+                }
+                
+    } // While(1)
+} //Void Main
+
+
diff -r ad0b044d0a10 -r 25b7f448750d mbed.bld
--- a/mbed.bld	Sat Dec 04 11:31:07 2010 +0000
+++ b/mbed.bld	Fri Nov 29 10:18:58 2019 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file