在本文中,我们将学习如何制作一个简单的2 步Arduino可编程定时器电路,该电路可用于通过独立可调的 ON 和 OFF 时序来切换电气负载的开/关。
例如,如果您希望灯保持 ON 24 小时和 OFF 2小时,您可以通过快速修改程序代码来执行此操作。同样,您可以通过适当地更改代码,将输出时序自定义为任何其他所需的时间间隔集。
程序代码
voidsetup(){pinMode(13, OUTPUT); }voidloop(){digitalWrite(13, HIGH);delay(86400000);digitalWrite(13, LOW);delay(3600000); }
在上面的示例代码中,行延迟(86400000);和延迟(3600000);分别确定输出ON和OFF延迟时间间隔,以毫秒为单位。在这里,数字86400000毫秒对应于 24 小时,而3600000表示 1 小时延迟。
您可以根据个人喜好自定义这两个值,以获得所需的输出延迟。
设置并通电后,Arduino将继续在两步ON/OFF定时序列之间切换。只要系统仍然通电。
电路图
完整的电路图以及Arduino连接可以在下图中看到:
Arduino 单脉冲定时器电路
如果您不希望计时器循环遍历两步计时器,而是希望计时器是一次性类型,这将在设置的延迟后永久关闭,则可以应用以下代码:
intled=13;// Pin 13 has an LED connected on most Arduino boards.unsignedlongDELAY_TIME =10000;// 10 secunsignedlongdelayStart =0;// the time the delay startedbooldelayRunning =false;// true if still waiting fordelay to finishvoidsetup(){pinMode(led, OUTPUT);// initialize the digital pin as an output.digitalWrite(led, HIGH);// turn led on// start delaydelayStart =millis(); delayRunning =true; }voidloop(){// check if delay has timed outif(delayRunning && ((millis() - delayStart) >= DELAY_TIME)) { delayRunning =false;// finished delay -- single shot, once onlydigitalWrite(led, LOW);// turn led off} }
如果您想要相同可编程定时器电路的离散设计版本,则可以选择此电路
Arduino可编程定时器电路所需的部件
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
- 定时器电路
+关注
关注
1文章
29浏览量
12914 - Arduino
+关注
关注
186文章
6452浏览量
185744 - 可编程定时器
+关注
关注
0文章
8浏览量
1757
发布评论请先登录
相关推荐
可编程计数器/定时器的相关资料分享
过程)■CPU干预■指令执行时间作间隔
2、不
可编程的硬件
定时方式(就像保险丝熔断
一样,并不是由程序控制的)■方式固定■硬件设定参数3、
可编程
发表于12-13 06:23
可编程定时器计数器8253
实验
可编程
定时器计数
器8253
一)实验目的掌握8253的基本工作原理和
编程方法。//www.hzfubeitong.com 德赢Vwin官网
发表于03-25 10:58
•
4049次阅读
微机原理—可编程计数器/定时器8253概念详解
过程)■CPU干预■指令执行时间作间隔
2、不
可编程的硬件
定时方式(就像保险丝熔断
一样,并不是由程序控制的)■方式固定■硬件设定参数3、
可编程
发表于11-26 20:51
•
12次下载
评论