首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >轻门定时器Arduino

轻门定时器Arduino
EN

Stack Overflow用户
提问于 2014-04-29 11:44:21
回答 1查看 1.9K关注 0票数 1

在过去的几个小时里,我一直在努力让一个光门定时器与2个光电池和激光一起工作。它就像一根跳线,当第一个传感器低时(当它被绊倒时),它触发启动时间。然后,这应该继续,然后在使用与传感器1相同的方法触发第二个传感器时停止计时器。我现在遇到的问题是计时器永远不会停止。这似乎是我的第二个传感器的问题,我切换了第二个传感器,传感器似乎很好。另一个问题是,当第二个传感器也被触发时,定时器会做一些奇怪的事情。似乎每次我在Arduino上重置或放置一个新版本的代码时,它都会做不同的事情,非常奇怪。我试过其他各种密码,但似乎都没有用。如果您有类似的代码,或者可以帮助我编写这段代码,那就太好了。

下面是我的代码:

代码语言:javascript
复制
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);

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-29 12:24:22

尝试通过将analogRead写入串口来测试传感器。我猜analogRead永远不会是0,因为总有周围的光。

您的阈值应该是更多的analogRead(sensor1) < somevalue )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23363745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档