Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino先前和当前传感器变量_Arduino_Sensors_Arduino Uno - Fatal编程技术网

Arduino先前和当前传感器变量

Arduino先前和当前传感器变量,arduino,sensors,arduino-uno,Arduino,Sensors,Arduino Uno,我有一个Arduino UNO连接到一个超声波测距仪,该测距仪读取变量距离。但是,我需要每隔一秒读取当前距离,然后存储上一个距离(从最后一秒开始)。我还需要能够在代码中的其他位置使用这些变量(Dprev和Dcurr) 我想我需要把它放到某种每秒迭代的while循环中,但是我不知道如何把它放在一起,或者在循环中使用时间 这个想法很简单。两个全局变量用于存储距离和两个faseArduino在开始执行时使用函数设置,然后循环无限函数循环。因此,在设置中,只需初始化变量,然后在循环中获取距离 #defi

我有一个Arduino UNO连接到一个超声波测距仪,该测距仪读取变量
距离
。但是,我需要每隔一秒读取当前距离,然后存储上一个距离(从最后一秒开始)。我还需要能够在代码中的其他位置使用这些变量(
Dprev
Dcurr


我想我需要把它放到某种每秒迭代的
while
循环中,但是我不知道如何把它放在一起,或者在循环中使用时间

这个想法很简单。两个全局变量用于存储距离和两个fase<代码>Arduino在开始执行时使用函数
设置
,然后循环无限函数
循环
。因此,在
设置中
,只需初始化变量,然后在
循环中
获取距离

#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 
}

非常感谢你!!我被卡住了