HOme Sheriff And Lamp
Dependencies: CameraC328 HCSR04 SDFileSystem WIZnetInterface mbed
Fork of HoSAL by
Revision 0:35211a622a44, committed 2015-08-11
- 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
--- /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__ + + +
