hb100 微波雷达arduino_【Arduino】108种传感器系列实验(119)---HB100多普勒雷达模块...

news/2024/7/3 20:21:08 标签: hb100 微波雷达arduino

/*

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

实验一百一十九:HB100微波雷达感应模块 10.525GHz多普勒探测器探头传感器

项目:测试HB100模块,输入改为模拟口A0,三组数据输出

*/

#define RADAR A0 // RADAR inut is attached to A0

#define MICRODELAY 100 // 100microseconds ~10000hz

#define MAXINDEX 1024 // 10 bits

#define TOPINDEX 1023 // 10 bits

byte collect[MAXINDEX];

int mean;

int minimum;

int maximum;

int hysteresis; // 1/16 of max-min

bool currentphase; // are value above mean + hysteresis;

int lastnull; // index for last null passing value

int prevnull; // index for previous null passing value

int deltaindex;

int deltadeltaindex;

int index;

bool phasechange = false;

void setup() {

// put your setup code here, to run once:

Serial.begin(115200);

while (!Serial) {}

index = 0;

mean = 0;

maximum = 255;

minimum = 0;

hysteresis = 0;

currentphase = false;

lastnull = 0;

prevnull = 0;

Serial.print("deltadeltaindex");

Serial.print("\t");

Serial.print("deltaindex");

Serial.print("\t");

Serial.println("delta");

}

void loop() {

int newVal = analogRead(RADAR); // Raw reading from amplified radar

mean -= (collect[index] >> 2);

mean += (newVal >> 2);

collect[index]= newVal;

minimum = newVal < minimum ? newVal : minimum + 1;

maximum = newVal > maximum ? newVal : maximum - 1;

hysteresis = abs(maximum - minimum) >> 5;

if(newVal > (mean + hysteresis))

{

if(false == currentphase)

{

currentphase = true;

phasechange = true;

}

}

else if(newVal < (mean - hysteresis))

{

if(currentphase)

{

currentphase = false;

phasechange = true;

}

}

if(phasechange)

{

prevnull = lastnull;

lastnull = index;

int delta = (prevnull > lastnull) ?

(lastnull - prevnull + MAXINDEX) :

(lastnull - prevnull);

deltadeltaindex = abs(deltaindex - delta);

deltaindex = delta;

Serial.print(deltadeltaindex);

Serial.print("\t");

Serial.print(deltaindex);

Serial.print("\t");

Serial.println(delta);

}

index = index == TOPINDEX ? 0 : index + 1;

phasechange = false;

//delayMicroseconds(10);

}


http://www.niftyadmin.cn/n/606053.html

相关文章

初遇 Ext3grep

为什么80%的码农都做不了架构师&#xff1f;>>> Ext3grap 是ext3文件系统下的一个开源数据恢复工具&#xff0c;官方下载地址http://code.google.com/p/ext3grep/downloads/detail?nameext3grep-0.10.2.tar.gz 。 它的恢复原理很简单&#xff1a;ext2/ext3 文件系…

Eclipse 3.0 上配置JSP开发环境

首先讲一下环境配置&#xff0c;注意我配置的环境是在win 2000 server下的&#xff0c;不是linux下的&#xff0c;配置的大致流程和操作系统无关&#xff0c;仅仅是在具体的安装上有差别。而配置成功与否&#xff0c;与操作系统无关。   软件安装分为一下几个部分&#xff1a…

使用jquery中append(content)函数时需要注意的事项

2019独角兽企业重金招聘Python工程师标准>>> append(content)函数&#xff1a;向每个匹配的元素内部追加内容。 如以下示例&#xff1a; 向所有段落中追加一些HTML标记。 HTML 代码: <p>I would like to say: </p> jQuery 代码: $("p").…

swfupload+asp.net:多文件上传控件

上段时间&#xff0c;利用swfupload写了个上传图片的控件&#xff0c;带缩略图&#xff0c;不同尺寸裁剪等功能 今天同事需要上传文件的&#xff0c;上次写的那控件不能满足要求&#xff0c;于是又利用SWFUpload写了个上传文件的控件 先看下效果图吧 该上传控件可以同时上传多个…

ip后面带端口号如何做域名解析

ip后面带端口号如何做域名解析 最近自己购买了个云服务器(阿里)和域名(腾讯,需要备案&#xff0c;相对比较麻烦)&#xff0c;放上自己的工程&#xff0c;通过如下配置 服务器设置&#xff1a; 域名设置&#xff1a; 这样就可以通过默认的域名解析可以通过外网来访问自己的服务。…

计算机中ar的作用,什么是AR技术?

什么是AR技术?小名:AR技术、中文名称:增强现实技术、英文名称:Augmented Reality Technique。它是一项在虚拟现实基础上发展起来的新技术&#xff0c;主要特异功能是通过计算机系统提供的信息增加用户对现实世界感知的技术,并将计算机生成的虚拟物体、场景或系统提示信息叠加到…

eclipse 3 配置jsp开发环境

首先讲一下环境配置&#xff0c;注意我配置的环境是在win 2000 server下的&#xff0c;不是linux下的&#xff0c;配置的大致流程和操作系统无关&#xff0c;仅仅是在具体的安装上有差别。而配置成功与否&#xff0c;与操作系统无关。 软件安装分为一下几个部分&#xff1a; …

mysql存储过程之游标

mysql存储过程之游标 MySQL5 中添加了存储过程的支持。 大多数SQL语句都是针对一个或多个表的单条语句。并非所有的操作都怎么简单。经常会有一个完整的操作需要多条才能完成 存储过程简单来说&#xff0c;就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批文…