Arduino 上一个和当前传感器变量



我有一个Arduino UNO连接到超声波测距仪,它可以读取变量distance。但是,我需要以一秒的间隔读取当前距离,然后存储以前的距离(从最后一秒开始)。我还需要能够在代码中的其他地方使用这些变量(DprevDcurr)。

我假设我需要把它放入某种每秒迭代的while循环中,但我不知道如何将它们放在一起,或者在循环中使用时间。

这个想法很简单。两个用于存储距离的全局变量和两个 fas。 Arduino在执行开始时使用函数setup,然后无限循环函数loop。所以在setup中,只需初始化变量并loop取距离。

#define trigPin 13
#define echoPin 12
long duration, distance, distance_prev;
void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  duration = 0;
  distance = 0;
  distance_prev= 0;
}
void loop() {
  distance_prev = distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW); //Send ultrasonic pulse
  duration = pulseIn(echoPin, HIGH);//Time for ultrasonic pulse to go and back
  distance = (duration/2) / 29.1;//Conversion to cm
  /*CODE USING DISTANCES HERE*/
  delay(1000); //One second delay 
}

最新更新