在过去的几个小时里,我一直在尝试让一个光门计时器与 2 个光电管和激光器一起工作。它就像一根跳线,当第一个传感器为低电平时(当它跳闸时),它触发开始计时。这应该继续,然后在使用与触发传感器 1 相同的方法触发第二个传感器时停止计时器。我现在遇到的问题是计时器永远不会停止。我的第二个传感器似乎有问题,我已经切换了第二个传感器,传感器似乎很好。另一个问题是,当第二个传感器也被触发时,计时器会做一些奇怪的事情。似乎每次我在 Arduino 上重置或放置新版本的代码时,它都会做不同的事情,非常奇怪。我尝试了各种其他代码,但似乎都没有。
下面是我的代码:
int sensor1 = 2;
int sensor2 = 3 ;
long startTime;
long endTime;
float elapsedTime;
long pause = 0;
void setup() {
Serial.begin (9600);
Serial.println ("RPV");
pinMode (sensor1, INPUT);
pinMode (sensor2, INPUT);
}
void loop() {
if (analogRead(sensor1) == 0) {
Start ();
Serial.println (elapsedTime);
}
if (analogRead(sensor2) == 0) {
Stop ();
//Serial.println (endTime);
}
}
void Start(){
startTime = millis();
}
void Stop() {
endTime = millis();
elapsedTime = (endTime - startTime);
elapsedTime = elapsedTime/1000;
Serial.print("Time Seconds: ");
Serial.println(elapsedTime);
}