如何制作一个简单的2步Arduino可编程定时器电路

描述

在本文中,我们将学习如何制作一个简单的2 步 Arduino 可编程定时器电路,该电路可用于通过独立可调的 ON 和 OFF 时序来切换电气负载的开/关。

例如,如果您希望灯保持 ON 24 小时和 OFF 2小时,您可以通过快速修改程序代码来执行此操作。同样,您可以通过适当地更改代码,将输出时序自定义为任何其他所需的时间间隔集。

程序代码

void setup(){
pinMode(13, OUTPUT);
}
void loop(){

digitalWrite(13, HIGH);
delay(86400000);
digitalWrite(13, LOW);
delay(3600000);
}

在上面的示例代码中,行延迟(86400000);和 延迟(3600000); 分别确定输出ON和OFF延迟时间间隔,以毫秒为单位。在这里,数字 86400000 毫秒对应于 24 小时,而 3600000 表示 1 小时延迟。

您可以根据个人喜好自定义这两个值,以获得所需的输出延迟。

设置并通电后,Arduino将继续在两步ON/OFF定时序列之间切换。只要系统仍然通电。

电路图

完整的电路图以及Arduino连接可以在下图中看到:

可编程定时器

Arduino 单脉冲定时器电路

如果您不希望计时器循环遍历两步计时器,而是希望计时器是一次性类型,这将在设置的延迟后永久关闭,则可以应用以下代码:

int led = 13; // Pin 13 has an LED connected on most Arduino boards.

unsigned long DELAY_TIME = 10000; // 10 sec
unsigned long delayStart = 0; // the time the delay started
bool delayRunning = false; // true if still waiting for delay to finish

void setup() {
  pinMode(led, OUTPUT);   // initialize the digital pin as an output.
  digitalWrite(led, HIGH); // turn led on

  // start delay
  delayStart = millis();
  delayRunning = true;
}

void loop() {
  // check if delay has timed out
  if (delayRunning && ((millis() - delayStart) >= DELAY_TIME)) {
    delayRunning = false; // finished delay -- single shot, once only
    digitalWrite(led, LOW); // turn led off
  }
}

如果您想要相同可编程定时器电路的离散设计版本,则可以选择此电路

Arduino可编程定时器电路所需的部件

  • Arduino UNO Board = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 二极管 = 1
  • 10K 1/4 W 电阻 = 1
  • 继电器 12V/400 欧姆/单刀双掷/5 安培 = 1
  • 12V 交流转直流适配器 = 1
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分