Home Security Device is designed based on FRDM K64f with DHT11, Ultrasonic Ranger, LCD RGB Light, Buzzer, button and Base Shield V2.

Dependencies:   mbed Grove_LCD_RGB_Backlight RangeFinder DHT11

Files at this revision

API Documentation at this revision

Comitter:
qxy
Date:
Mon Mar 04 21:22:01 2019 +0000
Commit message:
Home Security Device is designed based on FRDM K64f with DHT11, Ultrasonic Ranger, button,buzzer LCD RGB Backlight and Base Shield V2.

Changed in this revision

DHT11.lib Show annotated file Show diff for this revision Revisions of this file
Grove_LCD_RGB_Backlight.lib Show annotated file Show diff for this revision Revisions of this file
RangeFinder.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 000000000000 -r 89a29cf8b779 DHT11.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DHT11.lib	Mon Mar 04 21:22:01 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/fossum_13/code/DHT11/#5da6f6de3e42
diff -r 000000000000 -r 89a29cf8b779 Grove_LCD_RGB_Backlight.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Grove_LCD_RGB_Backlight.lib	Mon Mar 04 21:22:01 2019 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/users/cmatz3/code/Grove_LCD_RGB_Backlight/#253885b1f364
diff -r 000000000000 -r 89a29cf8b779 RangeFinder.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RangeFinder.lib	Mon Mar 04 21:22:01 2019 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/NickRyder/code/RangeFinder/#cf496fb70317
diff -r 000000000000 -r 89a29cf8b779 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Mar 04 21:22:01 2019 +0000
@@ -0,0 +1,94 @@
+
+#include "mbed.h"
+#include "Dht11.h"
+#include "RangeFinder.h"
+#include "Grove_LCD_RGB_Backlight.h"
+
+RangeFinder rf(D3, 10, 5800.0, 100000);
+DigitalOut led(LED1);
+DigitalOut buzzer(D2);
+InterruptIn button(D6);
+Serial pc(USBTX, USBRX);
+Dht11 dhtSensor(D7);
+
+Grove_LCD_RGB_Backlight rgbLCD(I2C_SDA, I2C_SCL);
+
+
+float temperature = 0.0f;
+float humidity = 0.0f;
+
+int on = 1, off = 0;
+
+void flip() 
+    {
+    buzzer = off;
+    }
+    
+int main()
+{
+    led = 1;
+    float d;
+    
+    rgbLCD.setRGB(0xff, 0xff, 0xff); 
+    char szBuff[10];
+    
+    button.rise(&flip);  // attach the address of the flip function to the rising edge
+    
+    
+    while(1) {
+        dhtSensor.read();
+        temperature = dhtSensor.getCelsius();
+        humidity = dhtSensor.getHumidity();
+        
+        printf("Temp: %f, Hum: %f\n", temperature, humidity);
+        
+        rgbLCD.locate(0,0);
+        rgbLCD.print("T:");
+        rgbLCD.locate(2,0);
+        sprintf(szBuff, "%2.1f", temperature);
+        rgbLCD.print(szBuff);
+        
+        rgbLCD.locate(8,0);
+        rgbLCD.print("H:");
+        rgbLCD.locate(10,0);
+        sprintf(szBuff, "%2.1f", humidity);
+        rgbLCD.print(szBuff);
+        
+        if (temperature >= 25)
+            {
+                   buzzer = on;
+                   wait(5);
+                   buzzer = off;  
+                   rgbLCD.locate(0,0);
+                   rgbLCD.print("T:");
+                   rgbLCD.locate(2,0);
+                   rgbLCD.print(is over 25);
+            }
+
+        wait(1);
+        
+        
+        d = rf.read_m();
+        if (d == -1.0)  {
+            printf("Timeout Error.\n");   
+        } else if (d > 5.0) {  
+            // Seeed's sensor has a maximum range of 4m, it returns
+            // something like 7m if the ultrasound pulse isn't reflected. 
+            printf("No object within detection range.\n");
+            rgbLCD.locate(0,1);
+            rgbLCD.print("No object");
+                    
+        } else  {   
+                    printf("Detecting object within detection range.\n");
+                    rgbLCD.locate(0,1);
+                    rgbLCD.print("Detected");
+                    printf("Distance = %f m.\n", d);
+                    buzzer = on;
+                    wait(5);
+                    buzzer = off;   
+        }
+        wait(0.5);
+        led = !led;
+        
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r 89a29cf8b779 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Mar 04 21:22:01 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file