HOme Sheriff And Lamp

Dependencies:   CameraC328 HCSR04 SDFileSystem WIZnetInterface mbed

Fork of HoSAL by pi bae

Files at this revision

API Documentation at this revision

Comitter:
uasonice
Date:
Tue Aug 11 16:05:02 2015 +0000
Child:
1:bf5b84edf434
Commit message:
Initial: Home Sheriff and Lamp project

Changed in this revision

HCSR04.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
rev_Hcsr04.cpp Show annotated file Show diff for this revision Revisions of this file
rev_Hcsr04.h Show annotated file Show diff for this revision Revisions of this file
rev_config.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HCSR04.lib	Tue Aug 11 16:05:02 2015 +0000
@@ -0,0 +1,1 @@
+HCSR04#12993f7d3c2c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Aug 11 16:05:02 2015 +0000
@@ -0,0 +1,75 @@
+#include "mbed.h"
+#include "hcsr04.h"
+#include "rev_Hcsr04.h"
+
+#define DEBUG_TYPE 1
+#define P_ uart.printf
+#include "rev_config.h"
+
+
+#define  CHECK_DISTANCE 1000
+
+#if 0
+int sum_dist[3] = {0,}; //ryuhs74@20150712 - 
+int avg_dist = 0; //ryuhs74@20150712 - 
+int index_dist = 0; //ryuhs74@20150712 - 
+#endif
+
+Serial uart(USBTX, USBRX); // tx, rx
+
+HCSR04 sensor(D12, D11); 
+
+DigitalOut led1(LED1); //server listning status
+DigitalOut led2(LED2); //socket connecting status
+
+//////////////////////////////////////////////////////////////////////////
+Ticker ledTick;
+
+//////////////////////////////////////////////////////////////////////////
+void ledTickfunc()
+{
+    led1 = !led1;
+}
+
+//////////////////////////////////////////////////////////////////////////
+int main()
+{
+    ledTick.attach(&ledTickfunc,0.5);
+
+    uart.baud(115200);
+    DM_fLN("Start ----> HCSR04");
+    
+    while(1) {
+#if 0
+        long distance = sensor.distance(); 
+
+        //ryuhs74@20150712 START - 
+        if( index_dist < 3){
+            sum_dist[index_dist] = distance;
+            DM_fLN("sum_dist[%d] = %d", index_dist, sum_dist[index_dist]);
+            index_dist ++;
+            wait_ms(200);
+        } else {
+            avg_dist = 0;
+            index_dist = 0;
+
+            for(int i =0; i<3;i++){
+                avg_dist += sum_dist[i];
+            }
+
+            avg_dist /= 3;
+            DM_fLN("average: %d", avg_dist);
+
+            if( avg_dist <= CHECK_DISTANCE ){
+
+            }
+            wait_ms(1000);
+        }
+#else
+        get_distance();
+        wait_ms(1000);
+#endif
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Tue Aug 11 16:05:02 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/b9ad9a133dc7
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rev_Hcsr04.cpp	Tue Aug 11 16:05:02 2015 +0000
@@ -0,0 +1,58 @@
+/*
+# coded by revival / uasonice (at) gmail.com
+# DATE: 2015/08/10 / Mon Aug 10 21:21:36 KST 2015
+#
+# DESCRIPTION:
+#       copied from Ultrasonic by Ryu
+#		
+*/
+
+#include "mbed.h"
+#include <stdio.h>
+#include <string.h>
+
+#define DEBUG_TYPE 1
+#define P_ uart.printf
+#include "rev_config.h"
+
+#include "rev_Hcsr04.h"
+
+//HCSR04 sensor(D12, D11); 
+extern HCSR04 sensor; 
+
+int sum_dist[3];
+int avg_dist = 0; 
+int index_dist = 0; 
+long distance_cm = 0; //ryuhs74@20150810 - Add
+
+#if defined(USE_MEASURE_DISTANCE)
+int get_distance(void)
+{
+    
+	while (true) {
+		distance_cm = sensor.distance(); //ryuhs74@20150810 - cm 단위 측정 거리 return 
+		if( index_dist < 3){ //ryuhs74@20150810     
+			sum_dist[index_dist] = distance_cm;
+			DM_fLN("sum_dist[%d] = %d", index_dist, sum_dist[index_dist]);
+			index_dist ++;
+		} else {
+			avg_dist = 0;
+			index_dist = 0;
+
+			for(int i =0; i<3;i++){
+				avg_dist += sum_dist[i];
+			}
+
+			avg_dist /= 3;
+			return avg_dist;
+		}
+#if 0
+		wait_ms(10);
+#else
+		break;
+#endif
+	}
+    return 8192;
+}
+#endif // defined(USE_MEASURE_DISTANCE)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rev_Hcsr04.h	Tue Aug 11 16:05:02 2015 +0000
@@ -0,0 +1,21 @@
+/*
+# coded by revival / uasonice (at) gmail.com
+# DATE: 2015/08/10 / Mon Aug 10 21:21:36 KST 2015
+#
+# DESCRIPTION:
+#       copied from Ultrasonic by Ryu
+#		
+*/
+
+#ifndef __REV_HCSR04_H__
+#define __REV_HCSR04_H__
+
+#include "hcsr04.h" //ryuhs74@20150810 - Add 
+
+
+int get_distance(void);
+
+#endif // __REV_HCSR04_H__
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rev_config.h	Tue Aug 11 16:05:02 2015 +0000
@@ -0,0 +1,96 @@
+/*
+# coded by revival / uasonice (at) gmail.com
+# DATE: 2015/08/10 / Mon Aug 10 21:21:36 KST 2015
+#
+# DESCRIPTION:
+#       global config for project
+#		
+*/
+
+#ifndef __REV_CONFIG_H__
+#define __REV_CONFIG_H__
+
+//////////////////////////////////////////////////////////////////////////
+// define FEATURE
+//#define USE_HTTP_FILE_SERVER
+//#define USE_CAMERA
+#define USE_MEASURE_DISTANCE
+
+
+//////////////////////////////////////////////////////////////////////////
+// extern variable
+extern Serial uart;
+
+
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+/* coded by revival / 2006/03/09 */
+/* Debug Message Macro Naming issue
+ * F : File Name
+ * f : Function Name
+ * L : Line Number
+ * N : Enter Code; (\n) Line feed
+*/
+#if defined(DEBUG_TYPE)
+#define _F_ __FILE__
+#define _f_ __FUNCTION__
+#define _L_ __LINE__
+#define _N_ "\r\n"
+
+////////////////////////////
+// define the Message Header
+#define M_F    "[%s] ", _F_
+#define M_Ff   "[%s:%s] ", _F_, _f_
+#define M_FfL  "[%s:%s:%d] ", _F_, _f_, _L_
+#define M_FL   "[%s:%d] ", _F_, _L_
+#define M_f    "[%s] ", _f_
+#define M_fL   "[%s:%d] ", _f_, _L_
+#define M_L    "[%d] ", _L_
+
+#if DEBUG_TYPE == 1
+# ifndef P_
+#  define P_ printf
+# endif
+# define DM_(fmt...)       P_(fmt)
+# define DM_F(fmt...)      P_(M_F), P_(fmt)
+# define DM_Ff(fmt...)     P_(M_Ff), P_(fmt)
+# define DM_FfL(fmt...)    P_(M_FfL), P_(fmt)
+# define DM_FfLN(fmt...)   P_(M_FfL), P_(fmt), P_(_N_)
+# define DM_FfN(fmt...)    P_(M_Ff), P_(fmt), P_(_N_)
+# define DM_FL(fmt...)     P_(M_FL), P_(fmt)
+# define DM_FLN(fmt...)    P_(M_FL), P_(fmt), P_(_N_)
+# define DM_FN(fmt...)     P_(M_F), P_(fmt), P_(_N_)
+
+# define DM_f(fmt...)      P_(M_f_), P_(fmt)
+# define DM_fL(fmt...)     P_(M_fL), P_(fmt)
+# define DM_fLN(fmt...)    P_(M_fL), P_(fmt), P_(_N_)
+# define DM_fN(fmt...)     P_(M_f), P_(fmt), P_(_N_)
+# define DM_L(fmt...)      P_(M_L), P_(fmt)
+# define DM_LN(fmt...)     P_(M_L), P_(fmt), P_(_N_)
+# define DM_N(fmt...)      P_(fmt), P_(_N_)
+# else // DEBUG_TYPE
+#  define DM_(fmt...)
+#  define DM_F(fmt...)
+#  define DM_Ff(fmt...)
+#  define DM_FfL(fmt...)
+#  define DM_FfLN(fmt...)
+#  define DM_FfN(fmt...)
+#  define DM_FL(fmt...)
+#  define DM_FLN(fmt...)
+#  define DM_FN(fmt...)
+
+#  define DM_f(fmt...)
+#  define DM_fL(fmt...)
+#  define DM_fLN(fmt...)
+#  define DM_fN(fmt...)
+#  define DM_L(fmt...)
+#  define DM_LN(fmt...)
+#  define DM_N(fmt...)
+#endif // DEBUG_TYPE
+
+#endif
+
+#endif // __REV_CONFIG_H__
+
+
+