找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

查看数: 7933 | 评论数: 27 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-9-23 12:15

正文摘要:

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动 ...

回复

ID:1050839 发表于 2023-1-9 11:16
楼主,你好。请问一下这个模块可以测出物体的距离或位置吗?利用在无人机上可以测出空间x,y,z吗?
ID:513258 发表于 2020-10-24 15:42
a1121345 发表于 2020-4-18 09:41
你好楼主,我现在在家没有示波器,但需要用这个模块,之前没用过所以不知道输出信号是什么想了解。请问当物 ...

不好意思,刚看到,这个模块不太好用,可以考虑微波雷达感应开关模块,或者HC-SR312微型热释电传感器模块
ID:633824 发表于 2020-4-18 09:41
你好楼主,我现在在家没有示波器,但需要用这个模块,之前没用过所以不知道输出信号是什么想了解。请问当物体相对传感器是静止时IF的输出频率和幅度是多少,当物体靠近传感器时IF输出频率是一定变大吗?
ID:513258 发表于 2020-3-14 07:37
早上好,多交流
ID:301439 发表于 2020-3-13 15:46
留个脚印
ID:513258 发表于 2019-11-19 18:54
谢谢鼓励
ID:300101 发表于 2019-11-9 20:13
谢谢啦!非常详细的科普文章
ID:513258 发表于 2019-9-23 19:49
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百一十九:HB100微波雷达感应模块 10.525GHz多普勒探测器探头传感器
  4. 项目:测试HB100模块,输入改为模拟口A0,三组数据输出
  5. */

  6. #define RADAR A0 // RADAR inut is attached to A0
  7. #define MICRODELAY 100 // 100microseconds ~10000hz
  8. #define MAXINDEX 1024 // 10 bits
  9. #define TOPINDEX 1023 // 10 bits

  10. byte collect[MAXINDEX];
  11. int mean;
  12. int minimum;
  13. int maximum;
  14. int hysteresis; // 1/16 of max-min
  15. bool currentphase; // are value above mean + hysteresis;
  16. int lastnull; // index for last null passing value
  17. int prevnull; // index for previous null passing value
  18. int deltaindex;
  19. int deltadeltaindex;
  20. int index;
  21. bool phasechange = false;

  22. void setup() {
  23.   // put your setup code here, to run once:
  24.   Serial.begin(115200);
  25.   while (!Serial) {}
  26.   index = 0;
  27.   mean = 0;
  28.   maximum = 255;
  29.   minimum = 0;
  30.   hysteresis = 0;
  31.   currentphase = false;
  32.   lastnull = 0;
  33.   prevnull = 0;

  34.   Serial.print("deltadeltaindex");
  35.   Serial.print("\t");
  36.   Serial.print("deltaindex");
  37.   Serial.print("\t");
  38.   Serial.println("delta");
  39. }

  40. void loop() {
  41.   int newVal = analogRead(RADAR); // Raw reading from amplified radar
  42.   mean -= (collect[index] >> 2);
  43.   mean += (newVal >> 2);
  44.   collect[index]= newVal;
  45.   minimum = newVal < minimum ? newVal : minimum + 1;
  46.   maximum = newVal > maximum ? newVal : maximum - 1;
  47.   hysteresis = abs(maximum - minimum) >> 5;

  48.   if(newVal > (mean + hysteresis))
  49.   {
  50.     if(false == currentphase)
  51.     {
  52.       currentphase = true;
  53.       phasechange = true;
  54.     }
  55.   }
  56.   else if(newVal < (mean - hysteresis))
  57.   {
  58.     if(currentphase)
  59.     {
  60.       currentphase = false;      
  61.       phasechange = true;
  62.     }
  63.   }

  64.   if(phasechange)
  65.   {
  66.     prevnull = lastnull;
  67.     lastnull = index;

  68.     int delta = (prevnull > lastnull) ?
  69.         (lastnull - prevnull + MAXINDEX) :
  70.         (lastnull - prevnull);
  71.     deltadeltaindex = abs(deltaindex - delta);
  72.     deltaindex = delta;

  73.     Serial.print(deltadeltaindex);
  74.     Serial.print("\t");
  75.     Serial.print(deltaindex);
  76.     Serial.print("\t");
  77.     Serial.println(delta);
  78.   }
  79.   
  80.   index = index == TOPINDEX ? 0 : index + 1;
  81.   phasechange = false;
  82.   //delayMicroseconds(10);
  83. }
复制代码


ID:513258 发表于 2019-9-23 19:14
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百一十九:HB100微波雷达感应模块 10.525GHz多普勒探测器探头传感器
  4. 项目:测试HB100模块,输入改为模拟口A0
  5. */

  6. int analogPin = A0;
  7. float sensorValue;
  8. int val;

  9. void setup() {
  10. Serial.begin(9600);
  11.              }

  12. void loop() {  
  13. sensorValue = analogRead(analogPin);
  14. Serial.println();
  15. Serial.println(sensorValue);
  16. val= map(sensorValue,0,1023,0,99);
  17. Serial.println(val);
  18. sensorValue=0;
  19. delay(100);
  20.              }
复制代码


ID:513258 发表于 2019-9-23 18:42
  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验一百一十九:HB100微波雷达感应模块 10.525GHz多普勒探测器探头传感器
  4. 项目:测试HB100模块
  5. */

  6. int analogPin = 3;
  7. float sensorValue;
  8. int val;
  9. void setup() {
  10. Serial.begin(9600);
  11.              }

  12. void loop() {  
  13. sensorValue = analogRead(analogPin);
  14. Serial.println();
  15. Serial.println(sensorValue);
  16. val= map(sensorValue,0,1023,0,99);
  17. Serial.println(val);
  18. sensorValue=0;
  19. delay(100);
  20.              }
复制代码


小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表