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__ + + +