【问题标题】:Relay starting on but not going off继电器启动但不关闭
【发布时间】:2019-09-09 19:10:40
【问题描述】:

我编写了一些非常基本的代码来启动继电器并等待 5 到 3 秒,然后将其关闭并退出循环。 继电器启动但它没有关闭,并且继电器启动时间与我设置的延迟时间相同(延迟时间 = 启动时间)我不知道为什么。

void setup() {
    pinMode(7, OUTPUT);
}

void loop() {
    digitalWrite(7, HIGH);
    delay(3000);
    digitalWrite(7, LOW);
    exit(0);
}

【问题讨论】:

  • 如果您可以在您的问题中添加更多信息,例如接线的外观,那就太好了。此外,问题正文缺少实际问题(仅在标题中)。我建议您阅读有关如何提出好问题的 stackoverflow 指南。这将使您更有可能获得良好和快速的答案:stackoverflow.com/help/how-to-ask
  • 您的代码看起来不错,但我建议您使用无限循环而不是exit() 函数。我觉得你的问题出在线路上。另外,我建议你在arduino.stackexchange.com提问。
  • 如果信号线为低电平,许多继电器模块会激活线圈。闭锁继电器模块开启信号变化

标签: arduino


【解决方案1】:

一个可能的原因是,循环连续运行而没有退出。在关闭后立即打开继电器。试试下面的代码

int count=0;

void setup() 
{ 
pinMode(7, OUTPUT);
 } 

void loop() 
{ 
if(count<1)
{
digitalWrite(7, HIGH); 
delay(3000); 
digitalWrite(7, LOW); 
count++;
}
 }

如果您再次遇到问题,请尝试在上面的代码中交换 HIGH 和 LOW, 对于某些板,它处于低电平有效状态。

【讨论】:

    猜你喜欢
    • 2012-09-12
    • 1970-01-01
    • 2014-12-05
    • 2015-12-17
    • 2014-05-24
    • 2016-08-03
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    相关资源
    最近更新 更多