我将尝试计算 HB100 微波传感器 在
以下是代码:
200ms
时间量子中的脉冲数量。以下是代码:
#include <SoftwareSerial.h>
#include <elapsedMillis.h>
elapsedMillis ElapsedTime;
#define Sensor A0
#define TimeQuanta 200
int Counter = 0;
boolean LastState;
void setup()
{
Serial.begin(250000);
pinMode(Sensor, INPUT);
}
void loop()
{
Counter = 0;
ElapsedTime = 0;
while (ElapsedTime < TimeQuanta ){
LastState = digitalRead(Sensor);
if (LastState == LOW && digitalRead(Sensor) == HIGH ){
Counter += 1; //Compare Last state with current state
}
}
Serial.print(digitalRead(Sensor));
Serial.print("\t");
Serial.println(Counter);
}
我需要知道数字读取周期。
我正在将传感器的上一个状态与当前状态进行比较,如果有变化(从低到高),则计数器会增加。但是,我的计数器始终是0
!
- 这段代码是否正确(
if
条件)? - 我需要添加一些延迟吗?
- 可以计算这些脉冲吗?
这是逻辑分析仪输出的微波传感器图像:
编辑:如果在if
前添加delay(1);
,那么计数器就不再是0了。